Main MRPT website > C++ reference for MRPT 1.9.9
List of all members | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | 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 31 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) noexcept
 
void operator delete[] (void *ptr) noexcept
 
void operator delete (void *memory, void *ptr) noexcept
 
voidoperator new (size_t size, const std::nothrow_t &) noexcept
 
void operator delete (void *ptr, const std::nothrow_t &) noexcept
 
 CHMHMapArc (const CHMHMapNode::TNodeID &from=0, const CHMHMapNode::TNodeID &to=0, const THypothesisIDSet &hyps=THypothesisIDSet(), CHierarchicalMHMap *parent=nullptr)
 Private constructor (see ::Create class factory) More...
 
 CHMHMapArc (CHMHMapNode::Ptr &from, CHMHMapNode::Ptr &to, const THypothesisIDSet &hyps, CHierarchicalMHMap *parent)
 Alternative constructor, using pointers for convenience. More...
 
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...
 
RTTI classes and functions
mrpt::utils::CObject::Ptr 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...
 

Static Public Member Functions

static voidoperator new (size_t size, void *ptr)
 

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

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 nullptr and the arc is no longer a valid one. More...
 
CSerializable virtual methods
void writeToStream (mrpt::utils::CStream &out, int *getVersion) const override
 Introduces a pure virtual method responsible for writing to a CStream. More...
 
void readFromStream (mrpt::utils::CStream &in, int version) override
 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...
 

Friends

class CHierarchicalMHMap
 
class CHMHMapNode
 
class CHierarchicalMapMHPartition
 
class TArcList
 

RTTI stuff

using Ptr = std::shared_ptr< CHMHMapArc >
 
using ConstPtr = std::shared_ptr< const CHMHMapArc >
 
static mrpt::utils::CLASSINIT _init_CHMHMapArc
 
static const mrpt::utils::TRuntimeClassId runtimeClassId
 
static constexpr const char * className = "CHMHMapArc"
 
static const mrpt::utils::TRuntimeClassId_GetBaseClass ()
 
static const mrpt::utils::TRuntimeClassIdGetRuntimeClassIdStatic ()
 
static mrpt::utils::CObjectCreateObject ()
 
template<typename... Args>
static Ptr Create (Args &&... args)
 
virtual const mrpt::utils::TRuntimeClassIdGetRuntimeClass () const override
 Returns information about the class of an object in runtime. More...
 
virtual mrpt::utils::CObjectclone () const override
 Returns a deep copy (clone) of the object, indepently of its class. More...
 

Member Typedef Documentation

◆ ConstPtr

using mrpt::hmtslam::CHMHMapArc::ConstPtr = std::shared_ptr<const CHMHMapArc >

Definition at line 38 of file CHMHMapArc.h.

◆ Ptr

using mrpt::hmtslam::CHMHMapArc::Ptr = std::shared_ptr< CHMHMapArc >

A typedef for the associated smart pointer

Definition at line 38 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 = nullptr 
)

Private constructor (see ::Create class factory)

Definition at line 21 of file CHMHMapArc.cpp.

◆ CHMHMapArc() [2/2]

CHMHMapArc::CHMHMapArc ( CHMHMapNode::Ptr from,
CHMHMapNode::Ptr to,
const THypothesisIDSet hyps,
CHierarchicalMHMap parent 
)

Alternative constructor, using pointers for convenience.

Definition at line 39 of file CHMHMapArc.cpp.

References m_nodeFrom, and m_nodeTo.

◆ ~CHMHMapArc()

CHMHMapArc::~CHMHMapArc ( )
virtual

Destructor.

Definition at line 59 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()

virtual mrpt::utils::CObject* mrpt::hmtslam::CHMHMapArc::clone ( ) const
overridevirtual

Returns a deep copy (clone) of the object, indepently of its class.

Implements mrpt::utils::CObject.

◆ Create()

template<typename... Args>
static Ptr mrpt::hmtslam::CHMHMapArc::Create ( Args &&...  args)
inlinestatic

Definition at line 38 of file CHMHMapArc.h.

◆ CreateObject()

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

◆ getNodeFrom()

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

Return the starting node of the arc:

Definition at line 82 of file CHMHMapArc.h.

References AREAID_INVALID, ASSERT_, and m_nodeFrom.

◆ getNodeTo()

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

Return the ending node of the arc:

Definition at line 90 of file CHMHMapArc.h.

References AREAID_INVALID, ASSERT_, and m_nodeTo.

◆ GetRuntimeClass()

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

Returns information about the class of an object in runtime.

Reimplemented from mrpt::utils::CSerializable.

◆ GetRuntimeClassIdStatic()

static const mrpt::utils::TRuntimeClassId& mrpt::hmtslam::CHMHMapArc::GetRuntimeClassIdStatic ( )
static

◆ 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 nullptr and the arc is no longer a valid one.

Definition at line 74 of file CHMHMapArc.cpp.

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

Here is the call graph for this function:

◆ operator delete() [1/3]

void mrpt::hmtslam::CHMHMapArc::operator delete ( void ptr)
inlinenoexcept

Definition at line 38 of file CHMHMapArc.h.

◆ operator delete() [2/3]

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

Definition at line 38 of file CHMHMapArc.h.

◆ operator delete() [3/3]

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

Definition at line 38 of file CHMHMapArc.h.

◆ operator delete[]()

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

Definition at line 38 of file CHMHMapArc.h.

◆ operator new() [1/3]

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

Definition at line 38 of file CHMHMapArc.h.

◆ operator new() [2/3]

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

Definition at line 38 of file CHMHMapArc.h.

◆ operator new() [3/3]

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

Definition at line 38 of file CHMHMapArc.h.

◆ operator new[]()

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

Definition at line 38 of file CHMHMapArc.h.

◆ readFromStream()

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

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 102 of file CHMHMapArc.cpp.

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

Here is the call graph for this function:

◆ 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 nullptr is class does not support conversion to MATLAB.

Definition at line 89 of file CSerializable.h.

◆ writeToStream()

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

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 nullptr, 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 88 of file CHMHMapArc.cpp.

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

Here is the call graph for this function:

Friends And Related Function Documentation

◆ CHierarchicalMapMHPartition

friend class CHierarchicalMapMHPartition
friend

Definition at line 35 of file CHMHMapArc.h.

◆ CHierarchicalMHMap

friend class CHierarchicalMHMap
friend

Definition at line 33 of file CHMHMapArc.h.

◆ CHMHMapNode

friend class CHMHMapNode
friend

Definition at line 34 of file CHMHMapArc.h.

◆ TArcList

friend class TArcList
friend

Definition at line 36 of file CHMHMapArc.h.

Member Data Documentation

◆ _init_CHMHMapArc

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

Definition at line 38 of file CHMHMapArc.h.

◆ className

constexpr const char* mrpt::hmtslam::CHMHMapArc::className = "CHMHMapArc"
static

Definition at line 38 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 106 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 101 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 43 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 48 of file CHMHMapArc.h.

Referenced by CHMHMapArc(), getNodeFrom(), 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 51 of file CHMHMapArc.h.

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

◆ runtimeClassId

const mrpt::utils::TRuntimeClassId mrpt::hmtslam::CHMHMapArc::runtimeClassId
staticprotected

Definition at line 38 of file CHMHMapArc.h.




Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ae4571287 Thu Nov 23 00:06:53 2017 +0100 at dom oct 27 23:51:55 CET 2019