diff --git a/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseClientPlugin.cpp b/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseClientPlugin.cpp index a50a17849061313b180b31fb851f1a0b19a88fd4..b12572855775c7c9f3f11f4f2d571da7ff36a14f 100644 --- a/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseClientPlugin.cpp +++ b/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseClientPlugin.cpp @@ -20,7 +20,7 @@ namespace armarx::plugins void ObjectPoseClientPlugin::preOnConnectComponent() { - parent<ObjectPoseClientPluginUser>().ObjectPoseStorage = createObjectPoseStorage(); + parent<ObjectPoseClientPluginUser>().objectPoseStorage = createObjectPoseStorage(); } objpose::ObjectPoseStorageInterfacePrx ObjectPoseClientPlugin::createObjectPoseStorage() @@ -54,12 +54,12 @@ namespace armarx objpose::ObjectPoseSeq ObjectPoseClientPluginUser::getObjectPoses() { - if (!ObjectPoseStorage) + if (!objectPoseStorage) { ARMARX_WARNING << "No object pose observer."; return {}; } - return objpose::fromIce(ObjectPoseStorage->getObjectPoses()); + return objpose::fromIce(objectPoseStorage->getObjectPoses()); } plugins::ObjectPoseClientPlugin& ObjectPoseClientPluginUser::getObjectPoseClientPlugin() diff --git a/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseClientPlugin.h b/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseClientPlugin.h index a832236ea09bd7f752df13b928b36e62c981e06b..996f699acd35dd50afa095f3bdaa66d9d2a7e061 100644 --- a/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseClientPlugin.h +++ b/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseClientPlugin.h @@ -11,6 +11,7 @@ namespace armarx::plugins class ObjectPoseClientPlugin : public ComponentPlugin { public: + using ComponentPlugin::ComponentPlugin; void postCreatePropertyDefinitions(PropertyDefinitionsPtr& properties) override; @@ -37,13 +38,16 @@ namespace armarx::plugins const ObjectFinder& setObjectFinderPath(const std::string& path); const ObjectFinder& getObjectFinder() const; + private: + void preOnInitComponent() override; void preOnConnectComponent() override; static constexpr const char* PROPERTY_NAME = "ObjectMemoryName"; ObjectFinder _finder; + }; } @@ -56,13 +60,14 @@ namespace armarx virtual public ManagedIceObject { public: + /// Allow usage like: ObjectPoseClient::getObjects() using ObjectPoseClient = ObjectPoseClientPluginUser; ObjectPoseClientPluginUser(); objpose::ObjectPoseStorageInterfacePrx createObjectPoseStorage(); - objpose::ObjectPoseStorageInterfacePrx ObjectPoseStorage; + objpose::ObjectPoseStorageInterfacePrx objectPoseStorage; objpose::ObjectPoseSeq getObjectPoses(); @@ -70,7 +75,11 @@ namespace armarx const plugins::ObjectPoseClientPlugin& getObjectPoseClientPlugin() const; const ObjectFinder& getObjectFinder() const; + + private: + armarx::plugins::ObjectPoseClientPlugin* plugin = nullptr; + }; } diff --git a/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseProviderPlugin.h b/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseProviderPlugin.h index 332064711b688d0e81969f3d1cc2ced472d817b1..2f7c87ef560cad2e4a0b20257387f52b8bd6835d 100644 --- a/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseProviderPlugin.h +++ b/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseProviderPlugin.h @@ -11,6 +11,7 @@ namespace armarx::plugins class ObjectPoseProviderPlugin : public ComponentPlugin { public: + using ComponentPlugin::ComponentPlugin; void postCreatePropertyDefinitions(PropertyDefinitionsPtr& properties) override; @@ -52,6 +53,7 @@ namespace armarx objpose::ObjectPoseTopicPrx objectPoseTopic; + private: armarx::plugins::ObjectPoseProviderPlugin* plugin = nullptr;