Main MRPT website > C++ reference for MRPT 1.3.2
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

void * operator new (size_t size)
 
void * operator new[] (size_t size)
 
void operator delete (void *ptr) throw ()
 
void operator delete[] (void *ptr) throw ()
 
void operator delete (void *memory, void *ptr) throw ()
 
void * operator 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...
 
CObject * clone () const
 Cloning interface for smart pointers. More...
 

Static Public Member Functions

static void * operator 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 HMTSLAM_IMPEXP CHierarchicalMHMap
 
class HMTSLAM_IMPEXP CHMHMapNode
 
class HMTSLAM_IMPEXP CHierarchicalMapMHPartition
 
class TArcList
 

RTTI stuff

typedef CHMHMapArcPtr SmartPtr
 
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

typedef CHMHMapArcPtr mrpt::hmtslam::CHMHMapArc::SmartPtr

A typedef for the associated smart pointer

Definition at line 37 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 ( )
staticprotected
CObject* mrpt::utils::CObject::clone ( ) const
inlineinherited

Cloning interface for smart pointers.

Definition at line 139 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
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 136 of file CObject.h.

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

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

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.

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

Definition at line 37 of file CHMHMapArc.h.

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

Definition at line 37 of file CHMHMapArc.h.

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

Definition at line 37 of file CHMHMapArc.h.

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

Definition at line 37 of file CHMHMapArc.h.

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

Definition at line 37 of file CHMHMapArc.h.

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

Definition at line 37 of file CHMHMapArc.h.

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

Definition at line 37 of file CHMHMapArc.h.

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

Definition at line 37 of file CHMHMapArc.h.

void mrpt::hmtslam::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.

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.

void mrpt::hmtslam::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.

Friends And Related Function Documentation

Definition at line 33 of file CHMHMapArc.h.

friend class HMTSLAM_IMPEXP CHierarchicalMHMap
friend

Definition at line 31 of file CHMHMapArc.h.

friend class HMTSLAM_IMPEXP CHMHMapNode
friend

Definition at line 32 of file CHMHMapArc.h.

friend class TArcList
friend

Definition at line 34 of file CHMHMapArc.h.

Member Data Documentation

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

Definition at line 37 of file CHMHMapArc.h.

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

Definition at line 37 of file CHMHMapArc.h.

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

Definition at line 124 of file CObject.h.

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

Definition at line 42 of file CSerializable.h.

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

Definition at line 37 of file CHMHMapArc.h.

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.

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.

THypothesisIDSet mrpt::hmtslam::CHMHMapArc::m_hypotheses

The hypothesis IDs under which this arc exists.

Definition at line 42 of file CHMHMapArc.h.

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

The origin/target nodes for this arc.

Definition at line 47 of file CHMHMapArc.h.

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

Definition at line 47 of file CHMHMapArc.h.

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.




Page generated by Doxygen 1.8.9.1 for MRPT 1.3.2 SVN:Unversioned directory at Thu Dec 10 00:07:55 UTC 2015