NDEVR
API Documentation
VertexSim3Expmap

Vertex for Sim3 similarity transformations (7-DoF: rotation, translation, scale). More...

Inheritance diagram for VertexSim3Expmap:
[legend]
Collaboration diagram for VertexSim3Expmap:
[legend]

Public Member Functions

virtual void oplusImpl (const g_type *update_)
 update the position of the node from the parameters in v.
Public Member Functions inherited from BaseVertex< 7, Sim3 >
 BaseVertex ()
 Default constructor.
HessianBlockType & A ()
 return the hessian block associated with the vertex
const g_type & b (int i) const final override
 Returns a const reference to the i-th element of the b vector.
g_type * bData () final override
 Returns a mutable pointer to the raw b vector data.
void clearQuadraticForm () final override
 Zeros the b vector, clearing the accumulated quadratic form gradient.
sint04 copyB (g_type *b_) const final override
 Copies the b vector into the provided array.
sint04 dimension () const final override
 Returns the minimal dimension of this vertex.
virtual void discardTop () final override
 Discards the top of the backup stack without restoring.
const EstimateType & estimate () const
 return the current estimate of the vertex
const g_type & hessian (int i, int j) const final override
 Returns a const reference to the Hessian element at (i,j).
g_type * hessianData () final override
 Returns a mutable pointer to the raw Hessian data.
g_type hessianDeterminant () const final override
 Returns the determinant of the Hessian block.
void mapHessianMemory (g_type *d) final override
 Maps the Hessian block to an external memory buffer.
virtual void pop () final override
 Restores the estimate from the top of the backup stack and removes it.
virtual void push () final override
 Pushes the current estimate onto the backup stack.
void setEstimate (const EstimateType &et)
 set the estimate for the vertex also calls updateCache()
g_type solveDirect (g_type lambda=0.0) final override
 Solves the local linear system H*dx = b directly and applies the update.
virtual int stackSize () const final override
 Returns the number of entries on the backup stack.
Public Member Functions inherited from OptimizableGraph::OGVertex
int colInHessian () const
 get the row of this vertex in the Hessian
virtual sint04 estimateDimension () const
 returns the dimension of the extended representation used by get/setEstimate(g_type*) -1 if it is not supported
bool fixed () const
 true => this node is fixed during the optimization
virtual bool getEstimateData (Buffer< g_type > &estimate) const
 writes the estimater to an array of g_type
virtual bool getEstimateData (g_type *) const
 writes the estimater to an array of g_type
virtual bool getMinimalEstimateData (Buffer< g_type > &estimate) const
 writes the estimate to an array of g_type
virtual bool getMinimalEstimateData (g_type *) const
 writes the estimate to an array of g_type
int hessianIndex () const
 temporary index of this node in the parameter vector obtained from linearization
bool marginalized () const
 true => this node is marginalized out during the optimization
virtual sint04 minimalEstimateDimension () const
 returns the dimension of the extended representation used by get/setEstimate(g_type*) -1 if it is not supported
void oplus (const g_type *v)
 Update the position of the node from the parameters in v.
void setColInHessian (int c)
 set the row of this vertex in the Hessian
bool setEstimateData (const Buffer< g_type > &estimate)
 sets the initial estimate from an array of g_type Implement setEstimateDataImpl()
bool setEstimateData (const g_type *estimate)
 sets the initial estimate from an array of g_type Implement setEstimateDataImpl()
void setFixed (bool fixed)
 true => this node should be considered fixed during the optimization
void setHessianIndex (int ti)
 set the temporary index of the vertex in the parameter blocks
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
void setMarginalized (bool marginalized)
 true => this node should be marginalized out during the optimization
bool setMinimalEstimateData (const Buffer< g_type > &estimate)
 sets the initial estimate from an array of g_type.
bool setMinimalEstimateData (const g_type *estimate)
 sets the initial estimate from an array of g_type.
Public Member Functions inherited from HyperGraph::HGVertex
 HGVertex (int id=-1)
 creates a vertex having an ID specified by the argument
Buffer< HGEdge * > & edges ()
 returns the set of hyper-edges that are leaving/entering in this vertex
const Buffer< HGEdge * > & edges () const
 returns the set of hyper-edges that are leaving/entering in this vertex
int id () const
 returns the id
void setId (int newId)
 sets the id of this vertex

Public Attributes

bool _fix_scale
 Whether to fix the scale during optimization.
GeometricCamerapCamera2
 Camera models for the two views.

Additional Inherited Members

Protected Member Functions inherited from OptimizableGraph::OGVertex
virtual bool setEstimateDataImpl (const g_type *)
 writes the estimater to an array of g_type
virtual bool setMinimalEstimateDataImpl (const g_type *)
 sets the initial estimate from an array of g_type
Protected Attributes inherited from BaseVertex< 7, Sim3 >
Eigen::Matrix< g_type, t_dims, 1 > _b
 Right-hand side (gradient) vector of the quadratic form.
BackupStackType _backup
 Stack for backing up and restoring estimates.
EstimateType _estimate
 Current estimate for this vertex.
HessianBlockType _hessian
 Mapped Hessian block for this vertex.
Protected Attributes inherited from OptimizableGraph::OGVertex
int _colInHessian = 0
 Column of this vertex in the Hessian matrix.
bool _fixed = false
 Whether this vertex is fixed during optimization.
int _hessianIndex = 0
 Index of this vertex in the Hessian.
bool _marginalized = false
 Whether this vertex is marginalized (Schur complement).
Protected Attributes inherited from HyperGraph::HGVertex
Buffer< HGEdge * > _edges
 Set of edges connected to this vertex.
int _id
 Unique identifier for this vertex.

Detailed Description

Vertex for Sim3 similarity transformations (7-DoF: rotation, translation, scale).

Definition at line 183 of file OptimizableTypes.h.

Member Function Documentation

◆ oplusImpl()

virtual void VertexSim3Expmap::oplusImpl ( const g_type * v)
inlinevirtual

update the position of the node from the parameters in v.

Implement in your class!

Implements OptimizableGraph::OGVertex.

Definition at line 203 of file OptimizableTypes.h.

References _fix_scale, BaseVertex< 7, Sim3 >::estimate(), and BaseVertex< 7, Sim3 >::setEstimate().


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