Main MRPT website > C++ reference
MRPT logo
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Friends
mrpt::hmtslam::CHMHMapArc Class Reference

Detailed Description

A class for representing an arc between two nodes in a hierarchical, multi-hypothesis map.

The arc itself will be considered only if some given hypothesisID matchs its own ID.

Note:
Create objects by invoking the class factory "::Create"
See also:
CHierarchicalMHMap,CHMHMapNode

#include <mrpt/hmtslam/CHMHMapArc.h>

Inheritance diagram for mrpt::hmtslam::CHMHMapArc:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual ~CHMHMapArc ()
 Destructor.
CHMHMapNode::TNodeID getNodeFrom () const
 Return the starting node of the arc:
CHMHMapNode::TNodeID getNodeTo () const
 Return the ending node of the arc:
mrpt::utils::CObjectPtr duplicateGetSmartPtr () const
 Returns a copy of the object, indepently of its class, as a smart pointer (the newly created object will exist as long as any copy of this smart pointer).
CObjectclone () const
 Cloning interface for smart pointers.

Static Public Member Functions

static CHMHMapArcPtr Create (const CHMHMapNode::TNodeID &from, const CHMHMapNode::TNodeID &to, const THypothesisIDSet &hyps=THypothesisIDSet(), CHierarchicalMHMap *parent=NULL)
 Constructor from node IDs.
static CHMHMapArcPtr Create (CHMHMapNodePtr &from, CHMHMapNodePtr &to, const THypothesisIDSet &hyps, CHierarchicalMHMap *parent)
 Alternative constructor, using pointers for convenience.

Public Attributes

THypothesisIDSet m_hypotheses
 The hypothesis IDs under which this arc exists.
utils::CTypeSelector m_arcType
 The type of the arc, the possibilities are:
utils::CMHPropertiesValuesList m_annotations
 The annotations of the arc, see the general description of the class for possible properties and values.

Static Public Attributes

static const
mrpt::utils::TRuntimeClassId 
classCObject

Protected Member Functions

void onNodeDestruction (CHMHMapNode *node)
 Event handler to be called just before a node is being destroyed: it should be called only for nodes involved in the arc, altought other cases must be handled without effects When a node involved in the arc is delected, the corresponding pointer in the arc will be set to NULL and the arc is no longer a valid one.
virtual void writeToStream (mrpt::utils::CStream &out, int *getVersion) const =0
 Introduces a pure virtual method responsible for writing to a CStream.
virtual void readFromStream (mrpt::utils::CStream &in, int version)=0
 Introduces a pure virtual method responsible for loading from a CStream This can not be used directly be users, instead use "stream >> object;" for reading it from a stream or "stream >> object_ptr;" if the class is unknown apriori.

Protected Attributes

CHMHMapNode::TNodeID m_nodeFrom
 The origin/target nodes for this arc.
CHMHMapNode::TNodeID m_nodeTo
safe_ptr< CHierarchicalMHMapm_parent
 The hierarchical graph in which this object is into.

Private Member Functions

 CHMHMapArc (const CHMHMapNode::TNodeID &from=0, const CHMHMapNode::TNodeID &to=0, const THypothesisIDSet &hyps=THypothesisIDSet(), CHierarchicalMHMap *parent=NULL)
 Private constructor (see ::Create class factory)
 CHMHMapArc (CHMHMapNodePtr &from, CHMHMapNodePtr &to, const THypothesisIDSet &hyps, CHierarchicalMHMap *parent)
 Alternative constructor, using pointers for convenience.

Friends

class HMTSLAM_IMPEXP CHierarchicalMHMap
class HMTSLAM_IMPEXP CHMHMapNode
class HMTSLAM_IMPEXP CHierarchicalMapMHPartition
class TArcList

RTTI stuff

class mrpt::utils::CStream
static const
mrpt::utils::TRuntimeClassId 
classCSerializable

RTTI stuff

typedef CHMHMapArcPtr SmartPtr
static mrpt::utils::CLASSINIT _init_CHMHMapArc
static mrpt::utils::TRuntimeClassId classCHMHMapArc
static const
mrpt::utils::TRuntimeClassId
classinfo
static const
mrpt::utils::TRuntimeClassId
_GetBaseClass ()
virtual const
mrpt::utils::TRuntimeClassId
GetRuntimeClass () const
 Returns information about the class of an object in runtime.
virtual mrpt::utils::CObjectduplicate () const
 Returns a copy of the object, indepently of its class.
static mrpt::utils::CObjectCreateObject ()
static CHMHMapArcPtr Create ()

Member Typedef Documentation

A typedef for the associated smart pointer

Definition at line 59 of file CHMHMapArc.h.


Constructor & Destructor Documentation

mrpt::hmtslam::CHMHMapArc::CHMHMapArc ( const CHMHMapNode::TNodeID from = 0,
const CHMHMapNode::TNodeID to = 0,
const THypothesisIDSet hyps = THypothesisIDSet(),
CHierarchicalMHMap parent = NULL 
) [private]

Private constructor (see ::Create class factory)

mrpt::hmtslam::CHMHMapArc::CHMHMapArc ( CHMHMapNodePtr from,
CHMHMapNodePtr to,
const THypothesisIDSet hyps,
CHierarchicalMHMap parent 
) [private]

Alternative constructor, using pointers for convenience.

virtual mrpt::hmtslam::CHMHMapArc::~CHMHMapArc ( ) [virtual]

Destructor.


Member Function Documentation

static const mrpt::utils::TRuntimeClassId* mrpt::hmtslam::CHMHMapArc::_GetBaseClass ( ) [static, protected]

Reimplemented from mrpt::utils::CSerializable.

CObject* mrpt::utils::CObject::clone ( ) const [inline, inherited]

Cloning interface for smart pointers.

Reimplemented in mrpt::opengl::CRenderizable, and mrpt::opengl::CRenderizableDisplayList.

Definition at line 154 of file CObject.h.

static CHMHMapArcPtr mrpt::hmtslam::CHMHMapArc::Create ( ) [static]
static CHMHMapArcPtr mrpt::hmtslam::CHMHMapArc::Create ( const CHMHMapNode::TNodeID from,
const CHMHMapNode::TNodeID to,
const THypothesisIDSet hyps = THypothesisIDSet(),
CHierarchicalMHMap parent = NULL 
) [static]

Constructor from node IDs.

static CHMHMapArcPtr mrpt::hmtslam::CHMHMapArc::Create ( CHMHMapNodePtr from,
CHMHMapNodePtr to,
const THypothesisIDSet hyps,
CHierarchicalMHMap parent 
) [static]

Alternative constructor, using pointers for convenience.

static mrpt::utils::CObject* mrpt::hmtslam::CHMHMapArc::CreateObject ( ) [static]
virtual mrpt::utils::CObject* mrpt::hmtslam::CHMHMapArc::duplicate ( ) const [virtual]

Returns a copy of the object, indepently of its class.

Implements mrpt::utils::CObject.

mrpt::utils::CObjectPtr mrpt::utils::CObject::duplicateGetSmartPtr ( ) const [inline, inherited]

Returns a copy of the object, indepently of its class, as a smart pointer (the newly created object will exist as long as any copy of this smart pointer).

Definition at line 151 of file CObject.h.

CHMHMapNode::TNodeID mrpt::hmtslam::CHMHMapArc::getNodeFrom ( ) const [inline]

Return the starting node of the arc:

Definition at line 121 of file CHMHMapArc.h.

References ASSERT_, and AREAID_INVALID.

CHMHMapNode::TNodeID mrpt::hmtslam::CHMHMapArc::getNodeTo ( ) const [inline]

Return the ending node of the arc:

Definition at line 125 of file CHMHMapArc.h.

References ASSERT_, and AREAID_INVALID.

virtual const mrpt::utils::TRuntimeClassId* mrpt::hmtslam::CHMHMapArc::GetRuntimeClass ( ) const [virtual]

Returns information about the class of an object in runtime.

Reimplemented from mrpt::utils::CSerializable.

void mrpt::hmtslam::CHMHMapArc::onNodeDestruction ( CHMHMapNode node) [protected]

Event handler to be called just before a node is being destroyed: it should be called only for nodes involved in the arc, altought other cases must be handled without effects When a node involved in the arc is delected, the corresponding pointer in the arc will be set to NULL and the arc is no longer a valid one.

virtual void mrpt::utils::CSerializable::readFromStream ( mrpt::utils::CStream in,
int  version 
) [protected, pure virtual, inherited]

Introduces a pure virtual method responsible for loading from a CStream This can not be used directly be users, instead use "stream >> object;" for reading it from a stream or "stream >> object_ptr;" if the class is unknown apriori.

Parameters:
inThe input binary stream where the object data must read from.
versionThe version of the object stored in the stream: use this version number in your code to know how to read the incoming data.
Exceptions:
std::exceptionOn any error, see CStream::ReadBuffer
See also:
CStream

Implemented in mrpt::math::CMatrixD, and mrpt::math::CMatrix.

virtual void mrpt::utils::CSerializable::writeToStream ( mrpt::utils::CStream out,
int *  getVersion 
) const [protected, pure virtual, inherited]

Introduces a pure virtual method responsible for writing to a CStream.

This can not be used directly be users, instead use "stream << object;" for writing it to a stream.

Parameters:
outThe output binary stream where object must be dumped.
getVersionIf NULL, the object must be dumped. If not, only the version of the object dump must be returned in this pointer. This enables the versioning of objects dumping and backward compatibility with previously stored data.
Exceptions:
std::exceptionOn any error, see CStream::WriteBuffer
See also:
CStream

Implemented in mrpt::math::CMatrixD, and mrpt::math::CMatrix.


Friends And Related Function Documentation

friend class HMTSLAM_IMPEXP CHierarchicalMapMHPartition [friend]

Definition at line 55 of file CHMHMapArc.h.

friend class HMTSLAM_IMPEXP CHierarchicalMHMap [friend]

Definition at line 53 of file CHMHMapArc.h.

friend class HMTSLAM_IMPEXP CHMHMapNode [friend]

Definition at line 54 of file CHMHMapArc.h.

friend class mrpt::utils::CStream [friend, inherited]
friend class TArcList [friend]

Definition at line 56 of file CHMHMapArc.h.


Member Data Documentation

Definition at line 59 of file CHMHMapArc.h.

Definition at line 59 of file CHMHMapArc.h.

Definition at line 139 of file CObject.h.

Definition at line 56 of file CSerializable.h.

Definition at line 59 of file CHMHMapArc.h.

The annotations of the arc, see the general description of the class for possible properties and values.

Definition at line 136 of file CHMHMapArc.h.

The type of the arc, the possibilities are:

  • "Membership": for abstractions
  • "Navegability"
  • "RelativePose"

Definition at line 132 of file CHMHMapArc.h.

The hypothesis IDs under which this arc exists.

Definition at line 64 of file CHMHMapArc.h.

The origin/target nodes for this arc.

Definition at line 69 of file CHMHMapArc.h.

Definition at line 69 of file CHMHMapArc.h.

The hierarchical graph in which this object is into.

Definition at line 73 of file CHMHMapArc.h.




Page generated by Doxygen 1.7.5 for MRPT 0.9.5 SVN: at Thu Oct 13 21:25:36 UTC 2011