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";
93 armarx::FramedPoseBasePtr
95 const ::Ice::Current& = Ice::emptyCurrent)
override;
97 const std::string& nodeParentName,
100 const ::Ice::Current& = Ice::emptyCurrent)
override;
103 const std::string& nodeParentName,
106 const ::Ice::Current& = Ice::emptyCurrent)
override;
108 const std::string& nodeParentName,
109 const armarx::FramedPoseBasePtr& pose,
110 const ::Ice::Current& = Ice::emptyCurrent)
override;
112 const std::string& nodeParentName,
113 const armarx::FramedPoseBasePtr& pose,
114 const ::Ice::Current& = Ice::emptyCurrent)
override;
117 const ::Ice::Current& = Ice::emptyCurrent)
override;
120 const ::Ice::Current& = Ice::emptyCurrent)
override;
123 const ::Ice::Current& = Ice::emptyCurrent)
override;
148 const GraphNodeBasePtr& node);
151 struct CachedNodeInfo
155 std::vector<std::string> parents;
158 CachedNodeInfo getCacheEntry(
const std::string& nodeId);
159 GraphNodeBasePtr getNearestNodeToPoseImpl(
const std::string& sceneName,
160 const std::string& nodeParentName,
161 const Eigen::Matrix4f& pose,
162 bool ignoreOrientation =
false,
163 bool ignoreParent =
false);
165 memoryx::PriorKnowledgeInterfacePrx prior;
166 memoryx::WorkingMemoryInterfacePrx
wm;
169 memoryx::ObjectInstanceMemorySegmentBasePrx objectInstances;
170 memoryx::GraphMemorySegmentBasePrx graphSegment;
172 std::map<std::string, std::map<std::string, armarx::FramedPositionPtr>>
173 relativePlacesettingPositions;
174 std::map<std::string, CachedNodeInfo> nodeInfoCache;
175 std::map<std::string, GraphNodeBaseList> sceneNodesCache;
177 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
static std::string GetDefaultName()
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