Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Attributes | Friends
jafar::rtslam::LandmarkAbstract Class Reference

Base class for all landmarks defined in the module rtslam. More...


Detailed Description

Base class for all landmarks defined in the module rtslam.

Definition at line 48 of file landmarkAbstract.hpp.

#include <landmarkAbstract.hpp>

Inheritance diagram for jafar::rtslam::LandmarkAbstract:
Inheritance graph
[legend]

List of all members.

Public Types

enum  geometry_t { POINT, LINE, PLANE, ELLIPSE }
enum  type_enum { PNT_EUC, PNT_AH, LINE_AHPL }
enum  killed_enum { kNo = 0, kDuplicate, kCellOverflow }
enum  DecisionMethod { ANY, ALL, MAJORITY }

Public Member Functions

 LandmarkAbstract (const map_ptr_t &_mapPtr, const size_t _size, bool freeze_first=false)
 constructor from map and size
 LandmarkAbstract (const simulation_t dummy, const map_ptr_t &_mapPtr, const size_t _size, bool freeze_first=false)
 LandmarkAbstract (const map_ptr_t &_mapPtr, const landmark_ptr_t &_prevLmk, const size_t _size, jblas::ind_array &_icomp, bool freeze_first=false)
 Constructor by replacement: occupied the same filter state as a specified previous lmk.
virtual ~LandmarkAbstract ()
 Mandatory virtual destructor.
void setId ()
std::string categoryName () const
geometry_t getGeomType () const
virtual std::string typeName () const
void reparametrize (const landmark_ptr_t &lmkDestPtr)
void reparametrize (int size, vec &xNew, sym_mat &pNew)
jblas::vec reparametrized () const
virtual vec reparametrize_func (const vec &lmk) const =0
virtual void reparametrize_func (const vec &lmk, vec &lnew, mat &LNEW_lmk) const =0
virtual jblas::ind_array nobs ()=0
 Indices of the state that are supposed to be non observable (typically inverse depth for points from camera ; if the sensor can observe depth, we won't use an inverse depth parametrization)
virtual size_t mySize ()=0
 Size of the landmark state.
virtual size_t reparamSize ()=0
 Size of the reparametrized landmark.
virtual jblas::vec3 center ()=0
 Position x,y,z of the center of the landmark.
virtual double uncertainty ()=0
 The max uncertainty of the landmark position (3 sigma in meters)
virtual void setDescriptor (const descriptor_ptr_t &descPtr)
virtual bool needToDie ()
 Evaluate the landmark's special need to die.
void destroyDisplay ()
 destroy the display data of itself and its children
void suicide ()
 Suicide.
virtual void transferInfoLmk (landmark_ptr_t &lmkSourcePtr)
void fillEvents ()
unsigned countObserved ()

Public Attributes

type_enum type
bool converged
bool visible
bool updatable
killed_enum killed
descriptor_ptr_t descriptorPtr
 Landmark descriptor.
VisibilityMap visibilityMap
Gaussian first_state
jblas::mat LNEW_lmk
 Jacobian comming from reparametrisation of old lmk wrt. new lmk.

Static Public Attributes

static IdFactory landmarkIds

Protected Attributes

geometry_t geomType

Friends

std::ostream & operator<< (std::ostream &s, LandmarkAbstract const &obs)
image::oimstreamoperator<< (image::oimstream &s, LandmarkAbstract const &lmk)

Constructor & Destructor Documentation

jafar::rtslam::LandmarkAbstract::LandmarkAbstract ( const map_ptr_t &  _mapPtr,
const landmark_ptr_t &  _prevLmk,
const size_t  _size,
jblas::ind_array _icomp,
bool  freeze_first = false 
)

Constructor by replacement: occupied the same filter state as a specified previous lmk.

_icomp is the complementary memory, to be relaxed by the user.

Mandatory virtual destructor.

We purposely kill all links from sensors to the observations depending on this landmark. This way, killing the landmark will kill all derived observations because all shared_ptr will be eliminated.


Member Function Documentation

virtual bool jafar::rtslam::LandmarkAbstract::needToDie ( ) [inline, virtual]

Evaluate the landmark's special need to die.

Returns:
true if the landmark should die.

Reimplemented in jafar::rtslam::LandmarkAnchoredHomogeneousPointsLine, and jafar::rtslam::LandmarkAnchoredHomogeneousPoint.

Definition at line 168 of file landmarkAbstract.hpp.

Suicide.

We cut the linik to parent and the object naturally dies.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Wed Oct 15 2014 00:37:45 for Jafar by doxygen 1.7.6.1
LAAS-CNRS