Main MRPT website > C++ reference for MRPT 1.4.0
List of all members | Public Member Functions | Private Attributes
mrpt::poses::CPoses2DSequence Class Reference

Detailed Description

This class stores a sequence of relative, incremental 2D poses.

It is useful as the bases storing unit for more complex probability particles and for computing the absolute pose of any intermediate pose.

See also
CPose2D, CMultiMetricMap

Definition at line 28 of file CPoses2DSequence.h.

#include <mrpt/poses/CPoses2DSequence.h>

Inheritance diagram for mrpt::poses::CPoses2DSequence:
Inheritance graph

Public Member Functions

 CPoses2DSequence ()
 Default constructor.
 
size_t posesCount ()
 Returns the poses count in the sequence:
 
void getPose (unsigned int ind, CPose2D &outPose)
 Reads the stored pose at index "ind", where the first one is 0, the last "posesCount() - 1".
 
void changePose (unsigned int ind, CPose2D &inPose)
 Changes the stored pose at index "ind", where the first one is 0, the last "posesCount() - 1".
 
void appendPose (CPose2D &newPose)
 Appends a new pose at the end of sequence.
 
void clear ()
 Clears the sequence.
 
CPose2D absolutePoseOf (unsigned int n)
 Returns the absolute pose of a robot after moving "n" poses, so for "n=0" the origin pose (0,0,0deg) is returned, for "n=1" the first pose is returned, and for "n=posesCount()", the pose of robot after moving ALL poses is returned, all of them relative to the starting pose.
 
CPose2D absolutePoseAfterAll ()
 A shortcut for "absolutePoseOf( posesCount() )".
 
float computeTraveledDistanceAfter (unsigned int n)
 Returns the traveled distance after moving "n" poses, so for "n=0" it returns 0, for "n=1" the first traveled distance, and for "n=posesCount()", the total distance after ALL movements.
 
float computeTraveledDistanceAfterAll ()
 Returns the traveled distance after ALL movements.
 

Protected Member Functions

CSerializable virtual methods
void writeToStream (mrpt::utils::CStream &out, int *getVersion) const MRPT_OVERRIDE
 
void readFromStream (mrpt::utils::CStream &in, int version) MRPT_OVERRIDE
 

Private Attributes

mrpt::aligned_containers< CPose2D >::vector_t poses
 The internal sequence of poses, stored as relative, incremental poses, thus each one is situated just at the end point of last one, where the first one is referenced to (0,0,0deg)
 

RTTI stuff <br>

typedef CPoses2DSequencePtr SmartPtr
 
static mrpt::utils::CLASSINIT _init_CPoses2DSequence
 
static mrpt::utils::TRuntimeClassId classCPoses2DSequence
 
static const mrpt::utils::TRuntimeClassIdclassinfo
 
static const mrpt::utils::TRuntimeClassId_GetBaseClass ()
 
virtual const mrpt::utils::TRuntimeClassIdGetRuntimeClass () const MRPT_OVERRIDE
 
virtual mrpt::utils::CObjectduplicate () const MRPT_OVERRIDE
 
static mrpt::utils::CObjectCreateObject ()
 
static CPoses2DSequencePtr Create ()
 

Member Typedef Documentation

◆ SmartPtr

A typedef for the associated smart pointer

Definition at line 31 of file CPoses2DSequence.h.

Constructor & Destructor Documentation

◆ CPoses2DSequence()

mrpt::poses::CPoses2DSequence::CPoses2DSequence ( )

Default constructor.

Member Function Documentation

◆ _GetBaseClass()

static const mrpt::utils::TRuntimeClassId * mrpt::poses::CPoses2DSequence::_GetBaseClass ( )
staticprotected

◆ absolutePoseAfterAll()

CPose2D mrpt::poses::CPoses2DSequence::absolutePoseAfterAll ( )

A shortcut for "absolutePoseOf( posesCount() )".

See also
absolutePoseOf, posesCount

◆ absolutePoseOf()

CPose2D mrpt::poses::CPoses2DSequence::absolutePoseOf ( unsigned int  n)

Returns the absolute pose of a robot after moving "n" poses, so for "n=0" the origin pose (0,0,0deg) is returned, for "n=1" the first pose is returned, and for "n=posesCount()", the pose of robot after moving ALL poses is returned, all of them relative to the starting pose.

Exceptions
std::exceptionOn invalid index value
See also
absolutePoseAfterAll

◆ appendPose()

void mrpt::poses::CPoses2DSequence::appendPose ( CPose2D newPose)

Appends a new pose at the end of sequence.

Remember that poses are relative, incremental to the last one.

◆ changePose()

void mrpt::poses::CPoses2DSequence::changePose ( unsigned int  ind,
CPose2D inPose 
)

Changes the stored pose at index "ind", where the first one is 0, the last "posesCount() - 1".

Exceptions
std::exceptionOn invalid index value

◆ clear()

void mrpt::poses::CPoses2DSequence::clear ( )

Clears the sequence.

◆ computeTraveledDistanceAfter()

float mrpt::poses::CPoses2DSequence::computeTraveledDistanceAfter ( unsigned int  n)

Returns the traveled distance after moving "n" poses, so for "n=0" it returns 0, for "n=1" the first traveled distance, and for "n=posesCount()", the total distance after ALL movements.

Exceptions
std::exceptionOn invalid index value
See also
computeTraveledDistanceAfterAll

◆ computeTraveledDistanceAfterAll()

float mrpt::poses::CPoses2DSequence::computeTraveledDistanceAfterAll ( )

Returns the traveled distance after ALL movements.

A shortcut for "computeTraveledDistanceAfter( posesCount() )".

See also
computeTraveledDistanceAfter

◆ Create()

static CPoses2DSequencePtr mrpt::poses::CPoses2DSequence::Create ( )
static

◆ CreateObject()

static mrpt::utils::CObject * mrpt::poses::CPoses2DSequence::CreateObject ( )
static

◆ duplicate()

virtual mrpt::utils::CObject * mrpt::poses::CPoses2DSequence::duplicate ( ) const
virtual

◆ getPose()

void mrpt::poses::CPoses2DSequence::getPose ( unsigned int  ind,
CPose2D outPose 
)

Reads the stored pose at index "ind", where the first one is 0, the last "posesCount() - 1".

Exceptions
std::exceptionOn invalid index value

◆ GetRuntimeClass()

virtual const mrpt::utils::TRuntimeClassId * mrpt::poses::CPoses2DSequence::GetRuntimeClass ( ) const
virtual

◆ posesCount()

size_t mrpt::poses::CPoses2DSequence::posesCount ( )

Returns the poses count in the sequence:

◆ readFromStream()

void mrpt::poses::CPoses2DSequence::readFromStream ( mrpt::utils::CStream in,
int  version 
)
protected

◆ writeToStream()

void mrpt::poses::CPoses2DSequence::writeToStream ( mrpt::utils::CStream out,
int *  getVersion 
) const
protected

Member Data Documentation

◆ _init_CPoses2DSequence

mrpt::utils::CLASSINIT mrpt::poses::CPoses2DSequence::_init_CPoses2DSequence
staticprotected

Definition at line 31 of file CPoses2DSequence.h.

◆ classCPoses2DSequence

mrpt::utils::TRuntimeClassId mrpt::poses::CPoses2DSequence::classCPoses2DSequence
static

Definition at line 31 of file CPoses2DSequence.h.

◆ classinfo

const mrpt::utils::TRuntimeClassId* mrpt::poses::CPoses2DSequence::classinfo
static

Definition at line 31 of file CPoses2DSequence.h.

◆ poses

mrpt::aligned_containers<CPose2D>::vector_t mrpt::poses::CPoses2DSequence::poses
private

The internal sequence of poses, stored as relative, incremental poses, thus each one is situated just at the end point of last one, where the first one is referenced to (0,0,0deg)

Definition at line 87 of file CPoses2DSequence.h.




Page generated by Doxygen 1.9.6 for MRPT 1.4.0 SVN: at Thu Jan 19 22:37:47 UTC 2023