31#include <RobotAPI/interface/core/RobotState.h>
37#include <MemoryX/interface/components/GraphNodePoseResolverInterface.h>
51 "Name of the WorkingMemory that should be used");
53 "RobotStateComponentName",
54 "RobotStateComponent",
55 "Name of the RobotStateComponent that should be used");
66 virtual public GraphNodePoseResolverInterface,
78 return "GraphNodePoseResolver";
91 armarx::FramedPoseBasePtr
93 const ::Ice::Current& = Ice::emptyCurrent)
override;
95 const std::string& nodeParentName,
98 const ::Ice::Current& = Ice::emptyCurrent)
override;
101 const std::string& nodeParentName,
104 const ::Ice::Current& = Ice::emptyCurrent)
override;
106 const std::string& nodeParentName,
107 const armarx::FramedPoseBasePtr& pose,
108 const ::Ice::Current& = Ice::emptyCurrent)
override;
110 const std::string& nodeParentName,
111 const armarx::FramedPoseBasePtr& pose,
112 const ::Ice::Current& = Ice::emptyCurrent)
override;
115 const ::Ice::Current& = Ice::emptyCurrent)
override;
118 const ::Ice::Current& = Ice::emptyCurrent)
override;
121 const ::Ice::Current& = Ice::emptyCurrent)
override;
146 const GraphNodeBasePtr& node);
149 struct CachedNodeInfo
153 std::vector<std::string> parents;
156 CachedNodeInfo getCacheEntry(
const std::string& nodeId);
157 GraphNodeBasePtr getNearestNodeToPoseImpl(
const std::string& sceneName,
158 const std::string& nodeParentName,
159 const Eigen::Matrix4f& pose,
160 bool ignoreOrientation =
false,
161 bool ignoreParent =
false);
163 memoryx::PriorKnowledgeInterfacePrx prior;
164 memoryx::WorkingMemoryInterfacePrx
wm;
167 memoryx::ObjectInstanceMemorySegmentBasePrx objectInstances;
168 memoryx::GraphMemorySegmentBasePrx graphSegment;
170 std::map<std::string, std::map<std::string, armarx::FramedPositionPtr>>
171 relativePlacesettingPositions;
172 std::map<std::string, CachedNodeInfo> nodeInfoCache;
173 std::map<std::string, GraphNodeBaseList> sceneNodesCache;
175 std::recursive_mutex cacheMutex;
Default component property definition container.
ComponentPropertyDefinitions(std::string prefix, bool hasObjectNameParameter=true)
Baseclass for all ArmarX ManagedIceObjects requiring properties.
std::string getConfigIdentifier()
Retrieve config identifier for this component as set in constructor.
std::string prefix
Prefix of the properties such as namespace, domain, component name, etc.
PropertyDefinition< PropertyType > & defineOptionalProperty(const std::string &name, PropertyType defaultValue, const std::string &description="", PropertyDefinitionBase::PropertyConstness constness=PropertyDefinitionBase::eConstant)
GraphNodePoseResolverPropertyDefinitions(std::string prefix)
void onInitComponent() override
GraphNodeBasePtr getNearestRobotLocationNode(const GraphNodeBasePtr &node, const ::Ice::Current &=Ice::emptyCurrent) override
GraphNodeBasePtr getNearestNodeToPosition(const std::string &sceneName, const std::string &nodeParentName, ::Ice::Float x, ::Ice::Float y, const ::Ice::Current &=Ice::emptyCurrent) override
GraphNodeBasePtr getNearestNodeToPose(const std::string &sceneName, const std::string &nodeParentName, const armarx::FramedPoseBasePtr &pose, const ::Ice::Current &=Ice::emptyCurrent) override
armarx::FramedPosePtr getRelativeNodePositionForObject(const std::string &objectClassName, const GraphNodeBasePtr &node)
void onDisconnectComponent() override
armarx::FramedPoseBasePtr resolveToGlobalPose(const GraphNodeBasePtr &node, const ::Ice::Current &=Ice::emptyCurrent) override
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
std::string getNearestNodeIdToPose(const std::string &sceneName, const std::string &nodeParentName, const armarx::FramedPoseBasePtr &pose, const ::Ice::Current &=Ice::emptyCurrent) override
void forceRefetch(const std::string &nodeId, const ::Ice::Current &=Ice::emptyCurrent) override
void onConnectComponent() override
std::string getNearestRobotLocationNodeId(const GraphNodeBasePtr &node, const ::Ice::Current &=Ice::emptyCurrent) override
void forceRefetchForAll(const ::Ice::Current &=Ice::emptyCurrent) override
void onExitComponent() override
std::string getDefaultName() const override
std::string getNearestNodeIdToPosition(const std::string &sceneName, const std::string &nodeParentName, ::Ice::Float x, ::Ice::Float y, const ::Ice::Current &=Ice::emptyCurrent) override
This file offers overloads of toIce() and fromIce() functions for STL container types.
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
::IceInternal::ProxyHandle<::IceProxy::armarx::RobotStateComponentInterface > RobotStateComponentInterfacePrx
IceInternal::Handle< FramedPose > FramedPosePtr
IceInternal::Handle< GraphNodePoseResolver > GraphNodePoseResolverPtr
IceInternal::Handle< GraphNode > GraphNodePtr