22 class CHierarchicalMHMap;
141 using TNodeList = std::map<CHMHMapNode::TNodeID, std::shared_ptr<CHMHMapNode>>;
144 using TPairNodeIDs = std::pair<CHMHMapNode::TNodeID, CHMHMapNode::TNodeID>;
void getArcs(TArcList &out) const
Returns a list with the arcs from/to this node.
std::map< CHMHMapNode::TNodeID, std::shared_ptr< CHMHMapNode > > TNodeList
A map between node IDs and nodes (used in HMT-SLAM).
mrpt::safe_ptr< CHierarchicalMHMap > m_parent
The hierarchical graph in which this object is into.
mrpt::graphs::TNodeID TNodeID
The type of the IDs of nodes.
Classes related to the implementation of Hybrid Metric Topological (HMT) SLAM.
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.
std::string m_nodeType
The type of the node, the possibilities are:
~CHMHMapNode() override
Destructor.
std::set< CHMHMapNode::TNodeID > TNodeIDSet
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...
A wrapper class for pointers that can be safely copied with "=" operator without problems.
CMHPropertiesValuesList m_annotations
The annotations of the node, see the general description of the class for possible properties and val...
std::pair< CHMHMapNode::TNodeID, CHMHMapNode::TNodeID > TPairNodeIDs
GLsizei const GLchar ** string
bool isNeighbor(const TNodeID &otherArea, const THypothesisID &hyp_id) const
Check whether an arc exists towards the given area.
int64_t THypothesisID
An integer number uniquely identifying each of the concurrent hypotheses for the robot topological pa...
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
The most high level class for storing hybrid, multi-hypothesis maps in a graph-based model...
The virtual base class which provides a unified interface for all persistent objects in MRPT...
An arbitrary list of "annotations", or named attributes, each being an instance of any CSerializable ...
uint64_t TNodeID
A generic numeric type for unique IDs of nodes or entities.
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.
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.
void onArcDestruction(CHMHMapArc *arc)
Event handler for arc destruction: It should be only called for arcs from/to this node...