MRPT logo

mrpt::slam::CSensFrameProbSequence 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/CSensFrameProbSequence.h>

Inheritance diagram for mrpt::slam::CSensFrameProbSequence:

mrpt::utils::CSerializable

List of all members.

Public Member Functions

 CSensFrameProbSequence ()
 Constructor.
 CSensFrameProbSequence (const CSensFrameProbSequence &o)
 Copy constructor.
CSensFrameProbSequenceoperator= (const CSensFrameProbSequence &o)
 Copy constructor.
virtual ~CSensFrameProbSequence ()
 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 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.


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".
See also:
CSensoryFrame, CPosePDF

Definition at line 50 of file CSensFrameProbSequence.h.


Member Typedef Documentation

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

Definition at line 144 of file CSensFrameProbSequence.h.

Definition at line 146 of file CSensFrameProbSequence.h.


Constructor & Destructor Documentation

mrpt::slam::CSensFrameProbSequence::CSensFrameProbSequence (  ) 

Constructor.

mrpt::slam::CSensFrameProbSequence::CSensFrameProbSequence ( const CSensFrameProbSequence o  ) 

Copy constructor.

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

Destructor:.


Member Function Documentation

void mrpt::slam::CSensFrameProbSequence::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::CSensFrameProbSequence::clear (  ) 

Remove all stored pairs.

See also:
remove

void mrpt::slam::CSensFrameProbSequence::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::CSensFrameProbSequence::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::CSensFrameProbSequence::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::CSensFrameProbSequence::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::CSensFrameProbSequence::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::CSensFrameProbSequence::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.

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

Copy constructor.

void mrpt::slam::CSensFrameProbSequence::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::CSensFrameProbSequence::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::CSensFrameProbSequence::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::CSensFrameProbSequence::size (  )  const

Returns the pairs count.


Member Data Documentation

The stored data.

Definition at line 149 of file CSensFrameProbSequence.h.




Page generated by Doxygen 1.5.8 for MRPT 0.6.5 SVN:exported at Mon Jan 12 13:00:16 UTC 2009