25 class CHierarchicalMHMap;
144 typedef std::map<CHMHMapNode::TNodeID, std::shared_ptr<CHMHMapNode>>
TNodeList;
147 typedef std::pair<CHMHMapNode::TNodeID, CHMHMapNode::TNodeID>
TPairNodeIDs;
void getArcs(TArcList &out) const
Returns a list with the arcs from/to this node.
An arbitrary list of "annotations", or named attributes, each being an instance of any CSerializable ...
The virtual base class which provides a unified interface for all persistent objects in MRPT...
utils::CMHPropertiesValuesList m_annotations
The annotations of the node, see the general description of the class for possible properties and val...
mrpt::utils::safe_ptr< CHierarchicalMHMap > m_parent
The hierarchical graph in which this object is into.
void onArcAddition(const std::shared_ptr< CHMHMapArc > &arc)
Event handler for arc addition: It should be only called for arcs from/to this node, although other cases have no effects.
int64_t THypothesisID
An integer number uniquely identifying each of the concurrent hypotheses for the robot topological pa...
std::pair< CHMHMapNode::TNodeID, CHMHMapNode::TNodeID > TPairNodeIDs
mrpt::utils::list_searchable< CHMHMapNode::TNodeID > TNodeIDList
uint64_t TNodeID
The type for node IDs in graphs of different types.
utils::CTypeSelector m_nodeType
The type of the node, the possibilities are:
A set of hypothesis IDs, used for arcs and nodes in multi-hypothesis hybrid maps. ...
TArcList m_arcs
The list of all arcs from/to this node:
unsigned int getLevelInTheHierarchy()
Returns the level of this node in the hierarchy of arcs "arcType_Belongs", where level=0 is the groun...
GLsizei const GLchar ** string
bool isNeighbor(const TNodeID &otherArea, const THypothesisID &hyp_id) const
Check whether an arc exists towards the given area.
virtual ~CHMHMapNode()
Destructor.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
This class represents a std::string derived class which is also CSerializable.
std::set< CHMHMapNode::TNodeID > TNodeIDSet
The most high level class for storing hybrid, multi-hypothesis maps in a graph-based model...
TNodeID getID() const
Reads the ID of the node (read-only property)
A class for representing an arc between two nodes in a hierarchical, multi-hypothesis map...
CHMHMapNode(CHierarchicalMHMap *parent=nullptr, const THypothesisIDSet &hyps=THypothesisIDSet())
Constructor.
std::map< CHMHMapNode::TNodeID, std::shared_ptr< CHMHMapNode > > TNodeList
A map between node IDs and nodes (used in HMT-SLAM).
unsigned int getRelatedArcsCount()
Returns the number of arcs starting from/ending into this node.
friend class CHierarchicalMHMapPartition
THypothesisIDSet m_hypotheses
The hypothesis IDs under which this node exists.
A class for storing a sequence of arcs (a path).
TNodeID m_ID
An unique identifier for the node: it is randomly generated at construction or read from stream when ...
A class for representing a node in a hierarchical, multi-hypothesis map.
std::string m_label
The label of the node, only for display it to the user.
A wrapper class for pointers that can be safely copied with "=" operator without problems.
mrpt::utils::TNodeID TNodeID
The type of the IDs of nodes.
void onArcDestruction(CHMHMapArc *arc)
Event handler for arc destruction: It should be only called for arcs from/to this node...