PropertyUser Class Referenceabstract

Abstract PropertyUser class. More...

#include <ArmarXCore/core/application/properties/PropertyUser.h>

+ Inheritance diagram for PropertyUser:

Classes

struct  Impl
 

Public Member Functions

virtual PropertyDefinitionsPtr createPropertyDefinitions ()=0
 Creates the property definition container. More...
 
std::vector< std::string > getComponentProxyNames ()
 
Ice::PropertiesPtr getIceProperties () const
 Returns the set of Ice properties. More...
 
template<typename PropertyType >
Property< PropertyType > getProperty (const std::string &name)
 Property creation and retrieval. More...
 
template<typename PropertyType >
Property< PropertyType > getProperty (const std::string &name) const
 Hack to allow using getProperty in const-modified methods. More...
 
template<class T >
void getProperty (std::atomic< T > &val, const std::string &name) const
 
template<class T >
void getProperty (T &val, const std::string &name) const
 
template<class T >
std::vector< TgetPropertyAsCSV (const std::string &name, const std::string &splitBy=",;", bool trimElements=true, bool removeEmptyElements=true)
 
template<class ContainerT >
void getPropertyAsCSV (ContainerT &val, const std::string &name, const std::string &splitBy=",;", bool trimElements=true, bool removeEmptyElements=true)
 
PropertyDefinitionsPtr getPropertyDefinitions ()
 Returns the component's property definition container. More...
 
std::vector< std::string > getSubscribedTopicNames ()
 
std::vector< std::string > getTopicProxyNames ()
 
bool hasProperty (const std::string &name)
 
virtual void icePropertiesUpdated (const std::set< std::string > &changedProperties)
 This method is called when new Properties are set via setIceProperties(). More...
 
virtual void injectPropertyDefinitions (PropertyDefinitionsPtr &)
 Called after createPropertyDefinitions by Component to inject propertes of ComponentPlugin. More...
 
 PropertyUser ()
 
virtual void setIceProperties (Ice::PropertiesPtr properties)
 Sets the Ice properties. More...
 
bool tryAddProperty (const std::string &propertyName, const std::string &value)
 
virtual void updateIceProperties (const std::map< std::string, std::string > &changes)
 
void updateProperties ()
 
void updateProxies (IceManagerPtr)
 
 ~PropertyUser () override
 

Detailed Description

Abstract PropertyUser class.

PropertyUser provides the interface to create a PropertyDefinition as well as the access to each property which has been defined.

Properties can be updated by calling PropertyUser::setIceProperties(). A class inheriting from PropertyUser can react to property changes by overriding PropertyUser::propertiesUpdated();

Definition at line 62 of file PropertyUser.h.

Constructor & Destructor Documentation

◆ PropertyUser()

Definition at line 48 of file PropertyUser.cpp.

◆ ~PropertyUser()

~PropertyUser ( )
override

Definition at line 54 of file PropertyUser.cpp.

Member Function Documentation

◆ createPropertyDefinitions()

virtual PropertyDefinitionsPtr createPropertyDefinitions ( )
pure virtual

Creates the property definition container.

Note
Implement this factory function to create your own definitions.
Returns
Property definition container pointer

Implemented in ArVizInteractExample, KBMComponent, EmergencyStopNode< T >, ImageProcessor, Application, Simulator, Component, PrimitiveExtractor, TrajectoryPlayer, DenseCRFSegmentationProcessor, IEEE1394ImageProvider, ObstacleAvoidingPlatformUnit, RobotUnit, CoFusionProcessor, LaserScannerSelfLocalisation, ObstacleAwarePlatformUnit, ObjectLearningByPushing, TrajectoryControllerSubUnit, EmergencyStopMaster, OpenNIPointCloudProvider, RobotUnitSimulation, OpenPoseEstimation, GraspingManager, PointCloudSegmenter, PointCloudObjectLocalizer, KinematicUnitSimulation, KLGImageProvider, ObjectLocalizationSaliency, TCPControlUnit, MaskRCNNPointCloudObjectLocalizer, ImageSequenceProvider, TabletopSegmentation, SimpleRobotPlacement, MultiSensePointCloudProvider, ReflexCombination, KinectV2PointCloudProvider, ResultPointCloudProvider, LaserScannerSimulation, CollisionCheckerComponent, CropRobotFromImage, ConditionHandler, AffordanceExtraction, RobotStateComponent, Component, ATINetFTUnit, HapticObserver, AffordancePipelineVisualization, CalibrationCreator2, ImageSourceSelection, ViewSelection, HokuyoLaserUnit, PointCloudVisualization, DSObstacleAvoidance, HandUnit, ImageProviderDynamicSimulation, FrameTracking, VisualContactDetection, ArmarXSimulatorWindow, MMMSimulation, RemoteGuiExample2, DebugDrawerComponent, ResultImageFuser, MotionPlanningServer, KinematicUnit, ArmarXTimeserver, DMPComponent, StereoImagePointCloudProvider, SceneModifier, Component, RemoteObjectNode, KinectV1PointCloudProvider, RCPointCloudProvider, RobotIK, RTABMapRegistration, OpticalFlow, DeepFaceRecognition, StatechartContext, RGBDHandLocalizer, FaceRecognition, DHParameterOptimizationLogger, OrientedTactileSensorUnit, PointCloudRecorder, PrimitiveVisualization, KinematicUnitDynamicSimulation, SimpleGraspGenerator, XMLStateComponent, SkillsMemory, RCImageProvider, SegmentableTemplateRecognition, FakePointCloudProvider, PointCloudUtility, RobotHealth, OptoForceUnit, ObjectMemoryObserver, ObjectLocalizerProcessor, KinectAndCameraCalibration, IntelRealSenseProvider, TopicRecorderComponent, PlatformUnit, RobotPoseUnit, EntityDrawerComponent, FlyCaptureImageProvider, PointCloudFilter, PlannedMotionProvider, AzureKinectPointCloudProvider, KinematicSelfLocalization, NaturalIKTest, StereoCameraProvider, MaskFilterPointCloudProcessor, PointCloudToArViz, RobotHandLocalizationWithFingertips, UserAssistedSegmenter, ArmarXGuiApp, GamepadControlUnit, PrimitiveExtractionParameterTuning, ArmarXPhysicsWorldVisualization, PlatformContext, MMMPlayer, GamepadUnit, CommonPlacesLearner, DummyObjectLocalizer, XMLSceneImporter, RobotPoseUnitDynamicSimulation, RobotHealthDummy, ValveAttention, VoxelGridMappingProvider, SemanticRelationAnalyzer, ShapesSupportRelations, HumanObstacleDetection, SegmentRansacShapeExtractor, DummyAgentReporter, CalibrationCreator, OLPEvaluation, LaserScannerPointCloudProvider, LongtermMemory, ExternalApplicationManager, CyberGloveObserver, WorkingMemoryObjectPoseProvider, MultiImageProvider, BigBowlLocalization, ViconMarkerProvider, TCPControllerSubUnit, DummyArMarkerLocalizer, LabeledPointCloudMerger, ObjectLocalizationMemoryUpdater, SimulatorViewerApp, RemoteGuiProvider, KinematicUnitObserver, SimpleStatechartExecutor, DummyTextToSpeech, PlatformUnitObserver, MetaWearIMU, TrackingError, StaticAgentReporter, HeadIKUnit, MultiViewPointCloudProcessor, DummyWorldStateObserver, StreamDecoderImageProvider, SegmentAABBShapesProvider, SegmentSpatialRelations, FakeWorkingMemoryObjectLocalizer, HandUnitDynamicSimulation, SelfLocalization, KITProstheticHandUnit, InertialMeasurementUnit, UCLObjectRecognition, KITProstheticHandObserver, AffordanceUpdateListener, BlurrinessMetric, SegmentableObjectRecognition, LaserScannerFeatureExtraction, ForceTorqueObserver, ForceTorqueUnitSimulation, AbstractWorkingMemory, Component, AzureKinectIRImageProvider, SimoxSceneImporter, SemanticGraphStorage, RobotToArViz, TopicTimingClient, ForceTorqueUnit, WorkingMemory, WorkingMemoryToArViz, OpenCVImageStabilizer, EfficientRANSACPrimitiveExtractor, XsensIMU, TexturedObjectRecognition, RTUnit, CommonStorage, WebCamImageProvider, DebugDrawerToArVizComponent, RobotDefinition, RobotStatechartContext, ArMarkerExternalCameraCalibration, PingLoadTest, RobotNameService, StatechartExecutorExample, HandUnitSimulation, OpenPoseSimulation, BlobRecognition, SimulatorToArviz, RobotStateMemory, DebugObserver, DynamicObstacleManager, TopicTimingServer, PathPlanner, Component, ArVizExample, InertialMeasurementUnitObserver, ColorMarkerObjectLocalizer, LaserScannerObstacleDetection, Component, ObjectMemory, KITHandUnit, MultiHandUnit, OptoForceUnitObserver, RobotControl, SemanticGraphExample, ForceTorqueUnitDynamicSimulation, HapticUnit, OrientedTactileSensorUnitObserver, SimpleEpisodicMemoryImageConnector, Component, GamepadUnitObserver, PointCloudToArMem, SimpleEpisodicMemorySemanticGraphConnector, IMUSimulation, PlatformUnitDynamicSimulation, PythonApplicationManager, ExampleMemory, TopicReplayer, LaserScannerUnitObserver, PlatformUnitSimulation, RobotStateObserver, GraphNodePoseResolver, PlaybackImageProvider, FilterKnownObjects, DepthImageProviderDynamicSimulation, Component, ArMarkerLocalizerOpenCV, HandMarkerLocalization, RobotHandLocalizationDynamicSimulation, Component, MemoryNameSystem, ObjectPoseProviderExample, GraspCandidateObserver, MetaWearIMUObserver, TCPControlUnitObserver, PriorKnowledge, VideoFileImageProvider, Component, ExampleMemoryClient, Component, SimpleEpisodicMemoryKinematicUnitConnector, ArticulatedObjectLocalizerDynamicSimulation, LegacyRobotStateMemoryAdapter, AbstractLongtermMemory, Component, Component, SpeechObserver, GraspingManagerTest, WorkingMemoryUpdater, StreamProviderI, GraspSelectionCriterionBase, SimpleEpisodicMemoryPlatformUnitConnector, Component, GeneralPurposeMemory, ProfilerStorage, ArMarkerLocalizer, Component, Component, ArVizStorage, ik_demo, SkillProviderExample, CommonPlacesTester, SimpleEpisodicMemoryWorkingMemoryConnector, Component, ObjectInstanceToIndex, ObjectPoseClientExample, PriorKnowledgeImporter, ArmarXFileLogger, SimpleEpisodicMemory, WorldStateUpdaterBase, LaserScansMemory, MemoryGrapher, PersonMemoryDebugger, ObjectLocalizerDynamicSimulation, WeissHapticUnit, Component, Component, Component, IndexMemory, GraspablePredicateProvider, VirtualRobotReaderExampleClient, MotionMemory, Component, ArmarXObjectsImporter, HumanMemory, HapticUnitDynamicSimulation, GraspSelectionManager, PutAwayLocationPredicateProvider, ImageToArMem, SimpleEpisodicMemoryOpenPoseEstimationConnector, SimulationObjectPoseProvider, AronComponentConfigExample, ArMemToImageProvider, HandControlSkillProvider, PlatformControlSkillProvider, SubjectMemory, AgentAtPredicateProvider, ObjectAtPredicateProvider, VisionMemory, JointControlSkillProvider, TCPControlSkillProvider, VisualSearchSkillProvider, VisualServoTCPControlSkillProvider, WorkingMemoryExample, AStarPathPlannerTestComponent, GraspMemory, HandPredicateProvider, Component, GraspControlSkillProvider, PersonInstanceUpdater, SelfLocalizationDynamicSimulation, DummyCriterion, NaturalGraspFilter, BringObjectSkillProvider, RGBDPoseEstimationWithMemoryWriter, Component, ArticulatedObjectLocalizerExample, ArMemToPointCloudProvider, SystemStateMemory, Component, VirtualRobotWriterExample, JsonStorage, ReasoningMemory, LegacyRGBOpenPoseEstimation, LegacyRGBDOpenPoseEstimation, X11ScreenCaptureImageProvider, SimpleVirtualRobot, RGBDOpenPoseEstimation, GraspProviderExample, ObjectMemoryEditor, OpenNIImageProvider, ImageToPointCloud, FindAndGraspObjectContext, StreamReceiver, OptoForce, and ObjectShapeClassification.

+ Here is the caller graph for this function:

◆ getComponentProxyNames()

std::vector< std::string > getComponentProxyNames ( )

Definition at line 168 of file PropertyUser.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getIceProperties()

Ice::PropertiesPtr getIceProperties ( ) const

Returns the set of Ice properties.

Returns
Pointer to the Ice::Properties set.

Definition at line 229 of file PropertyUser.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getProperty() [1/4]

Property< PropertyType > getProperty ( const std::string &  name)

Property creation and retrieval.

Parameters
nameRequested property name (note: without prefix)
Returns
Property instance

Definition at line 179 of file PropertyUser.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getProperty() [2/4]

Property<PropertyType> getProperty ( const std::string &  name) const
inline

Hack to allow using getProperty in const-modified methods.

Definition at line 84 of file PropertyUser.h.

+ Here is the call graph for this function:

◆ getProperty() [3/4]

void getProperty ( std::atomic< T > &  val,
const std::string &  name 
) const
inline

Definition at line 204 of file PropertyUser.h.

◆ getProperty() [4/4]

void getProperty ( T val,
const std::string &  name 
) const
inline

Definition at line 189 of file PropertyUser.h.

+ Here is the call graph for this function:

◆ getPropertyAsCSV() [1/2]

std::vector< T > getPropertyAsCSV ( const std::string &  name,
const std::string &  splitBy = ",;",
bool  trimElements = true,
bool  removeEmptyElements = true 
)
inline

Definition at line 243 of file PropertyUser.h.

+ Here is the call graph for this function:

◆ getPropertyAsCSV() [2/2]

void getPropertyAsCSV ( ContainerT &  val,
const std::string &  name,
const std::string &  splitBy = ",;",
bool  trimElements = true,
bool  removeEmptyElements = true 
)
inline

Definition at line 211 of file PropertyUser.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getPropertyDefinitions()

PropertyDefinitionsPtr getPropertyDefinitions ( )

Returns the component's property definition container.

Returns
Property definition container

Definition at line 61 of file PropertyUser.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSubscribedTopicNames()

std::vector< std::string > getSubscribedTopicNames ( )

Definition at line 198 of file PropertyUser.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getTopicProxyNames()

std::vector< std::string > getTopicProxyNames ( )

Definition at line 183 of file PropertyUser.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hasProperty()

bool hasProperty ( const std::string &  name)

Definition at line 243 of file PropertyUser.cpp.

+ Here is the caller graph for this function:

◆ icePropertiesUpdated()

void icePropertiesUpdated ( const std::set< std::string > &  changedProperties)
virtual

This method is called when new Properties are set via setIceProperties().

Each class deriving from PropertyUser can overwrite this method in order to react to changed properties.

Reimplemented in Application.

Definition at line 221 of file PropertyUser.cpp.

+ Here is the caller graph for this function:

◆ injectPropertyDefinitions()

void injectPropertyDefinitions ( PropertyDefinitionsPtr )
virtual

Called after createPropertyDefinitions by Component to inject propertes of ComponentPlugin.

Reimplemented in Component.

Definition at line 82 of file PropertyUser.cpp.

+ Here is the caller graph for this function:

◆ setIceProperties()

void setIceProperties ( Ice::PropertiesPtr  properties)
virtual

Sets the Ice properties.

Parameters
propertiesIce Properties.

Reimplemented in Application.

Definition at line 89 of file PropertyUser.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ tryAddProperty()

bool tryAddProperty ( const std::string &  propertyName,
const std::string &  value 
)

Definition at line 209 of file PropertyUser.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateIceProperties()

void updateIceProperties ( const std::map< std::string, std::string > &  changes)
virtual

Definition at line 115 of file PropertyUser.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateProperties()

void updateProperties ( )

Definition at line 154 of file PropertyUser.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateProxies()

void updateProxies ( IceManagerPtr  ice_manager)

Definition at line 161 of file PropertyUser.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

The documentation for this class was generated from the following files: