Skip to content
Snippets Groups Projects
Commit edc4a2d3 authored by Rainer Kartmann's avatar Rainer Kartmann
Browse files

Allow using the ObjectPoseClient plugin without being user

parent f7d5f7d2
No related branches found
No related tags found
No related merge requests found
......@@ -23,7 +23,7 @@ namespace armarx::plugins
void ObjectPoseClientPlugin::preOnConnectComponent()
{
parent<ObjectPoseClientPluginUser>().objectPoseStorage = createObjectPoseStorage();
_objectPoseStorage = createObjectPoseStorage();
}
objpose::ObjectPoseStorageInterfacePrx ObjectPoseClientPlugin::createObjectPoseStorage()
......@@ -63,23 +63,18 @@ namespace armarx
objpose::ObjectPoseClient ObjectPoseClientPluginUser::getClient() const
{
return objpose::ObjectPoseClient(objectPoseStorage, getObjectFinder());
return plugin->createClient();
}
objpose::ObjectPoseSeq ObjectPoseClientPluginUser::getObjectPoses()
{
if (!objectPoseStorage)
{
ARMARX_WARNING << "No object pose observer.";
return {};
}
return objpose::fromIce(objectPoseStorage->getObjectPoses());
return getClient().fetchObjectPoses();
}
objpose::ObjectPoseSeq ObjectPoseClientPluginUser::getObjectPosesByProvider(const std::string& providerName)
{
return objpose::ObjectPoseClient(objectPoseStorage, getObjectFinder()).fetchObjectPosesFromProvider(providerName);
return getClient().fetchObjectPosesFromProvider(providerName);
}
......
......@@ -16,9 +16,7 @@ namespace armarx::plugins
using ComponentPlugin::ComponentPlugin;
void postCreatePropertyDefinitions(PropertyDefinitionsPtr& properties) override;
objpose::ObjectPoseStorageInterfacePrx createObjectPoseStorage();
objpose::ObjectPoseClient createClient();
template<class...Ts>
......@@ -45,12 +43,15 @@ namespace armarx::plugins
private:
void postCreatePropertyDefinitions(PropertyDefinitionsPtr& properties) override;
void preOnInitComponent() override;
void preOnConnectComponent() override;
static constexpr const char* PROPERTY_NAME = "ObjectMemoryName";
ObjectFinder _finder;
objpose::ObjectPoseStorageInterfacePrx _objectPoseStorage;
};
}
......@@ -73,12 +74,8 @@ namespace armarx
ObjectPoseClientPluginUser();
objpose::ObjectPoseStorageInterfacePrx createObjectPoseStorage();
objpose::ObjectPoseStorageInterfacePrx objectPoseStorage;
objpose::ObjectPoseClient getClient() const;
objpose::ObjectPoseStorageInterfacePrx createObjectPoseStorage();
objpose::ObjectPoseSeq getObjectPoses();
objpose::ObjectPoseSeq getObjectPosesByProvider(const std::string& providerName);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment