Main MRPT website > C++ reference for MRPT 1.5.6
List of all members | 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

Definition at line 29 of file CHMHMapArc.h.

#include <mrpt/hmtslam/CHMHMapArc.h>

Inheritance diagram for mrpt::hmtslam::CHMHMapArc:
Inheritance graph

Public Member Functions

voidoperator new (size_t size)
 
voidoperator new[] (size_t size)
 
void operator delete (void *ptr) throw ()
 
void operator delete[] (void *ptr) throw ()
 
void operator delete (void *memory, void *ptr) throw ()
 
voidoperator new (size_t size, const std::nothrow_t &) throw ()
 
void operator delete (void *ptr, const std::nothrow_t &) throw ()
 
virtual ~CHMHMapArc ()
 Destructor. More...
 
CHMHMapNode::TNodeID getNodeFrom () const
 Return the starting node of the arc: More...
 
CHMHMapNode::TNodeID getNodeTo () const
 Return the ending node of the arc: More...
 
virtual mxArraywriteToMatlab () const
 Introduces a pure virtual method responsible for writing to a mxArray Matlab object, typically a MATLAB struct whose contents are documented in each derived class. More...
 
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). More...
 
CObjectclone () const
 Cloning interface for smart pointers. More...
 

Static Public Member Functions

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

Public Attributes

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

Static Public Attributes

static const mrpt::utils::TRuntimeClassId classCObject
 
RTTI stuff
static const mrpt::utils::TRuntimeClassId classCSerializable
 

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. More...
 
CSerializable virtual methods
void writeToStream (mrpt::utils::CStream &out, int *getVersion) const
 Introduces a pure virtual method responsible for writing to a CStream. More...
 
void readFromStream (mrpt::utils::CStream &in, int version)
 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. More...
 

Protected Attributes

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

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) More...
 
 CHMHMapArc (CHMHMapNodePtr &from, CHMHMapNodePtr &to, const THypothesisIDSet &hyps, CHierarchicalMHMap *parent)
 Alternative constructor, using pointers for convenience. More...
 

Friends

class CHierarchicalMHMap
 
class CHMHMapNode
 
class CHierarchicalMapMHPartition
 
class TArcList
 

RTTI stuff

typedef CHMHMapArcPtr Ptr
 
typedef CHMHMapArcPtr ConstPtr
 
static mrpt::utils::CLASSINIT _init_CHMHMapArc
 
static mrpt::utils::TRuntimeClassId classCHMHMapArc
 
static const mrpt::utils::TRuntimeClassIdclassinfo
 
static const mrpt::utils::TRuntimeClassId_GetBaseClass ()
 
virtual const mrpt::utils::TRuntimeClassIdGetRuntimeClass () const
 Returns information about the class of an object in runtime. More...
 
virtual mrpt::utils::CObjectduplicate () const
 Returns a copy of the object, indepently of its class. More...
 
static mrpt::utils::CObjectCreateObject ()
 
static CHMHMapArcPtr Create ()
 

Member Typedef Documentation

◆ ConstPtr

typedef CHMHMapArcPtr mrpt::hmtslam::CHMHMapArc::ConstPtr

Definition at line 37 of file CHMHMapArc.h.

◆ Ptr

typedef CHMHMapArcPtr mrpt::hmtslam::CHMHMapArc::Ptr

A typedef for the associated smart pointer

Definition at line 37 of file CHMHMapArc.h.

Constructor & Destructor Documentation

◆ CHMHMapArc() [1/2]

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)

Definition at line 21 of file CHMHMapArc.cpp.

Referenced by Create().

◆ CHMHMapArc() [2/2]

CHMHMapArc::CHMHMapArc ( CHMHMapNodePtr &  from,
CHMHMapNodePtr &  to,
const THypothesisIDSet hyps,
CHierarchicalMHMap parent 
)
private

Alternative constructor, using pointers for convenience.

Definition at line 61 of file CHMHMapArc.cpp.

References m_nodeFrom, and m_nodeTo.

◆ ~CHMHMapArc()

CHMHMapArc::~CHMHMapArc ( )
virtual

Destructor.

Definition at line 102 of file CHMHMapArc.cpp.

References m_nodeFrom, m_nodeTo, and m_parent.

Member Function Documentation

◆ _GetBaseClass()

static const mrpt::utils::TRuntimeClassId* mrpt::hmtslam::CHMHMapArc::_GetBaseClass ( )
staticprotected

◆ clone()

CObject* mrpt::utils::CObject::clone ( ) const
inlineinherited

Cloning interface for smart pointers.

Definition at line 143 of file CObject.h.

◆ Create() [1/3]

static CHMHMapArcPtr mrpt::hmtslam::CHMHMapArc::Create ( )
static

◆ Create() [2/3]

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

◆ Create() [3/3]

CHMHMapArcPtr CHMHMapArc::Create ( CHMHMapNodePtr &  from,
CHMHMapNodePtr &  to,
const THypothesisIDSet hyps,
CHierarchicalMHMap parent 
)
static

Alternative constructor, using pointers for convenience.

Definition at line 80 of file CHMHMapArc.cpp.

References CHMHMapArc(), and mrpt::hmtslam::CHierarchicalMHMap::onArcAddition().

◆ CreateObject()

static mrpt::utils::CObject* mrpt::hmtslam::CHMHMapArc::CreateObject ( )
static

◆ duplicate()

virtual mrpt::utils::CObject* mrpt::hmtslam::CHMHMapArc::duplicate ( ) const
virtual

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

Implements mrpt::utils::CObject.

◆ duplicateGetSmartPtr()

mrpt::utils::CObjectPtr mrpt::utils::CObject::duplicateGetSmartPtr ( ) const
inlineinherited

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 140 of file CObject.h.

Referenced by mrpt::obs::CRawlog::addActions(), mrpt::slam::CIncrementalMapPartitioner::addMapFrame(), and mrpt::obs::CRawlog::addObservations().

◆ getNodeFrom()

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

Return the starting node of the arc:

Definition at line 98 of file CHMHMapArc.h.

References AREAID_INVALID, and ASSERT_.

◆ getNodeTo()

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

Return the ending node of the arc:

Definition at line 102 of file CHMHMapArc.h.

References AREAID_INVALID, and ASSERT_.

◆ GetRuntimeClass()

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.

◆ onNodeDestruction()

void 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.

Definition at line 119 of file CHMHMapArc.cpp.

References AREAID_INVALID, mrpt::hmtslam::CHMHMapNode::getID(), m_nodeFrom, m_nodeTo, MRPT_END, and MRPT_START.

◆ operator delete() [1/3]

void mrpt::hmtslam::CHMHMapArc::operator delete ( void memory,
void ptr 
)
throw (
)
inline

Definition at line 37 of file CHMHMapArc.h.

◆ operator delete() [2/3]

void mrpt::hmtslam::CHMHMapArc::operator delete ( void ptr)
throw (
)
inline

Definition at line 37 of file CHMHMapArc.h.

◆ operator delete() [3/3]

void mrpt::hmtslam::CHMHMapArc::operator delete ( void ptr,
const std::nothrow_t &   
)
throw (
)
inline

Definition at line 37 of file CHMHMapArc.h.

◆ operator delete[]()

void mrpt::hmtslam::CHMHMapArc::operator delete[] ( void ptr)
throw (
)
inline

Definition at line 37 of file CHMHMapArc.h.

◆ operator new() [1/3]

void* mrpt::hmtslam::CHMHMapArc::operator new ( size_t  size)
inline

Definition at line 37 of file CHMHMapArc.h.

◆ operator new() [2/3]

static void* mrpt::hmtslam::CHMHMapArc::operator new ( size_t  size,
void ptr 
)
inlinestatic

Definition at line 37 of file CHMHMapArc.h.

◆ operator new() [3/3]

void* mrpt::hmtslam::CHMHMapArc::operator new ( size_t  size,
const std::nothrow_t &   
)
throw (
)
inline

Definition at line 37 of file CHMHMapArc.h.

◆ operator new[]()

void* mrpt::hmtslam::CHMHMapArc::operator new[] ( size_t  size)
inline

Definition at line 37 of file CHMHMapArc.h.

◆ readFromStream()

void CHMHMapArc::readFromStream ( mrpt::utils::CStream in,
int  version 
)
protectedvirtual

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

Implements mrpt::utils::CSerializable.

Definition at line 148 of file CHMHMapArc.cpp.

References ASSERTMSG_, m_annotations, m_arcType, m_hypotheses, m_nodeFrom, m_nodeTo, m_parent, MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION, mrpt::utils::CTypeSelector::setType(), and version.

◆ writeToMatlab()

virtual mxArray* mrpt::utils::CSerializable::writeToMatlab ( ) const
inlinevirtualinherited

Introduces a pure virtual method responsible for writing to a mxArray Matlab object, typically a MATLAB struct whose contents are documented in each derived class.

Returns
A new mxArray (caller is responsible of memory freeing) or NULL is class does not support conversion to MATLAB.

Definition at line 79 of file CSerializable.h.

◆ writeToStream()

void CHMHMapArc::writeToStream ( mrpt::utils::CStream out,
int *  getVersion 
) const
protectedvirtual

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

Implements mrpt::utils::CSerializable.

Definition at line 134 of file CHMHMapArc.cpp.

References mrpt::utils::CTypeSelector::getType(), m_annotations, m_arcType, m_hypotheses, m_nodeFrom, m_nodeTo, and version.

Friends And Related Function Documentation

◆ CHierarchicalMapMHPartition

friend class CHierarchicalMapMHPartition
friend

Definition at line 33 of file CHMHMapArc.h.

◆ CHierarchicalMHMap

friend class CHierarchicalMHMap
friend

Definition at line 31 of file CHMHMapArc.h.

◆ CHMHMapNode

friend class CHMHMapNode
friend

Definition at line 32 of file CHMHMapArc.h.

◆ TArcList

friend class TArcList
friend

Definition at line 34 of file CHMHMapArc.h.

Member Data Documentation

◆ _init_CHMHMapArc

mrpt::utils::CLASSINIT mrpt::hmtslam::CHMHMapArc::_init_CHMHMapArc
staticprotected

Definition at line 37 of file CHMHMapArc.h.

◆ classCHMHMapArc

mrpt::utils::TRuntimeClassId mrpt::hmtslam::CHMHMapArc::classCHMHMapArc
static

Definition at line 37 of file CHMHMapArc.h.

◆ classCObject

const mrpt::utils::TRuntimeClassId mrpt::utils::CObject::classCObject
staticinherited

Definition at line 128 of file CObject.h.

◆ classCSerializable

const mrpt::utils::TRuntimeClassId mrpt::utils::CSerializable::classCSerializable
staticinherited

Definition at line 42 of file CSerializable.h.

◆ classinfo

const mrpt::utils::TRuntimeClassId* mrpt::hmtslam::CHMHMapArc::classinfo
static

Definition at line 37 of file CHMHMapArc.h.

◆ m_annotations

utils::CMHPropertiesValuesList mrpt::hmtslam::CHMHMapArc::m_annotations

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

Definition at line 113 of file CHMHMapArc.h.

Referenced by readFromStream(), and writeToStream().

◆ m_arcType

utils::CTypeSelector mrpt::hmtslam::CHMHMapArc::m_arcType

The type of the arc, the possibilities are:

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

Definition at line 109 of file CHMHMapArc.h.

Referenced by readFromStream(), and writeToStream().

◆ m_hypotheses

THypothesisIDSet mrpt::hmtslam::CHMHMapArc::m_hypotheses

The hypothesis IDs under which this arc exists.

Definition at line 42 of file CHMHMapArc.h.

Referenced by readFromStream(), and writeToStream().

◆ m_nodeFrom

CHMHMapNode::TNodeID mrpt::hmtslam::CHMHMapArc::m_nodeFrom
protected

The origin/target nodes for this arc.

Definition at line 47 of file CHMHMapArc.h.

Referenced by CHMHMapArc(), mrpt::hmtslam::CHMHMapNode::onArcDestruction(), onNodeDestruction(), readFromStream(), writeToStream(), and ~CHMHMapArc().

◆ m_nodeTo

CHMHMapNode::TNodeID mrpt::hmtslam::CHMHMapArc::m_nodeTo
protected

◆ m_parent

mrpt::utils::safe_ptr<CHierarchicalMHMap> mrpt::hmtslam::CHMHMapArc::m_parent
protected

The hierarchical graph in which this object is into.

Definition at line 50 of file CHMHMapArc.h.

Referenced by readFromStream(), and ~CHMHMapArc().




Page generated by Doxygen 1.8.14 for MRPT 1.5.6 Git: 4c65e8431 Tue Apr 24 08:18:17 2018 +0200 at lun oct 28 01:35:26 CET 2019