Main MRPT website > C++ reference
MRPT logo
Public Types | Public Member Functions | Protected Attributes

mrpt::slam::CActionCollection Class Reference


Detailed Description

Declares a class for storing a collection of robot actions.

It is used in mrpt::slam::CRawlog, for logs storage and particle filter based simulations.

See also:
CAction, CRawlog

Definition at line 48 of file CActionCollection.h.

#include <mrpt/slam/CActionCollection.h>

Inheritance diagram for mrpt::slam::CActionCollection:
Inheritance graph
[legend]

List of all members.

Public Types

typedef std::deque< CActionPtr >
::iterator 
iterator
 You can use CActionCollection::begin to get a iterator to the first element.
typedef std::deque< CActionPtr >
::const_iterator 
const_iterator
 You can use CActionCollection::begin to get a iterator to the first element.

Public Member Functions

 CActionCollection ()
 Constructor.
 CActionCollection (CAction &a)
 Constructor from a single action.
 CActionCollection (const CActionCollection &o)
 Copy Constructor.
CActionCollectionoperator= (const CActionCollection &o)
 Copy operator.
virtual ~CActionCollection ()
 Destructor.
const_iterator begin () const
 Returns a iterator to the first action: this is an example of usage:
iterator begin ()
 Returns a iterator to the first action: this is an example of usage:
const_iterator end () const
 Returns a iterator pointing to the end of the list: this is an example of usage:
iterator end ()
 Returns a iterator pointing to the end of the list: this is an example of usage:
iterator erase (const iterator &it)
 Removes the given action in the list, and return an iterator to the next element (or this->end() if it was the last one).
void clear ()
 Erase all actions from the list.
CActionPtr get (size_t index)
 Access the i'th action.DO NOT MODIFY the returned object, make a copy of ir with "CSerializable::duplicate" if desired.
template<typename T >
T::SmartPtr getActionByClass (const size_t &ith=0) const
 Access to the i'th action of a given class, or a NULL smart pointer if there is no action of that class in the list.
void insert (CAction &action)
 Add a new object to the list.
size_t size ()
 Returns the actions count in the collection.
CActionRobotMovement2DPtr getBestMovementEstimation () const
 Returns the best pose increment estimator in the collection, based on the determinant of its pose change covariance matrix.
CActionRobotMovement2DPtr getMovementEstimationByType (CActionRobotMovement2D::TEstimationMethod method)
 Returns the pose increment estimator in the collection having the specified type.
bool getFirstMovementEstimationMean (CPose3D &out_pose_increment) const
 Look for the first 2D or 3D "odometry" found in this collection of actions, and return the "mean" increment of the robot according to it.
bool getFirstMovementEstimation (CPose3DPDFGaussian &out_pose_increment) const
 Look for the first 2D or 3D "odometry" found in this collection of actions, and return the "mean" increment of the robot and its covariance according to it.
void eraseByIndex (const size_t &index)
 Remove an action from the list by its index.

Protected Attributes

std::deque< CActionPtrm_actions
 The actions:

RTTI stuff

typedef CActionCollectionPtr SmartPtr
static mrpt::utils::CLASSINIT _init_CActionCollection
static mrpt::utils::TRuntimeClassId classCActionCollection
static const
mrpt::utils::TRuntimeClassId
classinfo
static const
mrpt::utils::TRuntimeClassId
_GetBaseClass ()
virtual const
mrpt::utils::TRuntimeClassId
GetRuntimeClass () const
 Returns information about the class of an object in runtime.
virtual mrpt::utils::CObjectduplicate () const
 Returns a copy of the object, indepently of its class.
static mrpt::utils::CObjectCreateObject ()
static CActionCollectionPtr Create ()

Member Typedef Documentation

You can use CActionCollection::begin to get a iterator to the first element.

Definition at line 85 of file CActionCollection.h.

You can use CActionCollection::begin to get a iterator to the first element.

Definition at line 81 of file CActionCollection.h.

A typedef for the associated smart pointer

Definition at line 51 of file CActionCollection.h.


Constructor & Destructor Documentation

mrpt::slam::CActionCollection::CActionCollection ( )

Constructor.

mrpt::slam::CActionCollection::CActionCollection ( CAction a)

Constructor from a single action.

mrpt::slam::CActionCollection::CActionCollection ( const CActionCollection o)

Copy Constructor.

virtual mrpt::slam::CActionCollection::~CActionCollection ( ) [virtual]

Destructor.


Member Function Documentation

static const mrpt::utils::TRuntimeClassId* mrpt::slam::CActionCollection::_GetBaseClass ( ) [static, protected]

Reimplemented from mrpt::utils::CSerializable.

iterator mrpt::slam::CActionCollection::begin ( ) [inline]

Returns a iterator to the first action: this is an example of usage:

   CActionCollection  acts;
   ...
   for (CActionCollection::iterator it=acts.begin();it!=acts.end();++it)
          {
      (*it)->... // (*it) is a "CActionPtr"
   }

Definition at line 111 of file CActionCollection.h.

const_iterator mrpt::slam::CActionCollection::begin ( ) const [inline]

Returns a iterator to the first action: this is an example of usage:

   CActionCollection  acts;
   ...
   for (CActionCollection::iterator it=acts.begin();it!=acts.end();++it)
          {
      (*it)->... // (*it) is a "CActionPtr"
   }

Definition at line 98 of file CActionCollection.h.

void mrpt::slam::CActionCollection::clear ( )

Erase all actions from the list.

static CActionCollectionPtr mrpt::slam::CActionCollection::Create ( ) [static]
static mrpt::utils::CObject* mrpt::slam::CActionCollection::CreateObject ( ) [static]
virtual mrpt::utils::CObject* mrpt::slam::CActionCollection::duplicate ( ) const [virtual]

Returns a copy of the object, indepently of its class.

Implements mrpt::utils::CObject.

const_iterator mrpt::slam::CActionCollection::end ( ) const [inline]

Returns a iterator pointing to the end of the list: this is an example of usage:

   CActionCollection  acts;
   ...
   for (CActionCollection::iterator it=acts.begin();it!=acts.end();++it)
          {
      (*it)->... // (*it) is a "CActionPtr"
   }

Definition at line 124 of file CActionCollection.h.

iterator mrpt::slam::CActionCollection::end ( ) [inline]

Returns a iterator pointing to the end of the list: this is an example of usage:

   CActionCollection  acts;
   ...
   for (CActionCollection::iterator it=acts.begin();it!=acts.end();++it)
          {
      (*it)->... // (*it) is a "CActionPtr"
   }

Definition at line 137 of file CActionCollection.h.

iterator mrpt::slam::CActionCollection::erase ( const iterator it)

Removes the given action in the list, and return an iterator to the next element (or this->end() if it was the last one).

void mrpt::slam::CActionCollection::eraseByIndex ( const size_t &  index)

Remove an action from the list by its index.

Exceptions:
std::exceptionOn index out of bounds.
CActionPtr mrpt::slam::CActionCollection::get ( size_t  index)

Access the i'th action.DO NOT MODIFY the returned object, make a copy of ir with "CSerializable::duplicate" if desired.

First element is 0.

Exceptions:
std::exceptionOn index out of bounds.
template<typename T >
T::SmartPtr mrpt::slam::CActionCollection::getActionByClass ( const size_t &  ith = 0) const [inline]

Access to the i'th action of a given class, or a NULL smart pointer if there is no action of that class in the list.

Example:

                                        CActionRobotMovement2DPtr obs = acts->getActionByClass<CActionRobotMovement2D>();

By default (ith=0), the first one is returned.

Definition at line 162 of file CActionCollection.h.

References begin(), end(), MRPT_END, and MRPT_START.

Referenced by mrpt::slam::PF_implementation< PARTICLE_TYPE, MYSELF >::PF_SLAM_implementation_gatherActionsCheckBothActObs(), and mrpt::slam::PF_implementation< PARTICLE_TYPE, MYSELF >::PF_SLAM_implementation_pfStandardProposal().

CActionRobotMovement2DPtr mrpt::slam::CActionCollection::getBestMovementEstimation ( ) const

Returns the best pose increment estimator in the collection, based on the determinant of its pose change covariance matrix.

Returns:
The estimation, or NULL if none is available.

Referenced by mrpt::slam::PF_implementation< PARTICLE_TYPE, MYSELF >::PF_SLAM_implementation_gatherActionsCheckBothActObs(), and mrpt::slam::PF_implementation< PARTICLE_TYPE, MYSELF >::PF_SLAM_implementation_pfStandardProposal().

bool mrpt::slam::CActionCollection::getFirstMovementEstimation ( CPose3DPDFGaussian out_pose_increment) const

Look for the first 2D or 3D "odometry" found in this collection of actions, and return the "mean" increment of the robot and its covariance according to it.

Returns:
true on success,false on no odometry found.
bool mrpt::slam::CActionCollection::getFirstMovementEstimationMean ( CPose3D out_pose_increment) const

Look for the first 2D or 3D "odometry" found in this collection of actions, and return the "mean" increment of the robot according to it.

Returns:
true on success,false on no odometry found.
CActionRobotMovement2DPtr mrpt::slam::CActionCollection::getMovementEstimationByType ( CActionRobotMovement2D::TEstimationMethod  method)

Returns the pose increment estimator in the collection having the specified type.

Returns:
The estimation, or NULL if none is available.
virtual const mrpt::utils::TRuntimeClassId* mrpt::slam::CActionCollection::GetRuntimeClass ( ) const [virtual]

Returns information about the class of an object in runtime.

Reimplemented from mrpt::utils::CSerializable.

void mrpt::slam::CActionCollection::insert ( CAction action)

Add a new object to the list.

CActionCollection& mrpt::slam::CActionCollection::operator= ( const CActionCollection o)

Copy operator.

size_t mrpt::slam::CActionCollection::size ( )

Returns the actions count in the collection.


Member Data Documentation

Definition at line 51 of file CActionCollection.h.

Definition at line 51 of file CActionCollection.h.

Definition at line 51 of file CActionCollection.h.

The actions:

Definition at line 56 of file CActionCollection.h.




Page generated by Doxygen 1.7.3 for MRPT 0.9.4 SVN:exported at Tue Jan 25 21:56:31 UTC 2011