MROB
Public Member Functions | Protected Attributes | List of all members
mrob::NodeLandmark2d Class Reference

#include <nodeLandmark2d.hpp>

Inheritance diagram for mrob::NodeLandmark2d:
Inheritance graph
[legend]
Collaboration diagram for mrob::NodeLandmark2d:
Collaboration graph
[legend]

Public Member Functions

 NodeLandmark2d (const Mat21 &initial_x, Node::nodeMode mode=STANDARD)
 
void update (VectRefConst &dx) override
 
void update_from_auxiliary (VectRefConst &dx) override
 
void set_state (MatRefConst &x) override
 
void set_auxiliary_state (MatRefConst &x) override
 
MatRefConst get_state () const override
 
MatRefConst get_auxiliary_state () const override
 
void print () const
 
- Public Member Functions inherited from mrob::Node
 Node (uint_t dim, nodeMode mode=STANDARD)
 
factor_id_t get_id () const
 
void set_id (factor_id_t id)
 
factor_id_t get_dim (void) const
 
bool is_connected_to_EF () const
 
void set_connected_to_EF (bool state=true)
 
void set_node_mode (nodeMode mode)
 
nodeMode get_node_mode ()
 

Protected Attributes

Mat21 state_
 
Mat21 auxiliaryState_
 
- Protected Attributes inherited from mrob::Node
factor_id_t id_
 
uint_t dim_
 
nodeMode node_mode_
 
bool isConnected2EF_
 

Additional Inherited Members

- Public Types inherited from mrob::Node
enum  nodeMode { STANDARD = 0, ANCHOR, SCHUR_MARGI }
 

Detailed Description

Class Node Landmark 2d is a node whose state is a landmark position l = [x,y]'. Here we implement the necessary methods compliant with the node.hpp interface

Constructor & Destructor Documentation

◆ NodeLandmark2d()

NodeLandmark2d::NodeLandmark2d ( const Mat21 &  initial_x,
Node::nodeMode  mode = STANDARD 
)

For initialization, requires an initial estimation of the state.

Member Function Documentation

◆ get_auxiliary_state()

MatRefConst mrob::NodeLandmark2d::get_auxiliary_state ( ) const
inlineoverridevirtual

Returns a matrix to the last auxiliary state. This data structure is for the incre- metal implementation, or for error evaluation

Implements mrob::Node.

◆ get_state()

MatRefConst mrob::NodeLandmark2d::get_state ( ) const
inlineoverridevirtual

Declared as a dynamic matrix reference to allow any size to be returned. At run time returns a Reference to a fixed size matrix and provide it as an argument for the getState function, no need to be dynamic, as long as the dimension is correctly set

Implements mrob::Node.

◆ set_auxiliary_state()

void NodeLandmark2d::set_auxiliary_state ( MatRefConst &  x)
overridevirtual

New auxiliary state set

Implements mrob::Node.

◆ set_state()

void NodeLandmark2d::set_state ( MatRefConst &  x)
overridevirtual

At run time sets the new value of the estate and auxiliary to be x

Implements mrob::Node.

◆ update()

void NodeLandmark2d::update ( VectRefConst &  dx)
overridevirtual

The update function, given any block vector it updates the value of the state (principal).

Since we don't know the size at compilation, we declare a dynamic matrix, but on run-time we would like to use a fixed block matrix, and this virtual function will handle it nicely.

Implements mrob::Node.

◆ update_from_auxiliary()

void NodeLandmark2d::update_from_auxiliary ( VectRefConst &  dx)
overridevirtual

Updates FROM the auxiliary state the principal state.

Implements mrob::Node.


The documentation for this class was generated from the following files: