Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
g2o::BaseVertex< D, T > Class Template Reference

Templatized BaseVertex. More...

#include <base_vertex.h>

Inheritance diagram for g2o::BaseVertex< D, T >:
Inheritance graph
[legend]

Public Types

typedef std::stack< EstimateType, std::vector< EstimateType, Eigen::aligned_allocator< EstimateType > > > BackupStackType
 
typedef T EstimateType
 
typedef Eigen::Map< Matrix< double, D, D >, Matrix< double, D, D >::Flags &PacketAccessBit?Aligned:Unaligned > HessianBlockType
 

Public Member Functions

HessianBlockTypeA ()
 return the hessian block associated with the vertex More...
 
const HessianBlockTypeA () const
 
virtual const double & b (int i) const
 get the b vector element More...
 
virtual double & b (int i)
 
Matrix< double, D, 1 > & b ()
 return right hand side b of the constructed linear system More...
 
const Matrix< double, D, 1 > & b () const
 
 BaseVertex ()
 
virtual double * bData ()
 return a pointer to the b vector associated with this vertex More...
 
virtual void clearQuadraticForm ()
 
virtual int copyB (double *b_) const
 
virtual void discardTop ()
 pop the last element from the stack, without restoring the current estimate More...
 
const EstimateTypeestimate () const
 return the current estimate of the vertex More...
 
virtual const double & hessian (int i, int j) const
 get the element from the hessian matrix More...
 
virtual double & hessian (int i, int j)
 
virtual double * hessianData ()
 
virtual double hessianDeterminant () const
 
virtual void mapHessianMemory (double *d)
 
virtual void pop ()
 restore the position of the vertex by retrieving the position from the stack More...
 
virtual void push ()
 backup the position of the vertex to a stack More...
 
void setEstimate (const EstimateType &et)
 set the estimate for the vertex also calls updateCache() More...
 
virtual double solveDirect (double lambda=0)
 
virtual int stackSize () const
 return the stack size More...
 
- Public Member Functions inherited from g2o::OptimizableGraph::Vertex
void addUserData (Data *obs)
 
CacheContainercacheContainer ()
 
virtual Vertexclone () const
 returns a deep copy of the current vertex More...
 
int colInHessian () const
 get the row of this vertex in the Hessian More...
 
int dimension () const
 dimension of the estimated state belonging to this node More...
 
virtual int estimateDimension () const
 
bool fixed () const
 true => this node is fixed during the optimization More...
 
int G2O_ATTRIBUTE_DEPRECATED (tempIndex() const)
 
void G2O_ATTRIBUTE_DEPRECATED (setTempIndex(int ti))
 
virtual bool getEstimateData (double *estimate) const
 
virtual bool getEstimateData (std::vector< double > &estimate) const
 
virtual bool getMinimalEstimateData (double *estimate) const
 
virtual bool getMinimalEstimateData (std::vector< double > &estimate) const
 
const OptimizableGraphgraph () const
 
OptimizableGraphgraph ()
 
int hessianIndex () const
 temporary index of this node in the parameter vector obtained from linearization More...
 
void lockQuadraticForm ()
 
bool marginalized () const
 true => this node is marginalized out during the optimization More...
 
virtual int minimalEstimateDimension () const
 
void oplus (const double *v)
 
virtual bool read (std::istream &is)=0
 read the vertex from a stream, i.e., the internal state of the vertex More...
 
void setColInHessian (int c)
 set the row of this vertex in the Hessian More...
 
bool setEstimateData (const double *estimate)
 
bool setEstimateData (const std::vector< double > &estimate)
 
void setFixed (bool fixed)
 true => this node should be considered fixed during the optimization More...
 
void setHessianIndex (int ti)
 set the temporary index of the vertex in the parameter blocks More...
 
virtual void setId (int id)
 sets the id of the node in the graph be sure that the graph keeps consistent after changing the id More...
 
void setMarginalized (bool marginalized)
 true => this node should be marginalized out during the optimization More...
 
bool setMinimalEstimateData (const double *estimate)
 
bool setMinimalEstimateData (const std::vector< double > &estimate)
 
void setToOrigin ()
 sets the node to the origin (used in the multilevel stuff) More...
 
void setUserData (Data *obs)
 
void unlockQuadraticForm ()
 
virtual void updateCache ()
 
const DatauserData () const
 the user data associated with this vertex More...
 
DatauserData ()
 
 Vertex ()
 
virtual bool write (std::ostream &os) const =0
 write the vertex to a stream More...
 
virtual ~Vertex ()
 
- Public Member Functions inherited from g2o::HyperGraph::Vertex
const EdgeSetedges () const
 returns the set of hyper-edges that are leaving/entering in this vertex More...
 
EdgeSetedges ()
 returns the set of hyper-edges that are leaving/entering in this vertex More...
 
virtual HyperGraphElementType elementType () const
 
int id () const
 returns the id More...
 
 Vertex (int id=-1)
 creates a vertex having an ID specified by the argument More...
 
- Public Member Functions inherited from g2o::HyperGraph::HyperGraphElement
virtual ~HyperGraphElement ()
 

Static Public Attributes

static const int Dimension = D
 dimension of the estimate (minimal) in the manifold space More...
 

Protected Attributes

Matrix< double, D, 1 > _b
 
BackupStackType _backup
 
EstimateType _estimate
 
HessianBlockType _hessian
 
- Protected Attributes inherited from g2o::OptimizableGraph::Vertex
CacheContainer_cacheContainer
 
int _colInHessian
 
int _dimension
 
bool _fixed
 
OptimizableGraph_graph
 
int _hessianIndex
 
bool _marginalized
 
OpenMPMutex _quadraticFormMutex
 
Data_userData
 
- Protected Attributes inherited from g2o::HyperGraph::Vertex
EdgeSet _edges
 
int _id
 

Additional Inherited Members

- Protected Member Functions inherited from g2o::OptimizableGraph::Vertex
virtual void oplusImpl (const double *v)=0
 
virtual bool setEstimateDataImpl (const double *)
 
virtual bool setMinimalEstimateDataImpl (const double *)
 
virtual void setToOriginImpl ()=0
 sets the node to the origin (used in the multilevel stuff) More...
 

Detailed Description

template<int D, typename T>
class g2o::BaseVertex< D, T >

Templatized BaseVertex.

Templatized BaseVertex D : minimal dimension of the vertex, e.g., 3 for rotation in 3D T : internal type to represent the estimate, e.g., Quaternion for rotation in 3D

Definition at line 53 of file base_vertex.h.

Member Typedef Documentation

template<int D, typename T>
typedef std::stack<EstimateType, std::vector<EstimateType, Eigen::aligned_allocator<EstimateType> > > g2o::BaseVertex< D, T >::BackupStackType

Definition at line 58 of file base_vertex.h.

template<int D, typename T>
typedef T g2o::BaseVertex< D, T >::EstimateType

Definition at line 55 of file base_vertex.h.

template<int D, typename T>
typedef Eigen::Map<Matrix<double, D, D>, Matrix<double,D,D>::Flags & PacketAccessBit ? Aligned : Unaligned > g2o::BaseVertex< D, T >::HessianBlockType

Definition at line 62 of file base_vertex.h.

Constructor & Destructor Documentation

template<int D, typename T >
BaseVertex::BaseVertex ( )

Definition at line 29 of file base_vertex.h.

Member Function Documentation

template<int D, typename T>
HessianBlockType& g2o::BaseVertex< D, T >::A ( )
inline

return the hessian block associated with the vertex

Definition at line 93 of file base_vertex.h.

template<int D, typename T>
const HessianBlockType& g2o::BaseVertex< D, T >::A ( ) const
inline

Definition at line 94 of file base_vertex.h.

template<int D, typename T>
virtual const double& g2o::BaseVertex< D, T >::b ( int  i) const
inlinevirtual

get the b vector element

Implements g2o::OptimizableGraph::Vertex.

Definition at line 79 of file base_vertex.h.

template<int D, typename T>
virtual double& g2o::BaseVertex< D, T >::b ( int  i)
inlinevirtual

Implements g2o::OptimizableGraph::Vertex.

Definition at line 80 of file base_vertex.h.

template<int D, typename T>
Matrix<double, D, 1>& g2o::BaseVertex< D, T >::b ( )
inline

return right hand side b of the constructed linear system

Definition at line 90 of file base_vertex.h.

template<int D, typename T>
const Matrix<double, D, 1>& g2o::BaseVertex< D, T >::b ( ) const
inline

Definition at line 91 of file base_vertex.h.

template<int D, typename T>
virtual double* g2o::BaseVertex< D, T >::bData ( )
inlinevirtual

return a pointer to the b vector associated with this vertex

Implements g2o::OptimizableGraph::Vertex.

Definition at line 81 of file base_vertex.h.

template<int D, typename T >
void BaseVertex::clearQuadraticForm ( )
virtual

set the b vector part of this vertex to zero

Implements g2o::OptimizableGraph::Vertex.

Definition at line 48 of file base_vertex.h.

template<int D, typename T>
virtual int g2o::BaseVertex< D, T >::copyB ( double *  b_) const
inlinevirtual

copies the b vector in the array b_

Returns
the number of elements copied

Implements g2o::OptimizableGraph::Vertex.

Definition at line 74 of file base_vertex.h.

template<int D, typename T>
virtual void g2o::BaseVertex< D, T >::discardTop ( )
inlinevirtual

pop the last element from the stack, without restoring the current estimate

Implements g2o::OptimizableGraph::Vertex.

Definition at line 98 of file base_vertex.h.

template<int D, typename T>
const EstimateType& g2o::BaseVertex< D, T >::estimate ( ) const
inline

return the current estimate of the vertex

Definition at line 102 of file base_vertex.h.

template<int D, typename T>
virtual const double& g2o::BaseVertex< D, T >::hessian ( int  i,
int  j 
) const
inlinevirtual

get the element from the hessian matrix

Implements g2o::OptimizableGraph::Vertex.

Definition at line 67 of file base_vertex.h.

template<int D, typename T>
virtual double& g2o::BaseVertex< D, T >::hessian ( int  i,
int  j 
)
inlinevirtual

Implements g2o::OptimizableGraph::Vertex.

Definition at line 68 of file base_vertex.h.

template<int D, typename T>
virtual double* g2o::BaseVertex< D, T >::hessianData ( )
inlinevirtual

Implements g2o::OptimizableGraph::Vertex.

Definition at line 70 of file base_vertex.h.

template<int D, typename T>
virtual double g2o::BaseVertex< D, T >::hessianDeterminant ( ) const
inlinevirtual

Implements g2o::OptimizableGraph::Vertex.

Definition at line 69 of file base_vertex.h.

template<int D, typename T >
void BaseVertex::mapHessianMemory ( double *  d)
virtual

maps the internal matrix to some external memory location

Implements g2o::OptimizableGraph::Vertex.

Definition at line 53 of file base_vertex.h.

template<int D, typename T>
virtual void g2o::BaseVertex< D, T >::pop ( )
inlinevirtual

restore the position of the vertex by retrieving the position from the stack

Implements g2o::OptimizableGraph::Vertex.

Definition at line 97 of file base_vertex.h.

template<int D, typename T>
virtual void g2o::BaseVertex< D, T >::push ( )
inlinevirtual

backup the position of the vertex to a stack

Implements g2o::OptimizableGraph::Vertex.

Definition at line 96 of file base_vertex.h.

template<int D, typename T>
void g2o::BaseVertex< D, T >::setEstimate ( const EstimateType et)
inline

set the estimate for the vertex also calls updateCache()

Definition at line 104 of file base_vertex.h.

template<int D, typename T >
double BaseVertex::solveDirect ( double  lambda = 0)
virtual

updates the current vertex with the direct solution x += H_ii

Returns
the determinant of the inverted hessian

Implements g2o::OptimizableGraph::Vertex.

Definition at line 37 of file base_vertex.h.

template<int D, typename T>
virtual int g2o::BaseVertex< D, T >::stackSize ( ) const
inlinevirtual

return the stack size

Implements g2o::OptimizableGraph::Vertex.

Definition at line 99 of file base_vertex.h.

Member Data Documentation

template<int D, typename T>
Matrix<double, D, 1> g2o::BaseVertex< D, T >::_b
protected

Definition at line 108 of file base_vertex.h.

template<int D, typename T>
BackupStackType g2o::BaseVertex< D, T >::_backup
protected

Definition at line 110 of file base_vertex.h.

template<int D, typename T>
EstimateType g2o::BaseVertex< D, T >::_estimate
protected

Definition at line 109 of file base_vertex.h.

template<int D, typename T>
HessianBlockType g2o::BaseVertex< D, T >::_hessian
protected

Definition at line 107 of file base_vertex.h.

template<int D, typename T>
const int g2o::BaseVertex< D, T >::Dimension = D
static

dimension of the estimate (minimal) in the manifold space

Definition at line 60 of file base_vertex.h.


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


orb_slam2_ros
Author(s):
autogenerated on Wed Apr 21 2021 02:53:06