|
g2o
|
A general case Vertex for optimization. More...
#include <optimizable_graph.h>


Public Member Functions | |
| Vertex () | |
| virtual | ~Vertex () |
| void | setToOrigin () |
| sets the node to the origin (used in the multilevel stuff) | |
| virtual const double & | hessian (int i, int j) const =0 |
| get the element from the hessian matrix | |
| virtual double & | hessian (int i, int j)=0 |
| virtual double | hessianDeterminant () const =0 |
| virtual double * | hessianData ()=0 |
| virtual void | mapHessianMemory (double *d)=0 |
| virtual int | copyB (double *b_) const =0 |
| virtual const double & | b (int i) const =0 |
| get the b vector element | |
| virtual double & | b (int i)=0 |
| virtual double * | bData ()=0 |
| return a pointer to the b vector associated with this vertex | |
| virtual void | clearQuadraticForm ()=0 |
| virtual double | solveDirect (double lambda=0)=0 |
| bool | setEstimateData (const double *estimate) |
| bool | setEstimateData (const std::vector< double > &estimate) |
| template<typename Derived > | |
| bool | setEstimateData (const Eigen::MatrixBase< Derived > &estimate) |
| virtual bool | getEstimateData (double *estimate) const |
| virtual bool | getEstimateData (std::vector< double > &estimate) const |
| template<typename Derived > | |
| bool | getEstimateData (Eigen::MatrixBase< Derived > &estimate) const |
| virtual int | estimateDimension () const |
| bool | setMinimalEstimateData (const double *estimate) |
| bool | setMinimalEstimateData (const std::vector< double > &estimate) |
| template<typename Derived > | |
| bool | setMinimalEstimateData (const Eigen::MatrixBase< Derived > &estimate) |
| virtual bool | getMinimalEstimateData (double *estimate) const |
| virtual bool | getMinimalEstimateData (std::vector< double > &estimate) const |
| template<typename Derived > | |
| bool | getMinimalEstimateData (Eigen::MatrixBase< Derived > &estimate) const |
| virtual int | minimalEstimateDimension () const |
| virtual void | push ()=0 |
| backup the position of the vertex to a stack | |
| virtual void | pop ()=0 |
| virtual void | discardTop ()=0 |
| virtual int | stackSize () const =0 |
| return the stack size | |
| void | oplus (const double *v) |
| int | hessianIndex () const |
| int | G2O_ATTRIBUTE_DEPRECATED (tempIndex() const) |
| void | setHessianIndex (int ti) |
| set the temporary index of the vertex in the parameter blocks | |
| void | G2O_ATTRIBUTE_DEPRECATED (setTempIndex(int ti)) |
| bool | fixed () const |
| true => this node is fixed during the optimization | |
| void | setFixed (bool fixed) |
| true => this node should be considered fixed during the optimization | |
| bool | marginalized () const |
| true => this node is marginalized out during the optimization | |
| void | setMarginalized (bool marginalized) |
| true => this node should be marginalized out during the optimization | |
| int | dimension () const |
| dimension of the estimated state belonging to this node | |
| virtual void | setId (int id) |
| void | setColInHessian (int c) |
| set the row of this vertex in the Hessian | |
| int | colInHessian () const |
| get the row of this vertex in the Hessian | |
| const OptimizableGraph * | graph () const |
| OptimizableGraph * | graph () |
| void | lockQuadraticForm () |
| void | unlockQuadraticForm () |
| virtual bool | read (std::istream &is)=0 |
| read the vertex from a stream, i.e., the internal state of the vertex | |
| virtual bool | write (std::ostream &os) const =0 |
| write the vertex to a stream | |
| virtual void | updateCache () |
| CacheContainer * | cacheContainer () |
Public Member Functions inherited from g2o::HyperGraph::Vertex | |
| Vertex (int id=InvalidId) | |
| creates a vertex having an ID specified by the argument | |
| int | id () const |
| returns the id | |
| const EdgeSet & | edges () const |
| returns the set of hyper-edges that are leaving/entering in this vertex | |
| EdgeSet & | edges () |
| returns the set of hyper-edges that are leaving/entering in this vertex | |
| virtual HyperGraphElementType | elementType () const |
Public Member Functions inherited from g2o::HyperGraph::HyperGraphElement | |
| virtual | ~HyperGraphElement () |
Public Member Functions inherited from g2o::HyperGraph::DataContainer | |
| DataContainer () | |
| virtual | ~DataContainer () |
| const Data * | userData () const |
| the user data associated with this vertex | |
| Data * | userData () |
| void | setUserData (Data *obs) |
| void | addUserData (Data *obs) |
Protected Member Functions | |
| virtual void | oplusImpl (const double *v)=0 |
| virtual void | setToOriginImpl ()=0 |
| sets the node to the origin (used in the multilevel stuff) | |
| virtual bool | setEstimateDataImpl (const double *) |
| virtual bool | setMinimalEstimateDataImpl (const double *) |
Protected Attributes | |
| OptimizableGraph * | _graph |
| Data * | _userData |
| int | _hessianIndex |
| bool | _fixed |
| bool | _marginalized |
| int | _dimension |
| int | _colInHessian |
| OpenMPMutex | _quadraticFormMutex |
| CacheContainer * | _cacheContainer |
Protected Attributes inherited from g2o::HyperGraph::Vertex | |
| int | _id |
| EdgeSet | _edges |
Protected Attributes inherited from g2o::HyperGraph::DataContainer | |
| Data * | _userData |
Friends | |
| struct | OptimizableGraph |
A general case Vertex for optimization.
Definition at line 107 of file optimizable_graph.h.
| g2o::OptimizableGraph::Vertex::Vertex | ( | ) |
Definition at line 56 of file optimizable_graph.cpp.
|
virtual |
Reimplemented from g2o::HyperGraph::Vertex.
Definition at line 78 of file optimizable_graph.cpp.
|
pure virtual |
get the b vector element
Implemented in g2o::BaseVertex< D, T >, g2o::BaseVertex< 1, double >, g2o::BaseVertex< 2, Eigen::Vector2d >, g2o::BaseVertex< 2, Line2D >, g2o::BaseVertex< 2, Vector2 >, g2o::BaseVertex< 3, Eigen::Vector3d >, g2o::BaseVertex< 3, g2o::Vector3 >, g2o::BaseVertex< 3, Plane3D >, g2o::BaseVertex< 3, SE2 >, g2o::BaseVertex< 3, Vector3 >, g2o::BaseVertex< 4, Eigen::Matrix< double, 5, 1, Eigen::ColMajor > >, g2o::BaseVertex< 4, Line3D >, g2o::BaseVertex< 4, Vector4 >, g2o::BaseVertex< 6, Isometry3 >, g2o::BaseVertex< 6, SBACam >, g2o::BaseVertex< 6, SE3Quat >, g2o::BaseVertex< 6, Vector6d >, g2o::BaseVertex< 7, Sim3 >, g2o::BaseVertex< 9, g2o::bal::Vector9 >, g2o::BaseVertex<-1, Eigen::VectorXd >, and g2o::BaseVertex<-1, T >.
|
pure virtual |
Implemented in g2o::BaseVertex< D, T >, g2o::BaseVertex< 1, double >, g2o::BaseVertex< 2, Eigen::Vector2d >, g2o::BaseVertex< 2, Line2D >, g2o::BaseVertex< 2, Vector2 >, g2o::BaseVertex< 3, Eigen::Vector3d >, g2o::BaseVertex< 3, g2o::Vector3 >, g2o::BaseVertex< 3, Plane3D >, g2o::BaseVertex< 3, SE2 >, g2o::BaseVertex< 3, Vector3 >, g2o::BaseVertex< 4, Eigen::Matrix< double, 5, 1, Eigen::ColMajor > >, g2o::BaseVertex< 4, Line3D >, g2o::BaseVertex< 4, Vector4 >, g2o::BaseVertex< 6, Isometry3 >, g2o::BaseVertex< 6, SBACam >, g2o::BaseVertex< 6, SE3Quat >, g2o::BaseVertex< 6, Vector6d >, g2o::BaseVertex< 7, Sim3 >, g2o::BaseVertex< 9, g2o::bal::Vector9 >, g2o::BaseVertex<-1, Eigen::VectorXd >, and g2o::BaseVertex<-1, T >.
|
pure virtual |
return a pointer to the b vector associated with this vertex
Implemented in g2o::BaseVertex< D, T >, g2o::BaseVertex< 1, double >, g2o::BaseVertex< 2, Eigen::Vector2d >, g2o::BaseVertex< 2, Line2D >, g2o::BaseVertex< 2, Vector2 >, g2o::BaseVertex< 3, Eigen::Vector3d >, g2o::BaseVertex< 3, g2o::Vector3 >, g2o::BaseVertex< 3, Plane3D >, g2o::BaseVertex< 3, SE2 >, g2o::BaseVertex< 3, Vector3 >, g2o::BaseVertex< 4, Eigen::Matrix< double, 5, 1, Eigen::ColMajor > >, g2o::BaseVertex< 4, Line3D >, g2o::BaseVertex< 4, Vector4 >, g2o::BaseVertex< 6, Isometry3 >, g2o::BaseVertex< 6, SBACam >, g2o::BaseVertex< 6, SE3Quat >, g2o::BaseVertex< 6, Vector6d >, g2o::BaseVertex< 7, Sim3 >, g2o::BaseVertex< 9, g2o::bal::Vector9 >, g2o::BaseVertex<-1, Eigen::VectorXd >, and g2o::BaseVertex<-1, T >.
Referenced by g2o::StructureOnlySolver< PointDoF >::calc(), and g2o::BaseVariableSizedEdge< D, E >::computeQuadraticForm().
| CacheContainer * g2o::OptimizableGraph::Vertex::cacheContainer | ( | ) |
Definition at line 66 of file optimizable_graph.cpp.
Referenced by g2o::OptimizableGraph::Edge::resolveCache().
|
pure virtual |
set the b vector part of this vertex to zero
Implemented in g2o::BaseVertex< D, T >, g2o::BaseVertex< 1, double >, g2o::BaseVertex< 2, Eigen::Vector2d >, g2o::BaseVertex< 2, Line2D >, g2o::BaseVertex< 2, Vector2 >, g2o::BaseVertex< 3, Eigen::Vector3d >, g2o::BaseVertex< 3, g2o::Vector3 >, g2o::BaseVertex< 3, Plane3D >, g2o::BaseVertex< 3, SE2 >, g2o::BaseVertex< 3, Vector3 >, g2o::BaseVertex< 4, Eigen::Matrix< double, 5, 1, Eigen::ColMajor > >, g2o::BaseVertex< 4, Line3D >, g2o::BaseVertex< 4, Vector4 >, g2o::BaseVertex< 6, Isometry3 >, g2o::BaseVertex< 6, SBACam >, g2o::BaseVertex< 6, SE3Quat >, g2o::BaseVertex< 6, Vector6d >, g2o::BaseVertex< 7, Sim3 >, g2o::BaseVertex< 9, g2o::bal::Vector9 >, g2o::BaseVertex<-1, Eigen::VectorXd >, and g2o::BaseVertex<-1, T >.
Referenced by g2o::BlockSolver< Traits >::buildSystem(), g2o::StructureOnlySolver< PointDoF >::calc(), g2o::SparseOptimizerIncremental::updateInitialization(), and g2o::SparseOptimizerOnline::updateInitialization().
|
inline |
get the row of this vertex in the Hessian
Definition at line 357 of file optimizable_graph.h.
Referenced by g2o::BlockSolver< Traits >::buildSystem(), g2o::SparseOptimizerIncremental::optimize(), and g2o::SparseOptimizerOnline::optimize().
|
pure virtual |
copies the b vector in the array b_
Implemented in g2o::BaseVertex< D, T >, g2o::BaseVertex< 1, double >, g2o::BaseVertex< 2, Eigen::Vector2d >, g2o::BaseVertex< 2, Line2D >, g2o::BaseVertex< 2, Vector2 >, g2o::BaseVertex< 3, Eigen::Vector3d >, g2o::BaseVertex< 3, g2o::Vector3 >, g2o::BaseVertex< 3, Plane3D >, g2o::BaseVertex< 3, SE2 >, g2o::BaseVertex< 3, Vector3 >, g2o::BaseVertex< 4, Eigen::Matrix< double, 5, 1, Eigen::ColMajor > >, g2o::BaseVertex< 4, Line3D >, g2o::BaseVertex< 4, Vector4 >, g2o::BaseVertex< 6, Isometry3 >, g2o::BaseVertex< 6, SBACam >, g2o::BaseVertex< 6, SE3Quat >, g2o::BaseVertex< 6, Vector6d >, g2o::BaseVertex< 7, Sim3 >, g2o::BaseVertex< 9, g2o::bal::Vector9 >, g2o::BaseVertex<-1, Eigen::VectorXd >, and g2o::BaseVertex<-1, T >.
Referenced by g2o::BlockSolver< Traits >::buildSystem(), g2o::SparseOptimizerIncremental::optimize(), and g2o::SparseOptimizerOnline::optimize().
|
inline |
dimension of the estimated state belonging to this node
Definition at line 348 of file optimizable_graph.h.
Referenced by g2o::BlockSolver< Traits >::buildStructure(), g2o::BlockSolver< Traits >::buildSystem(), g2o::StructureOnlySolver< PointDoF >::calc(), g2o::OptimizationAlgorithmLevenberg::computeLambdaInit(), g2o::BaseVariableSizedEdge< D, E >::computeQuadraticForm(), g2o::computeSimpleStars(), g2o::edgeAllVertsSameDim(), g2o::SparseOptimizer::findGauge(), g2o::SparseOptimizer::gaugeFreedom(), g2o::BaseVariableSizedEdge< D, E >::linearizeOplus(), main(), main(), g2o::BaseVariableSizedEdge< D, E >::mapHessianMemory(), g2o::OptimizableGraph::maxDimension(), MainWindow::prepare(), g2o::G2oSlamInterface::printVertex(), PolynomialCoefficientVertex::read(), PPolynomialCoefficientVertex::read(), g2o::saveGnuplot(), PolynomialCoefficientVertex::setDimensionImpl(), g2o::SparseOptimizer::update(), g2o::SparseOptimizerIncremental::updateInitialization(), g2o::JacobianWorkspace::updateSize(), and g2o::BlockSolver< Traits >::updateStructure().
|
pure virtual |
pop the last element from the stack, without restoring the current estimate
Implemented in g2o::BaseVertex< D, T >, g2o::BaseVertex< 1, double >, g2o::BaseVertex< 2, Eigen::Vector2d >, g2o::BaseVertex< 2, Line2D >, g2o::BaseVertex< 2, Vector2 >, g2o::BaseVertex< 3, Eigen::Vector3d >, g2o::BaseVertex< 3, g2o::Vector3 >, g2o::BaseVertex< 3, Plane3D >, g2o::BaseVertex< 3, SE2 >, g2o::BaseVertex< 3, Vector3 >, g2o::BaseVertex< 4, Eigen::Matrix< double, 5, 1, Eigen::ColMajor > >, g2o::BaseVertex< 4, Line3D >, g2o::BaseVertex< 4, Vector4 >, g2o::BaseVertex< 6, Isometry3 >, g2o::BaseVertex< 6, SBACam >, g2o::BaseVertex< 6, SE3Quat >, g2o::BaseVertex< 6, Vector6d >, g2o::BaseVertex< 7, Sim3 >, g2o::BaseVertex< 9, g2o::bal::Vector9 >, g2o::BaseVertex<-1, Eigen::VectorXd >, and g2o::BaseVertex<-1, T >.
Referenced by g2o::StructureOnlySolver< PointDoF >::calc(), g2o::OptimizableGraph::discardTop(), and g2o::OptimizableGraph::discardTop().
|
virtual |
returns the dimension of the extended representation used by get/setEstimate(double*) -1 if it is not supported
Reimplemented in g2o::VertexCam, g2o::VertexPointXY, g2o::VertexSE2, g2o::VertexLine2D, g2o::VertexSegment2D, g2o::VertexPointXYZ, g2o::VertexSE3, g2o::VertexLine3D, and g2o::VertexPlane.
Definition at line 91 of file optimizable_graph.cpp.
Referenced by g2o::SparseOptimizer::initializeOptimization().
|
inline |
true => this node is fixed during the optimization
Definition at line 338 of file optimizable_graph.h.
Referenced by g2o::SparseOptimizer::buildIndexMapping(), g2o::BlockSolver< Traits >::buildSystem(), g2o::StructureOnlySolver< PointDoF >::calc(), g2o::SparseOptimizer::computeInitialGuess(), g2o::BaseVariableSizedEdge< D, E >::computeQuadraticForm(), g2o::Slam2DViewer::draw(), g2o::SparseOptimizer::gaugeFreedom(), g2o::Edge_V_V_GICP::linearizeOplus(), main(), g2o::EstimatePropagator::PropagateAction::operator()(), g2o::OptimizableGraph::saveVertex(), g2o::SolverSLAM2DLinear::solveOrientation(), g2o::SparseOptimizer::updateInitialization(), and g2o::SparseOptimizerIncremental::updateInitialization().
|
inline |
Definition at line 335 of file optimizable_graph.h.
|
inline |
Definition at line 332 of file optimizable_graph.h.
|
virtual |
writes the estimater to an array of double
Reimplemented in g2o::VertexCam, g2o::VertexPointXY, g2o::VertexSE2, g2o::VertexLine2D, g2o::VertexSegment2D, g2o::VertexPointXYZ, g2o::VertexSE3, g2o::VertexLine3D, and g2o::VertexPlane.
Definition at line 89 of file optimizable_graph.cpp.
Referenced by g2o::SparseOptimizer::initializeOptimization().
|
inline |
writes the estimater to an array of double
Definition at line 206 of file optimizable_graph.h.
|
inlinevirtual |
writes the estimater to an array of double
Definition at line 194 of file optimizable_graph.h.
|
virtual |
writes the estimate to an array of double
Reimplemented in g2o::VertexCam, g2o::VertexPointXY, g2o::VertexSE2, g2o::VertexLine2D, g2o::VertexSegment2D, g2o::VertexPointXYZ, and g2o::VertexSE3.
Definition at line 99 of file optimizable_graph.cpp.
Referenced by testMarginals().
|
inline |
writes the estimate to an eigen type double
Definition at line 281 of file optimizable_graph.h.
|
inlinevirtual |
writes the estimate to an array of double
Definition at line 269 of file optimizable_graph.h.
|
inline |
Definition at line 360 of file optimizable_graph.h.
|
inline |
Definition at line 359 of file optimizable_graph.h.
Referenced by g2o::activeVertexChi(), MainWindow::fixGraph(), g2o::CacheContainer::graph(), g2o::OptimizableGraph::Edge::graph(), and g2o::OptimizableGraph::Edge::graph().
|
pure virtual |
get the element from the hessian matrix
Implemented in g2o::BaseVertex< D, T >, g2o::BaseVertex< 1, double >, g2o::BaseVertex< 2, Eigen::Vector2d >, g2o::BaseVertex< 2, Line2D >, g2o::BaseVertex< 2, Vector2 >, g2o::BaseVertex< 3, Eigen::Vector3d >, g2o::BaseVertex< 3, g2o::Vector3 >, g2o::BaseVertex< 3, Plane3D >, g2o::BaseVertex< 3, SE2 >, g2o::BaseVertex< 3, Vector3 >, g2o::BaseVertex< 4, Eigen::Matrix< double, 5, 1, Eigen::ColMajor > >, g2o::BaseVertex< 4, Line3D >, g2o::BaseVertex< 4, Vector4 >, g2o::BaseVertex< 6, Isometry3 >, g2o::BaseVertex< 6, SBACam >, g2o::BaseVertex< 6, SE3Quat >, g2o::BaseVertex< 6, Vector6d >, g2o::BaseVertex< 7, Sim3 >, g2o::BaseVertex< 9, g2o::bal::Vector9 >, g2o::BaseVertex<-1, Eigen::VectorXd >, and g2o::BaseVertex<-1, T >.
Referenced by g2o::OptimizationAlgorithmLevenberg::computeLambdaInit(), and g2o::computeSimpleStars().
|
pure virtual |
Implemented in g2o::BaseVertex< D, T >, g2o::BaseVertex< 1, double >, g2o::BaseVertex< 2, Eigen::Vector2d >, g2o::BaseVertex< 2, Line2D >, g2o::BaseVertex< 2, Vector2 >, g2o::BaseVertex< 3, Eigen::Vector3d >, g2o::BaseVertex< 3, g2o::Vector3 >, g2o::BaseVertex< 3, Plane3D >, g2o::BaseVertex< 3, SE2 >, g2o::BaseVertex< 3, Vector3 >, g2o::BaseVertex< 4, Eigen::Matrix< double, 5, 1, Eigen::ColMajor > >, g2o::BaseVertex< 4, Line3D >, g2o::BaseVertex< 4, Vector4 >, g2o::BaseVertex< 6, Isometry3 >, g2o::BaseVertex< 6, SBACam >, g2o::BaseVertex< 6, SE3Quat >, g2o::BaseVertex< 6, Vector6d >, g2o::BaseVertex< 7, Sim3 >, g2o::BaseVertex< 9, g2o::bal::Vector9 >, g2o::BaseVertex<-1, Eigen::VectorXd >, and g2o::BaseVertex<-1, T >.
|
pure virtual |
Implemented in g2o::BaseVertex< D, T >, g2o::BaseVertex< 1, double >, g2o::BaseVertex< 2, Eigen::Vector2d >, g2o::BaseVertex< 2, Line2D >, g2o::BaseVertex< 2, Vector2 >, g2o::BaseVertex< 3, Eigen::Vector3d >, g2o::BaseVertex< 3, g2o::Vector3 >, g2o::BaseVertex< 3, Plane3D >, g2o::BaseVertex< 3, SE2 >, g2o::BaseVertex< 3, Vector3 >, g2o::BaseVertex< 4, Eigen::Matrix< double, 5, 1, Eigen::ColMajor > >, g2o::BaseVertex< 4, Line3D >, g2o::BaseVertex< 4, Vector4 >, g2o::BaseVertex< 6, Isometry3 >, g2o::BaseVertex< 6, SBACam >, g2o::BaseVertex< 6, SE3Quat >, g2o::BaseVertex< 6, Vector6d >, g2o::BaseVertex< 7, Sim3 >, g2o::BaseVertex< 9, g2o::bal::Vector9 >, g2o::BaseVertex<-1, Eigen::VectorXd >, and g2o::BaseVertex<-1, T >.
Referenced by g2o::BaseVariableSizedEdge< D, E >::computeQuadraticForm(), and g2o::SparseOptimizerIncremental::updateInitialization().
|
pure virtual |
Implemented in g2o::BaseVertex< D, T >, g2o::BaseVertex< 1, double >, g2o::BaseVertex< 2, Eigen::Vector2d >, g2o::BaseVertex< 2, Line2D >, g2o::BaseVertex< 2, Vector2 >, g2o::BaseVertex< 3, Eigen::Vector3d >, g2o::BaseVertex< 3, g2o::Vector3 >, g2o::BaseVertex< 3, Plane3D >, g2o::BaseVertex< 3, SE2 >, g2o::BaseVertex< 3, Vector3 >, g2o::BaseVertex< 4, Eigen::Matrix< double, 5, 1, Eigen::ColMajor > >, g2o::BaseVertex< 4, Line3D >, g2o::BaseVertex< 4, Vector4 >, g2o::BaseVertex< 6, Isometry3 >, g2o::BaseVertex< 6, SBACam >, g2o::BaseVertex< 6, SE3Quat >, g2o::BaseVertex< 6, Vector6d >, g2o::BaseVertex< 7, Sim3 >, g2o::BaseVertex< 9, g2o::bal::Vector9 >, g2o::BaseVertex<-1, Eigen::VectorXd >, and g2o::BaseVertex<-1, T >.
|
inline |
temporary index of this node in the parameter vector obtained from linearization
Definition at line 331 of file optimizable_graph.h.
Referenced by g2o::EdgeLabeler::augmentSparsePattern(), g2o::BlockSolver< Traits >::buildStructure(), g2o::SparseOptimizer::computeInitialGuess(), g2o::Slam2DViewer::draw(), g2o::EdgeLabeler::labelEdge(), g2o::Star::labelStarEdges(), main(), g2o::SparseOptimizerIncremental::optimize(), g2o::ThetaTreeAction::perform(), g2o::SparseOptimizer::removeVertex(), g2o::SolverSLAM2DLinear::solveOrientation(), testMarginals(), g2o::SparseOptimizerIncremental::updateInitialization(), and g2o::BlockSolver< Traits >::updateStructure().
|
inline |
lock for the block of the hessian and the b vector associated with this vertex, to avoid race-conditions if multi-threaded.
Definition at line 366 of file optimizable_graph.h.
|
pure virtual |
maps the internal matrix to some external memory location
Implemented in g2o::BaseVertex< D, T >, g2o::BaseVertex< 1, double >, g2o::BaseVertex< 2, Eigen::Vector2d >, g2o::BaseVertex< 2, Line2D >, g2o::BaseVertex< 2, Vector2 >, g2o::BaseVertex< 3, Eigen::Vector3d >, g2o::BaseVertex< 3, g2o::Vector3 >, g2o::BaseVertex< 3, Plane3D >, g2o::BaseVertex< 3, SE2 >, g2o::BaseVertex< 3, Vector3 >, g2o::BaseVertex< 4, Eigen::Matrix< double, 5, 1, Eigen::ColMajor > >, g2o::BaseVertex< 4, Line3D >, g2o::BaseVertex< 4, Vector4 >, g2o::BaseVertex< 6, Isometry3 >, g2o::BaseVertex< 6, SBACam >, g2o::BaseVertex< 6, SE3Quat >, g2o::BaseVertex< 6, Vector6d >, g2o::BaseVertex< 7, Sim3 >, g2o::BaseVertex< 9, g2o::bal::Vector9 >, g2o::BaseVertex<-1, Eigen::VectorXd >, and g2o::BaseVertex<-1, T >.
Referenced by g2o::BlockSolver< Traits >::buildStructure(), g2o::StructureOnlySolver< PointDoF >::calc(), g2o::SparseOptimizerIncremental::updateInitialization(), and g2o::BlockSolver< Traits >::updateStructure().
|
inline |
true => this node is marginalized out during the optimization
Definition at line 343 of file optimizable_graph.h.
Referenced by g2o::SparseOptimizer::buildIndexMapping(), g2o::BlockSolver< Traits >::buildStructure(), g2o::BlockSolver< Traits >::buildSystem(), g2o::OptimizationAlgorithmWithHessian::init(), g2o::StructureOnlySolver< PointDoF >::init(), main(), g2o::SparseOptimizer::updateInitialization(), g2o::SparseOptimizerIncremental::updateInitialization(), and g2o::BlockSolver< Traits >::updateStructure().
|
virtual |
returns the dimension of the extended representation used by get/setEstimate(double*) -1 if it is not supported
Reimplemented in g2o::VertexCam, g2o::VertexPointXY, g2o::VertexSE2, g2o::VertexLine2D, g2o::VertexSegment2D, g2o::VertexPointXYZ, and g2o::VertexSE3.
Definition at line 103 of file optimizable_graph.cpp.
Referenced by g2o::EdgeLabeler::labelEdge(), and testMarginals().
|
inline |
Update the position of the node from the parameters in v. Depends on the implementation of oplusImpl in derived classes to actually carry out the update. Will also call updateCache() to update the caches of depending on the vertex.
Definition at line 324 of file optimizable_graph.h.
Referenced by g2o::StructureOnlySolver< PointDoF >::calc(), g2o::EdgeLabeler::labelEdge(), testMarginals(), and g2o::SparseOptimizer::update().
|
protectedpure virtual |
update the position of the node from the parameters in v. Implement in your class!
Implemented in VertexBaseline, PolynomialCoefficientVertex, FPolynomialCoefficientVertex, PPolynomialCoefficientVertex, g2o::OnlineVertexSE2, g2o::OnlineVertexSE3, VertexPosition3D, VertexVelocity3D, VertexPosition3D, VertexPositionVelocity3D, g2o::tutorial::VertexPointXY, g2o::tutorial::VertexSE2, g2o::VertexSCam, g2o::VertexCam, g2o::VertexIntrinsics, g2o::VertexPointXY, g2o::VertexSE2, g2o::VertexLine2D, g2o::VertexSegment2D, g2o::VertexSE3, VertexCameraBAL, VertexPointBAL, VertexCircle, VertexParams, g2o::VertexSE3Expmap, g2o::VertexSim3Expmap, g2o::VertexPointXYZ, g2o::VertexLine3D, g2o::VertexPlane, and g2o::VertexOdomDifferentialParams.
|
pure virtual |
restore the position of the vertex by retrieving the position from the stack
Implemented in g2o::BaseVertex< D, T >, g2o::BaseVertex< 1, double >, g2o::BaseVertex< 2, Eigen::Vector2d >, g2o::BaseVertex< 2, Line2D >, g2o::BaseVertex< 2, Vector2 >, g2o::BaseVertex< 3, Eigen::Vector3d >, g2o::BaseVertex< 3, g2o::Vector3 >, g2o::BaseVertex< 3, Plane3D >, g2o::BaseVertex< 3, SE2 >, g2o::BaseVertex< 3, Vector3 >, g2o::BaseVertex< 4, Eigen::Matrix< double, 5, 1, Eigen::ColMajor > >, g2o::BaseVertex< 4, Line3D >, g2o::BaseVertex< 4, Vector4 >, g2o::BaseVertex< 6, Isometry3 >, g2o::BaseVertex< 6, SBACam >, g2o::BaseVertex< 6, SE3Quat >, g2o::BaseVertex< 6, Vector6d >, g2o::BaseVertex< 7, Sim3 >, g2o::BaseVertex< 9, g2o::bal::Vector9 >, g2o::BaseVertex<-1, Eigen::VectorXd >, and g2o::BaseVertex<-1, T >.
Referenced by g2o::StructureOnlySolver< PointDoF >::calc(), g2o::EdgeLabeler::labelEdge(), g2o::Star::labelStarEdges(), g2o::OptimizableGraph::pop(), g2o::OptimizableGraph::pop(), and testMarginals().
|
pure virtual |
backup the position of the vertex to a stack
Implemented in g2o::BaseVertex< D, T >, g2o::BaseVertex< 1, double >, g2o::BaseVertex< 2, Eigen::Vector2d >, g2o::BaseVertex< 2, Line2D >, g2o::BaseVertex< 2, Vector2 >, g2o::BaseVertex< 3, Eigen::Vector3d >, g2o::BaseVertex< 3, g2o::Vector3 >, g2o::BaseVertex< 3, Plane3D >, g2o::BaseVertex< 3, SE2 >, g2o::BaseVertex< 3, Vector3 >, g2o::BaseVertex< 4, Eigen::Matrix< double, 5, 1, Eigen::ColMajor > >, g2o::BaseVertex< 4, Line3D >, g2o::BaseVertex< 4, Vector4 >, g2o::BaseVertex< 6, Isometry3 >, g2o::BaseVertex< 6, SBACam >, g2o::BaseVertex< 6, SE3Quat >, g2o::BaseVertex< 6, Vector6d >, g2o::BaseVertex< 7, Sim3 >, g2o::BaseVertex< 9, g2o::bal::Vector9 >, g2o::BaseVertex<-1, Eigen::VectorXd >, and g2o::BaseVertex<-1, T >.
Referenced by g2o::StructureOnlySolver< PointDoF >::calc(), g2o::SparseOptimizer::computeInitialGuess(), g2o::EdgeLabeler::labelEdge(), g2o::Star::labelStarEdges(), g2o::OptimizableGraph::push(), g2o::OptimizableGraph::push(), and testMarginals().
|
pure virtual |
read the vertex from a stream, i.e., the internal state of the vertex
Implemented in VertexBaseline, VertexPosition3D, VertexVelocity3D, VertexPosition3D, VertexPositionVelocity3D, VertexCameraBAL, VertexPointBAL, VertexCircle, VertexParams, PolynomialCoefficientVertex, FPolynomialCoefficientVertex, PPolynomialCoefficientVertex, g2o::tutorial::VertexPointXY, g2o::tutorial::VertexSE2, g2o::VertexSCam, g2o::VertexCam, g2o::VertexIntrinsics, g2o::VertexSE3Expmap, g2o::VertexOdomDifferentialParams, g2o::VertexSim3Expmap, g2o::VertexPointXY, g2o::VertexSE2, g2o::VertexLine2D, g2o::VertexSegment2D, g2o::VertexPointXYZ, g2o::VertexSE3, g2o::VertexLine3D, g2o::VertexPlane, and g2o::VertexSE3Euler.
|
inline |
set the row of this vertex in the Hessian
Definition at line 355 of file optimizable_graph.h.
Referenced by g2o::BlockSolver< Traits >::buildStructure(), and g2o::BlockSolver< Traits >::updateStructure().
| bool g2o::OptimizableGraph::Vertex::setEstimateData | ( | const double * | estimate | ) |
sets the initial estimate from an array of double Implement setEstimateDataImpl()
Definition at line 83 of file optimizable_graph.cpp.
|
inline |
sets the initial estimate from an array of double Implement setEstimateDataImpl()
Definition at line 178 of file optimizable_graph.h.
|
inline |
sets the initial estimate from an array of double Implement setEstimateDataImpl()
Definition at line 166 of file optimizable_graph.h.
|
inlineprotectedvirtual |
writes the estimater to an array of double
Reimplemented in g2o::VertexCam, g2o::VertexPointXY, g2o::VertexSE2, g2o::VertexLine2D, g2o::VertexSegment2D, g2o::VertexPointXYZ, g2o::VertexSE3, g2o::VertexLine3D, and g2o::VertexPlane.
Definition at line 407 of file optimizable_graph.h.
|
inline |
true => this node should be considered fixed during the optimization
Definition at line 340 of file optimizable_graph.h.
Referenced by g2o::StructureOnlySolver< PointDoF >::calc(), MainWindow::fixGraph(), g2o::G2oSlamInterface::fixNode(), g2o::Star::labelStarEdges(), main(), main(), main(), and g2o::OptimizableGraph::setFixed().
|
inline |
set the temporary index of the vertex in the parameter blocks
Definition at line 334 of file optimizable_graph.h.
Referenced by g2o::SparseOptimizer::buildIndexMapping(), g2o::SparseOptimizer::updateInitialization(), and g2o::SparseOptimizerIncremental::updateInitialization().
|
inlinevirtual |
sets the id of the node in the graph be sure that the graph keeps consistent after changing the id
Reimplemented from g2o::HyperGraph::Vertex.
Definition at line 352 of file optimizable_graph.h.
Referenced by g2o::G2oSlamInterface::addVertex(), LineInfo::LineInfo(), LineItem::LineItem(), LineSensor::LineSensor(), main(), main(), main(), Robot::move(), PlaneItem::PlaneItem(), PlaneSensor::PlaneSensor(), and g2o::Gm2dlIO::readGm2dl().
|
inline |
true => this node should be marginalized out during the optimization
Definition at line 345 of file optimizable_graph.h.
Referenced by main(), main(), main(), and MainWindow::prepare().
| bool g2o::OptimizableGraph::Vertex::setMinimalEstimateData | ( | const double * | estimate | ) |
sets the initial estimate from an array of double. Implement setMinimalEstimateDataImpl()
Definition at line 93 of file optimizable_graph.cpp.
|
inline |
sets the initial estimate from an eigen type of double. Implement setMinimalEstimateDataImpl()
Definition at line 253 of file optimizable_graph.h.
|
inline |
sets the initial estimate from an array of double. Implement setMinimalEstimateDataImpl()
Definition at line 241 of file optimizable_graph.h.
|
inlineprotectedvirtual |
sets the initial estimate from an array of double
Reimplemented in g2o::VertexCam, g2o::VertexPointXY, g2o::VertexSE2, g2o::VertexLine2D, g2o::VertexSegment2D, g2o::VertexPointXYZ, and g2o::VertexSE3.
Definition at line 413 of file optimizable_graph.h.
|
inline |
sets the node to the origin (used in the multilevel stuff)
Definition at line 117 of file optimizable_graph.h.
Referenced by FPolynomialCoefficientVertex::FPolynomialCoefficientVertex(), g2o::SparseOptimizer::setToOrigin(), and g2o::SolverSLAM2DLinear::solveOrientation().
|
protectedpure virtual |
sets the node to the origin (used in the multilevel stuff)
Implemented in VertexBaseline, PolynomialCoefficientVertex, FPolynomialCoefficientVertex, PPolynomialCoefficientVertex, VertexPosition3D, VertexVelocity3D, VertexPosition3D, VertexPositionVelocity3D, g2o::tutorial::VertexPointXY, g2o::tutorial::VertexSE2, g2o::VertexCam, g2o::VertexIntrinsics, g2o::VertexSE3Expmap, g2o::VertexOdomDifferentialParams, g2o::VertexSim3Expmap, g2o::VertexPointXY, g2o::VertexSE2, g2o::VertexLine2D, g2o::VertexSegment2D, g2o::VertexPointXYZ, g2o::VertexSE3, g2o::VertexLine3D, g2o::VertexPlane, VertexCameraBAL, VertexPointBAL, VertexCircle, and VertexParams.
|
pure virtual |
updates the current vertex with the direct solution x += H_ii\b_ii
Implemented in g2o::BaseVertex< D, T >, g2o::BaseVertex< 1, double >, g2o::BaseVertex< 2, Eigen::Vector2d >, g2o::BaseVertex< 2, Line2D >, g2o::BaseVertex< 2, Vector2 >, g2o::BaseVertex< 3, Eigen::Vector3d >, g2o::BaseVertex< 3, g2o::Vector3 >, g2o::BaseVertex< 3, Plane3D >, g2o::BaseVertex< 3, SE2 >, g2o::BaseVertex< 3, Vector3 >, g2o::BaseVertex< 4, Eigen::Matrix< double, 5, 1, Eigen::ColMajor > >, g2o::BaseVertex< 4, Line3D >, g2o::BaseVertex< 4, Vector4 >, g2o::BaseVertex< 6, Isometry3 >, g2o::BaseVertex< 6, SBACam >, g2o::BaseVertex< 6, SE3Quat >, g2o::BaseVertex< 6, Vector6d >, g2o::BaseVertex< 7, Sim3 >, g2o::BaseVertex< 9, g2o::bal::Vector9 >, g2o::BaseVertex<-1, Eigen::VectorXd >, and g2o::BaseVertex<-1, T >.
Referenced by g2o::computeSimpleStars().
|
pure virtual |
return the stack size
Implemented in g2o::BaseVertex< D, T >, g2o::BaseVertex< 1, double >, g2o::BaseVertex< 2, Eigen::Vector2d >, g2o::BaseVertex< 2, Line2D >, g2o::BaseVertex< 2, Vector2 >, g2o::BaseVertex< 3, Eigen::Vector3d >, g2o::BaseVertex< 3, g2o::Vector3 >, g2o::BaseVertex< 3, Plane3D >, g2o::BaseVertex< 3, SE2 >, g2o::BaseVertex< 3, Vector3 >, g2o::BaseVertex< 4, Eigen::Matrix< double, 5, 1, Eigen::ColMajor > >, g2o::BaseVertex< 4, Line3D >, g2o::BaseVertex< 4, Vector4 >, g2o::BaseVertex< 6, Isometry3 >, g2o::BaseVertex< 6, SBACam >, g2o::BaseVertex< 6, SE3Quat >, g2o::BaseVertex< 6, Vector6d >, g2o::BaseVertex< 7, Sim3 >, g2o::BaseVertex< 9, g2o::bal::Vector9 >, g2o::BaseVertex<-1, Eigen::VectorXd >, and g2o::BaseVertex<-1, T >.
|
inline |
unlock the block of the hessian and the b vector associated with this vertex
Definition at line 371 of file optimizable_graph.h.
|
virtual |
Definition at line 71 of file optimizable_graph.cpp.
Referenced by g2o::BaseVertex< D, T >::pop(), g2o::BaseVertex< D, T >::setEstimate(), and g2o::VertexSE3::VertexSE3().
|
pure virtual |
write the vertex to a stream
Implemented in VertexBaseline, VertexPosition3D, VertexVelocity3D, VertexPosition3D, VertexPositionVelocity3D, VertexCameraBAL, VertexPointBAL, VertexCircle, VertexParams, PolynomialCoefficientVertex, FPolynomialCoefficientVertex, PPolynomialCoefficientVertex, g2o::tutorial::VertexPointXY, g2o::tutorial::VertexSE2, g2o::VertexSCam, g2o::VertexCam, g2o::VertexIntrinsics, g2o::VertexSE3Expmap, g2o::VertexOdomDifferentialParams, g2o::VertexSim3Expmap, g2o::VertexPointXY, g2o::VertexSE2, g2o::VertexLine2D, g2o::VertexSegment2D, g2o::VertexPointXYZ, g2o::VertexSE3, g2o::VertexLine3D, g2o::VertexPlane, and g2o::VertexSE3Euler.
Referenced by g2o::OptimizableGraph::saveVertex(), and g2o::Gm2dlIO::writeGm2dl().
|
friend |
Definition at line 110 of file optimizable_graph.h.
|
protected |
Definition at line 392 of file optimizable_graph.h.
|
protected |
Definition at line 389 of file optimizable_graph.h.
|
protected |
Definition at line 388 of file optimizable_graph.h.
Referenced by g2o::BaseVertex< D, T >::BaseVertex(), PolynomialCoefficientVertex::oplusImpl(), and PPolynomialCoefficientVertex::oplusImpl().
|
protected |
Definition at line 386 of file optimizable_graph.h.
|
protected |
Definition at line 383 of file optimizable_graph.h.
Referenced by g2o::OptimizableGraph::addVertex().
|
protected |
Definition at line 385 of file optimizable_graph.h.
|
protected |
Definition at line 387 of file optimizable_graph.h.
Referenced by g2o::VertexSim3Expmap::VertexSim3Expmap().
|
protected |
Definition at line 390 of file optimizable_graph.h.
|
protected |
Definition at line 384 of file optimizable_graph.h.