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

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...
 
std::string m_arcType
 The type of the arc, the possibilities are: More...
 
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
uint8_t serializeGetVersion () const override
 Must return the current versioning number of the object. More...
 
void serializeTo (mrpt::serialization::CArchive &out) const override
 Pure virtual method for writing (serializing) to an abstract archive. More...
 
void serializeFrom (mrpt::serialization::CArchive &in, uint8_t serial_version) override
 Pure virtual method for reading (deserializing) from an abstract archive. More...
 

Protected Attributes

CHMHMapNode::TNodeID m_nodeFrom
 The origin/target nodes for this arc. More...
 
CHMHMapNode::TNodeID m_nodeTo
 
mrpt::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 >
 
using UniquePtr = std::unique_ptr< CHMHMapArc >
 
using ConstUniquePtr = std::unique_ptr< const CHMHMapArc >
 
static mrpt::rtti::CLASSINIT _init_CHMHMapArc
 
static const mrpt::rtti::TRuntimeClassId runtimeClassId
 
static constexpr const char * className = "CHMHMapArc"
 
static const mrpt::rtti::TRuntimeClassId_GetBaseClass ()
 
static constexpr auto getClassName ()
 
static const mrpt::rtti::TRuntimeClassIdGetRuntimeClassIdStatic ()
 
static mrpt::rtti::CObjectCreateObject ()
 
template<typename... Args>
static Ptr Create (Args &&... args)
 
template<typename... Args>
static UniquePtr CreateUnique (Args &&... args)
 
virtual const mrpt::rtti::TRuntimeClassIdGetRuntimeClass () const override
 Returns information about the class of an object in runtime. More...
 
virtual mrpt::rtti::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.

◆ ConstUniquePtr

using mrpt::hmtslam::CHMHMapArc::ConstUniquePtr = std::unique_ptr<const CHMHMapArc >

Definition at line 38 of file CHMHMapArc.h.

◆ Ptr

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

A type for the associated smart pointer

Definition at line 38 of file CHMHMapArc.h.

◆ UniquePtr

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::rtti::TRuntimeClassId* mrpt::hmtslam::CHMHMapArc::_GetBaseClass ( )
staticprotected

◆ clone()

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

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

Implements mrpt::rtti::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::rtti::CObject* mrpt::hmtslam::CHMHMapArc::CreateObject ( )
static

◆ CreateUnique()

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

Definition at line 38 of file CHMHMapArc.h.

◆ duplicateGetSmartPtr()

mrpt::rtti::CObject::Ptr 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 169 of file CObject.h.

References mrpt::rtti::CObject::clone().

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

◆ getClassName()

static constexpr auto mrpt::hmtslam::CHMHMapArc::getClassName ( )
inlinestaticconstexpr

Definition at line 38 of file CHMHMapArc.h.

◆ 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::rtti::TRuntimeClassId* mrpt::hmtslam::CHMHMapArc::GetRuntimeClass ( ) const
overridevirtual

Returns information about the class of an object in runtime.

Reimplemented from mrpt::serialization::CSerializable.

◆ GetRuntimeClassIdStatic()

static const mrpt::rtti::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.

◆ operator delete() [1/3]

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

Definition at line 38 of file CHMHMapArc.h.

◆ operator delete() [2/3]

void mrpt::hmtslam::CHMHMapArc::operator delete ( 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]

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

Definition at line 38 of file CHMHMapArc.h.

◆ operator new() [3/3]

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

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.

◆ serializeFrom()

void CHMHMapArc::serializeFrom ( mrpt::serialization::CArchive in,
uint8_t  serial_version 
)
overrideprotectedvirtual

Pure virtual method for reading (deserializing) from an abstract archive.

Users don't call this method directly. Instead, use stream >> object;.

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 I/O error

Implements mrpt::serialization::CSerializable.

Definition at line 91 of file CHMHMapArc.cpp.

References ASSERTMSG_, m_annotations, m_arcType, m_hypotheses, m_nodeFrom, m_nodeTo, m_parent, and MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION.

◆ serializeGetVersion()

uint8_t CHMHMapArc::serializeGetVersion ( ) const
overrideprotectedvirtual

Must return the current versioning number of the object.

Start in zero for new classes, and increments each time there is a change in the stored format.

Implements mrpt::serialization::CSerializable.

Definition at line 85 of file CHMHMapArc.cpp.

◆ serializeTo()

void CHMHMapArc::serializeTo ( mrpt::serialization::CArchive out) const
overrideprotectedvirtual

Pure virtual method for writing (serializing) to an abstract archive.

Users don't call this method directly. Instead, use stream << object;.

Exceptions
std::exceptionOn any I/O error

Implements mrpt::serialization::CSerializable.

Definition at line 86 of file CHMHMapArc.cpp.

References m_annotations, m_arcType, m_hypotheses, m_nodeFrom, and m_nodeTo.

◆ writeToMatlab()

virtual mxArray* mrpt::serialization::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 70 of file CSerializable.h.

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::rtti::CLASSINIT mrpt::hmtslam::CHMHMapArc::_init_CHMHMapArc
staticprotected

Definition at line 38 of file CHMHMapArc.h.

◆ className

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

Definition at line 38 of file CHMHMapArc.h.

◆ m_annotations

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 serializeFrom(), and serializeTo().

◆ m_arcType

std::string 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 serializeFrom(), and serializeTo().

◆ 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 serializeFrom(), and serializeTo().

◆ 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(), serializeFrom(), serializeTo(), and ~CHMHMapArc().

◆ m_nodeTo

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

◆ m_parent

mrpt::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 serializeFrom(), and ~CHMHMapArc().

◆ runtimeClassId

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

Definition at line 38 of file CHMHMapArc.h.




Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST