Main MRPT website > C++ reference
MRPT logo

mrpt::slam::CSimpleMap Class Reference

This class stores a sequence of <Probabilistic Pose,SensoryFrame> pairs, thus a "metric map" can be totally determined with this information. More...

#include <mrpt/slam/CSimpleMap.h>

Inheritance diagram for mrpt::slam::CSimpleMap:
Inheritance graph
[legend]
Collaboration diagram for mrpt::slam::CSimpleMap:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 CSimpleMap ()
 Constructor.
 CSimpleMap (const CSimpleMap &o)
 Copy constructor.
CSimpleMapoperator= (const CSimpleMap &o)
 Copy constructor.
virtual ~CSimpleMap ()
 Destructor:.
size_t size () const
 Returns the pairs count.
void get (size_t index, CPose3DPDFPtr &out_posePDF, CSensoryFramePtr &out_SF) const
 Access to the i'th pair, first one is index '0'.
void set (size_t index, const CPose3DPDFPtr &in_posePDF, const CSensoryFramePtr &in_SF)
 Changes the i'th pair, first one is index '0'.
void set (size_t index, const CPosePDFPtr &in_posePDF, const CSensoryFramePtr &in_SF)
 Changes the i'th pair, first one is index '0'.
void remove (size_t index)
 Deletes the i'th pair, first one is index '0'.
void insert (const CPose3DPDF *in_posePDF, const CSensoryFrame &in_SF)
 Add a new pair to the sequence.
void insert (const CPose3DPDF *in_posePDF, const CSensoryFramePtr &in_SF)
 Add a new pair to the sequence, making a copy of the smart pointer (it's not made unique).
void insert (const CPose3DPDFPtr &in_posePDF, const CSensoryFramePtr &in_SF)
 Add a new pair to the sequence, making a copy of the smart pointer (it's not made unique).
void insert (const CPosePDFPtr &in_posePDF, const CSensoryFramePtr &in_SF)
 Add a new pair to the sequence.
void insert (const CPosePDF *in_posePDF, const CSensoryFrame &in_SF)
 Add a new pair to the sequence.
void insert (const CPosePDF *in_posePDF, const CSensoryFramePtr &in_SF)
 Add a new pair to the sequence.
void clear ()
 Remove all stored pairs.
void changeCoordinatesOrigin (const CPose3D &newOrigin)
 Change the coordinate origin of all stored poses, for consistency with future new poses to enter in the system.

Private Types

typedef std::pair
< CPose3DPDFPtr,
CSensoryFramePtr > 
TPosePDFSensFramePair
typedef std::deque
< TPosePDFSensFramePair
TPosePDFSensFramePairList

Private Attributes

TPosePDFSensFramePairList m_posesObsPairs
 The stored data.

Static Private Attributes

static mrpt::utils::CLASSINIT _init_CSensFrameProbSequence
static mrpt::utils::TRuntimeClassId classCSensFrameProbSequence

Detailed Description

This class stores a sequence of <Probabilistic Pose,SensoryFrame> pairs, thus a "metric map" can be totally determined with this information.

The pose of the sensory frame is not deterministic, but described by some PDF. Full 6D poses are used.

Note:
Objects of this class are serialized into (possibly GZ-compressed) files with the extension ".simplemap".
Before MRPT 0.9.0 the name of this class was "CSensFrameProbSequence", that's why there is a typedef with that name to allow backward compatibility.
See also:
CSensoryFrame, CPosePDF

Definition at line 51 of file CSimpleMap.h.


Member Typedef Documentation

typedef std::pair<CPose3DPDFPtr,CSensoryFramePtr> mrpt::slam::CSimpleMap::TPosePDFSensFramePair [private]

Definition at line 150 of file CSimpleMap.h.

Definition at line 152 of file CSimpleMap.h.


Constructor & Destructor Documentation

mrpt::slam::CSimpleMap::CSimpleMap (  ) 

Constructor.

mrpt::slam::CSimpleMap::CSimpleMap ( const CSimpleMap o  ) 

Copy constructor.

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

Destructor:.


Member Function Documentation

void mrpt::slam::CSimpleMap::changeCoordinatesOrigin ( const CPose3D newOrigin  ) 

Change the coordinate origin of all stored poses, for consistency with future new poses to enter in the system.

void mrpt::slam::CSimpleMap::clear (  ) 

Remove all stored pairs.

See also:
remove
void mrpt::slam::CSimpleMap::get ( size_t  index,
CPose3DPDFPtr &  out_posePDF,
CSensoryFramePtr &  out_SF 
) const

Access to the i'th pair, first one is index '0'.

NOTE: This method returns pointers to the objects inside the list, nor a copy of them, so do neither modify them nor delete them. NOTE: You can pass a NULL pointer if you dont need one of the two variables to be returned.

Exceptions:
std::exception On index out of bounds.
void mrpt::slam::CSimpleMap::insert ( const CPosePDF in_posePDF,
const CSensoryFramePtr &  in_SF 
)

Add a new pair to the sequence.

The objects are copied, so original ones can be free if desired after insertion. This version for 2D PDFs just converts the 2D PDF into 3D before calling the 3D version.

void mrpt::slam::CSimpleMap::insert ( const CPosePDF in_posePDF,
const CSensoryFrame in_SF 
)

Add a new pair to the sequence.

The objects are copied, so original ones can be free if desired after insertion. This version for 2D PDFs just converts the 2D PDF into 3D before calling the 3D version.

void mrpt::slam::CSimpleMap::insert ( const CPosePDFPtr &  in_posePDF,
const CSensoryFramePtr &  in_SF 
)

Add a new pair to the sequence.

The objects are copied, so original ones can be free if desired after insertion. This version for 2D PDFs just converts the 2D PDF into 3D before calling the 3D version.

void mrpt::slam::CSimpleMap::insert ( const CPose3DPDFPtr &  in_posePDF,
const CSensoryFramePtr &  in_SF 
)

Add a new pair to the sequence, making a copy of the smart pointer (it's not made unique).

void mrpt::slam::CSimpleMap::insert ( const CPose3DPDF in_posePDF,
const CSensoryFramePtr &  in_SF 
)

Add a new pair to the sequence, making a copy of the smart pointer (it's not made unique).

void mrpt::slam::CSimpleMap::insert ( const CPose3DPDF in_posePDF,
const CSensoryFrame in_SF 
)

Add a new pair to the sequence.

The objects are copied, so original ones can be free if desired after insertion.

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

Copy constructor.

void mrpt::slam::CSimpleMap::remove ( size_t  index  ) 

Deletes the i'th pair, first one is index '0'.

Exceptions:
std::exception On index out of bounds.
See also:
insert, get, set
void mrpt::slam::CSimpleMap::set ( size_t  index,
const CPosePDFPtr &  in_posePDF,
const CSensoryFramePtr &  in_SF 
)

Changes the i'th pair, first one is index '0'.

The referenced object is COPIED, so you can freely destroy the object passed as parameter after calling this. If one of the pointers is NULL, the corresponding contents of the current i'th pair is not modified (i.e. if you want just to modify one of the values). This version for 2D PDFs just converts the 2D PDF into 3D before calling the 3D version.

Exceptions:
std::exception On index out of bounds.
See also:
insert, get, remove
void mrpt::slam::CSimpleMap::set ( size_t  index,
const CPose3DPDFPtr &  in_posePDF,
const CSensoryFramePtr &  in_SF 
)

Changes the i'th pair, first one is index '0'.

The referenced object is COPIED, so you can freely destroy the object passed as parameter after calling this. If one of the pointers is NULL, the corresponding contents of the current i'th pair is not modified (i.e. if you want just to modify one of the values).

Exceptions:
std::exception On index out of bounds.
See also:
insert, get, remove
size_t mrpt::slam::CSimpleMap::size (  )  const

Returns the pairs count.


Member Data Documentation

Definition at line 58 of file CSimpleMap.h.

Definition at line 59 of file CSimpleMap.h.

The stored data.

Definition at line 155 of file CSimpleMap.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines



Page generated by Doxygen 1.6.1 for MRPT 0.9.0 SVN: at Mon Jun 7 06:47:58 UTC 2010