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

Detailed Description

This class stores a sequence of relative, incremental 3D 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
CPose3D, CMultiMetricMap

Definition at line 28 of file CPoses3DSequence.h.

#include <mrpt/poses/CPoses3DSequence.h>

Inheritance diagram for mrpt::poses::CPoses3DSequence:
Inheritance graph

Public Member Functions

 CPoses3DSequence ()
 Default constructor. More...
 
size_t posesCount ()
 Returns the poses count in the sequence: More...
 
void getPose (unsigned int ind, CPose3D &outPose)
 Reads the stored pose at index "ind", where the first one is 0, the last "posesCount() - 1". More...
 
void changePose (unsigned int ind, CPose3D &inPose)
 Changes the stored pose at index "ind", where the first one is 0, the last "posesCount() - 1". More...
 
void appendPose (CPose3D &newPose)
 Appends a new pose at the end of sequence. More...
 
void clear ()
 Clears the sequence. More...
 
CPose3D 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. More...
 
CPose3D absolutePoseAfterAll ()
 A shortcut for "absolutePoseOf( posesCount() )". More...
 
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. More...
 
float computeTraveledDistanceAfterAll ()
 Returns the traveled distance after ALL movements. More...
 

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

std::vector< mrpt::math::TPose3Dm_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) More...
 

RTTI stuff <br>

typedef CPoses3DSequencePtr SmartPtr
 
static mrpt::utils::CLASSINIT _init_CPoses3DSequence
 
static mrpt::utils::TRuntimeClassId classCPoses3DSequence
 
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 CPoses3DSequencePtr Create ()
 

Member Typedef Documentation

◆ SmartPtr

A typedef for the associated smart pointer

Definition at line 31 of file CPoses3DSequence.h.

Constructor & Destructor Documentation

◆ CPoses3DSequence()

mrpt::poses::CPoses3DSequence::CPoses3DSequence ( )

Default constructor.

Member Function Documentation

◆ _GetBaseClass()

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

◆ absolutePoseAfterAll()

CPose3D mrpt::poses::CPoses3DSequence::absolutePoseAfterAll ( )

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

See also
absolutePoseOf, posesCount

◆ absolutePoseOf()

CPose3D mrpt::poses::CPoses3DSequence::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::CPoses3DSequence::appendPose ( CPose3D newPose)

Appends a new pose at the end of sequence.

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

◆ changePose()

void mrpt::poses::CPoses3DSequence::changePose ( unsigned int  ind,
CPose3D 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::CPoses3DSequence::clear ( )

Clears the sequence.

◆ computeTraveledDistanceAfter()

float mrpt::poses::CPoses3DSequence::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::CPoses3DSequence::computeTraveledDistanceAfterAll ( )

Returns the traveled distance after ALL movements.

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

See also
computeTraveledDistanceAfter

◆ Create()

static CPoses3DSequencePtr mrpt::poses::CPoses3DSequence::Create ( )
static

◆ CreateObject()

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

◆ duplicate()

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

◆ getPose()

void mrpt::poses::CPoses3DSequence::getPose ( unsigned int  ind,
CPose3D 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::CPoses3DSequence::GetRuntimeClass ( ) const
virtual

◆ posesCount()

size_t mrpt::poses::CPoses3DSequence::posesCount ( )

Returns the poses count in the sequence:

◆ readFromStream()

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

◆ writeToStream()

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

Member Data Documentation

◆ _init_CPoses3DSequence

mrpt::utils::CLASSINIT mrpt::poses::CPoses3DSequence::_init_CPoses3DSequence
staticprotected

Definition at line 31 of file CPoses3DSequence.h.

◆ classCPoses3DSequence

mrpt::utils::TRuntimeClassId mrpt::poses::CPoses3DSequence::classCPoses3DSequence
static

Definition at line 31 of file CPoses3DSequence.h.

◆ classinfo

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

Definition at line 31 of file CPoses3DSequence.h.

◆ m_poses

std::vector<mrpt::math::TPose3D> mrpt::poses::CPoses3DSequence::m_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 88 of file CPoses3DSequence.h.




Page generated by Doxygen 1.9.5 for MRPT 1.4.0 SVN: at Sun Nov 27 02:56:59 UTC 2022