g2o
Loading...
Searching...
No Matches
g2o::OptimizableGraph::Edge Class Referenceabstract

#include <optimizable_graph.h>

Inheritance diagram for g2o::OptimizableGraph::Edge:
Collaboration diagram for g2o::OptimizableGraph::Edge:

Public Member Functions

 Edge ()
virtual ~Edge ()
virtual bool allVerticesFixed () const =0
virtual void computeError ()=0
virtual bool setMeasurementData (const double *m)
virtual bool getMeasurementData (double *m) const
virtual int measurementDimension () const
virtual bool setMeasurementFromState ()
RobustKernel * robustKernel () const
 if NOT NULL, error of this edge will be robustifed with the kernel
void setRobustKernel (RobustKernel *ptr)
virtual const double * errorData () const =0
 returns the error vector cached after calling the computeError;
virtual double * errorData ()=0
virtual const double * informationData () const =0
virtual double * informationData ()=0
virtual double chi2 () const =0
virtual void constructQuadraticForm ()=0
virtual void mapHessianMemory (double *d, int i, int j, bool rowMajor)=0
virtual void linearizeOplus (JacobianWorkspace &jacobianWorkspace)=0
virtual void initialEstimate (const OptimizableGraph::VertexSet &from, OptimizableGraph::Vertex *to)=0
virtual double initialEstimatePossible (const OptimizableGraph::VertexSet &from, OptimizableGraph::Vertex *to)
int level () const
 returns the level of the edge
void setLevel (int l)
 sets the level of the edge
int dimension () const
 returns the dimensions of the error function
 G2O_ATTRIBUTE_DEPRECATED (virtual Vertex *createFrom())
 G2O_ATTRIBUTE_DEPRECATED (virtual Vertex *createTo())
virtual Vertex * createVertex (int)
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
long long internalId () const
 the internal ID of the edge
OptimizableGraph * graph ()
const OptimizableGraph * graph () const
bool setParameterId (int argNum, int paramId)
const Parameter * parameter (int argNo) const
size_t numParameters () const
void resizeParameters (size_t newSize)
Public Member Functions inherited from g2o::HyperGraph::Edge
 Edge (int id=InvalidId)
 creates and empty edge with no vertices
virtual void resize (size_t size)
const VertexContainer & vertices () const
VertexContainer & vertices ()
const Vertex * vertex (size_t i) const
Vertex * vertex (size_t i)
void setVertex (size_t i, Vertex *v)
int id () const
void setId (int id)
virtual HyperGraphElementType elementType () const
int numUndefinedVertices () 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

template<typename ParameterType>
bool installParameter (ParameterType *&p, size_t argNo, int paramId=-1)
template<typename CacheType>
void resolveCache (CacheType *&cache, OptimizableGraph::Vertex *, const std::string &_type, const ParameterVector &parameters)
bool resolveParameters ()
virtual bool resolveCaches ()

Protected Attributes

int _dimension
int _level
RobustKernel * _robustKernel
long long _internalId
std::vector< int > _cacheIds
std::vector< std::string > _parameterTypes
std::vector< Parameter ** > _parameters
std::vector< int > _parameterIds
Protected Attributes inherited from g2o::HyperGraph::Edge
VertexContainer _vertices
int _id
 unique id
Protected Attributes inherited from g2o::HyperGraph::DataContainer
Data * _userData

Friends

struct OptimizableGraph

Detailed Description

Definition at line 416 of file optimizable_graph.h.

Constructor & Destructor Documentation

◆ Edge()

g2o::OptimizableGraph::Edge::Edge ( )

◆ ~Edge()

g2o::OptimizableGraph::Edge::~Edge ( )
virtual

Reimplemented from g2o::HyperGraph::Edge.

Definition at line 108 of file optimizable_graph.cpp.

References _robustKernel, and g2o::release().

Member Function Documentation

◆ allVerticesFixed()

virtual bool g2o::OptimizableGraph::Edge::allVerticesFixed ( ) const
pure virtual

Implemented in g2o::BaseFixedSizedEdge< D, E, VertexTypes >, g2o::BaseFixedSizedEdge< 2, Vector2, VertexPointXYZ, VertexSE3Expmap, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< 3, SE2, VertexSE2, VertexSE2, VertexSE2 >, g2o::BaseFixedSizedEdge< 3, VelocityMeasurement, VertexSE2, VertexSE2, VertexOdomDifferentialParams >, g2o::BaseFixedSizedEdge< D, double, PolynomialCoefficientVertex >, g2o::BaseFixedSizedEdge< D, double, VertexCam, VertexCam >, g2o::BaseFixedSizedEdge< D, double, VertexLine2D, VertexPointXY >, g2o::BaseFixedSizedEdge< D, double, VertexSE2, VertexPointXY >, g2o::BaseFixedSizedEdge< D, E, VertexXi >, g2o::BaseFixedSizedEdge< D, E, VertexXi, VertexXj >, g2o::BaseFixedSizedEdge< D, EdgeGICP, VertexSE3, VertexSE3 >, g2o::BaseFixedSizedEdge< D, Eigen::Vector2d, VertexCircle >, g2o::BaseFixedSizedEdge< D, Eigen::Vector2d, VertexParams >, g2o::BaseFixedSizedEdge< D, Eigen::Vector2d, VertexSE2, VertexPointXY >, g2o::BaseFixedSizedEdge< D, Eigen::Vector3d, VertexPosition3D >, g2o::BaseFixedSizedEdge< D, Eigen::Vector3d, VertexPositionVelocity3D >, g2o::BaseFixedSizedEdge< D, Eigen::Vector3d, VertexPositionVelocity3D, VertexPositionVelocity3D >, g2o::BaseFixedSizedEdge< D, Eigen::VectorXd, FPolynomialCoefficientVertex, PPolynomialCoefficientVertex >, g2o::BaseFixedSizedEdge< D, g2o::Vector2, VertexCameraBAL, VertexPointBAL >, g2o::BaseFixedSizedEdge< D, Isometry3, VertexSE3 >, g2o::BaseFixedSizedEdge< D, Isometry3, VertexSE3, VertexSE3 >, g2o::BaseFixedSizedEdge< D, Line2D, VertexLine2D, VertexLine2D >, g2o::BaseFixedSizedEdge< D, Line2D, VertexSE2, VertexLine2D >, g2o::BaseFixedSizedEdge< D, Line3D, VertexSE3, VertexLine3D >, g2o::BaseFixedSizedEdge< D, OdomAndLaserMotion, VertexSE2, VertexBaseline >, g2o::BaseFixedSizedEdge< D, OdomAndLaserMotion, VertexSE2, VertexOdomDifferentialParams >, g2o::BaseFixedSizedEdge< D, SE2, VertexSE2 >, g2o::BaseFixedSizedEdge< D, SE2, VertexSE2, VertexSE2 >, g2o::BaseFixedSizedEdge< D, SE3Quat, VertexCam, VertexCam >, g2o::BaseFixedSizedEdge< D, SE3Quat, VertexSE3Expmap, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< D, Sim3, VertexSim3Expmap, VertexSim3Expmap >, g2o::BaseFixedSizedEdge< D, Vector2, VertexPointXY >, g2o::BaseFixedSizedEdge< D, Vector2, VertexPointXY, VertexPointXY >, g2o::BaseFixedSizedEdge< D, Vector2, VertexPointXYZ, VertexCam >, g2o::BaseFixedSizedEdge< D, Vector2, VertexPointXYZ, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< D, Vector2, VertexPointXYZ, VertexSim3Expmap >, g2o::BaseFixedSizedEdge< D, Vector2, VertexSE2 >, g2o::BaseFixedSizedEdge< D, Vector2, VertexSE2, VertexPointXY >, g2o::BaseFixedSizedEdge< D, Vector2, VertexSE2, VertexSegment2D >, g2o::BaseFixedSizedEdge< D, Vector2, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< D, Vector3, VertexPointXYZ >, g2o::BaseFixedSizedEdge< D, Vector3, VertexPointXYZ, VertexCam >, g2o::BaseFixedSizedEdge< D, Vector3, VertexPointXYZ, VertexPointXYZ >, g2o::BaseFixedSizedEdge< D, Vector3, VertexPointXYZ, VertexSCam >, g2o::BaseFixedSizedEdge< D, Vector3, VertexPointXYZ, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< D, Vector3, VertexSE2, VertexSegment2D >, g2o::BaseFixedSizedEdge< D, Vector3, VertexSE3 >, g2o::BaseFixedSizedEdge< D, Vector3, VertexSE3, VertexPointXYZ >, g2o::BaseFixedSizedEdge< D, Vector3, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< D, Vector4, VertexPlane, VertexPlane >, g2o::BaseFixedSizedEdge< D, Vector4, VertexSE2, VertexSegment2D >, g2o::BaseVariableSizedEdge< D, E >, g2o::BaseVariableSizedEdge< 2, Vector2 >, g2o::BaseVariableSizedEdge< 3, Plane3D >, g2o::BaseVariableSizedEdge< 4, Vector4 >, g2o::BaseVariableSizedEdge< 6, Isometry3 >, and g2o::BaseVariableSizedEdge<-1, VectorX >.

Referenced by g2o::SparseOptimizer::initializeOptimization(), and g2o::SparseOptimizer::updateInitialization().

◆ chi2()

◆ computeError()

virtual void g2o::OptimizableGraph::Edge::computeError ( )
pure virtual

Implemented in EdgeCalib, g2o::Edge_V_V_GICP, g2o::Edge_XYZ_VSC, g2o::EdgeInverseSim3ProjectXYZ, g2o::EdgeLine2D, g2o::EdgeLine2DPointXY, g2o::EdgePlane, g2o::EdgePointXY, g2o::EdgePointXYZ, g2o::EdgeProjectP2MC, g2o::EdgeProjectP2SC, g2o::EdgeProjectPSI2UV, g2o::EdgeProjectXYZ2UV, g2o::EdgeProjectXYZ2UVU, g2o::EdgeSBACam, g2o::EdgeSBAScale, g2o::EdgeSE2, g2o::EdgeSE2Line2D, g2o::EdgeSE2LotsOfXY, g2o::EdgeSE2OdomDifferentialCalib, g2o::EdgeSE2Offset, g2o::EdgeSE2PointXY, g2o::EdgeSE2PointXYBearing, g2o::EdgeSE2PointXYCalib, g2o::EdgeSE2PointXYOffset, g2o::EdgeSE2Prior, g2o::EdgeSE2PureCalib, g2o::EdgeSE2Segment2D, g2o::EdgeSE2Segment2DLine, g2o::EdgeSE2Segment2DPointLine, g2o::EdgeSE2SensorCalib, g2o::EdgeSE2TwoPointsXY, g2o::EdgeSE2XYPrior, g2o::EdgeSE3, g2o::EdgeSE3Calib, g2o::EdgeSE3Expmap, g2o::EdgeSE3Line3D, g2o::EdgeSE3LotsOfXYZ, g2o::EdgeSE3Offset, g2o::EdgeSE3PlaneSensorCalib, g2o::EdgeSE3PointXYZ, g2o::EdgeSE3PointXYZDepth, g2o::EdgeSE3PointXYZDisparity, g2o::EdgeSE3Prior, g2o::EdgeSE3ProjectXYZ, g2o::EdgeSE3ProjectXYZOnlyPose, g2o::EdgeSE3XYZPrior, g2o::EdgeSim3, g2o::EdgeSim3ProjectXYZ, g2o::EdgeStereoSE3ProjectXYZ, g2o::EdgeStereoSE3ProjectXYZOnlyPose, g2o::EdgeXYPrior, g2o::EdgeXYZPrior, g2o::tutorial::EdgeSE2, g2o::tutorial::EdgeSE2PointXY, GPSObservationEdgePositionVelocity3D, GPSObservationPosition3DEdge, MultipleValueEdge, PolynomialSingleValueEdge, and TargetOdometry3DEdge.

References getMeasurementData(), measurementDimension(), setMeasurementData(), and setMeasurementFromState().

Referenced by g2o::StructureOnlySolver< PointDoF >::calc(), g2o::SparseOptimizer::computeActiveErrors(), gnudump_edges(), gnudump_features(), g2o::EdgeLabeler::labelEdge(), g2o::BaseFixedSizedEdge< D, OdomAndLaserMotion, VertexSE2, VertexBaseline >::linearizeOplusN(), main(), g2o::BaseFixedSizedEdge< D, OdomAndLaserMotion, VertexSE2, VertexBaseline >::mapHessianMemory(), g2o::BaseVariableSizedEdge<-1, VectorX >::mapHessianMemory(), InvChi2CostFunction::operator()(), g2o::SparseOptimizerOnline::optimize(), and g2o::SparseOptimizerIncremental::updateInitialization().

◆ constructQuadraticForm()

virtual void g2o::OptimizableGraph::Edge::constructQuadraticForm ( )
pure virtual

Linearizes the constraint in the edge. Makes side effect on the vertices of the graph by changing the parameter vector b and the hessian blocks ii and jj. The off diagoinal block is accessed via _hessian.

Implemented in g2o::BaseFixedSizedEdge< D, E, VertexTypes >, g2o::BaseFixedSizedEdge< 2, Vector2, VertexPointXYZ, VertexSE3Expmap, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< 3, SE2, VertexSE2, VertexSE2, VertexSE2 >, g2o::BaseFixedSizedEdge< 3, VelocityMeasurement, VertexSE2, VertexSE2, VertexOdomDifferentialParams >, g2o::BaseFixedSizedEdge< D, double, PolynomialCoefficientVertex >, g2o::BaseFixedSizedEdge< D, double, VertexCam, VertexCam >, g2o::BaseFixedSizedEdge< D, double, VertexLine2D, VertexPointXY >, g2o::BaseFixedSizedEdge< D, double, VertexSE2, VertexPointXY >, g2o::BaseFixedSizedEdge< D, E, VertexXi >, g2o::BaseFixedSizedEdge< D, E, VertexXi, VertexXj >, g2o::BaseFixedSizedEdge< D, EdgeGICP, VertexSE3, VertexSE3 >, g2o::BaseFixedSizedEdge< D, Eigen::Vector2d, VertexCircle >, g2o::BaseFixedSizedEdge< D, Eigen::Vector2d, VertexParams >, g2o::BaseFixedSizedEdge< D, Eigen::Vector2d, VertexSE2, VertexPointXY >, g2o::BaseFixedSizedEdge< D, Eigen::Vector3d, VertexPosition3D >, g2o::BaseFixedSizedEdge< D, Eigen::Vector3d, VertexPositionVelocity3D >, g2o::BaseFixedSizedEdge< D, Eigen::Vector3d, VertexPositionVelocity3D, VertexPositionVelocity3D >, g2o::BaseFixedSizedEdge< D, Eigen::VectorXd, FPolynomialCoefficientVertex, PPolynomialCoefficientVertex >, g2o::BaseFixedSizedEdge< D, g2o::Vector2, VertexCameraBAL, VertexPointBAL >, g2o::BaseFixedSizedEdge< D, Isometry3, VertexSE3 >, g2o::BaseFixedSizedEdge< D, Isometry3, VertexSE3, VertexSE3 >, g2o::BaseFixedSizedEdge< D, Line2D, VertexLine2D, VertexLine2D >, g2o::BaseFixedSizedEdge< D, Line2D, VertexSE2, VertexLine2D >, g2o::BaseFixedSizedEdge< D, Line3D, VertexSE3, VertexLine3D >, g2o::BaseFixedSizedEdge< D, OdomAndLaserMotion, VertexSE2, VertexBaseline >, g2o::BaseFixedSizedEdge< D, OdomAndLaserMotion, VertexSE2, VertexOdomDifferentialParams >, g2o::BaseFixedSizedEdge< D, SE2, VertexSE2 >, g2o::BaseFixedSizedEdge< D, SE2, VertexSE2, VertexSE2 >, g2o::BaseFixedSizedEdge< D, SE3Quat, VertexCam, VertexCam >, g2o::BaseFixedSizedEdge< D, SE3Quat, VertexSE3Expmap, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< D, Sim3, VertexSim3Expmap, VertexSim3Expmap >, g2o::BaseFixedSizedEdge< D, Vector2, VertexPointXY >, g2o::BaseFixedSizedEdge< D, Vector2, VertexPointXY, VertexPointXY >, g2o::BaseFixedSizedEdge< D, Vector2, VertexPointXYZ, VertexCam >, g2o::BaseFixedSizedEdge< D, Vector2, VertexPointXYZ, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< D, Vector2, VertexPointXYZ, VertexSim3Expmap >, g2o::BaseFixedSizedEdge< D, Vector2, VertexSE2 >, g2o::BaseFixedSizedEdge< D, Vector2, VertexSE2, VertexPointXY >, g2o::BaseFixedSizedEdge< D, Vector2, VertexSE2, VertexSegment2D >, g2o::BaseFixedSizedEdge< D, Vector2, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< D, Vector3, VertexPointXYZ >, g2o::BaseFixedSizedEdge< D, Vector3, VertexPointXYZ, VertexCam >, g2o::BaseFixedSizedEdge< D, Vector3, VertexPointXYZ, VertexPointXYZ >, g2o::BaseFixedSizedEdge< D, Vector3, VertexPointXYZ, VertexSCam >, g2o::BaseFixedSizedEdge< D, Vector3, VertexPointXYZ, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< D, Vector3, VertexSE2, VertexSegment2D >, g2o::BaseFixedSizedEdge< D, Vector3, VertexSE3 >, g2o::BaseFixedSizedEdge< D, Vector3, VertexSE3, VertexPointXYZ >, g2o::BaseFixedSizedEdge< D, Vector3, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< D, Vector4, VertexPlane, VertexPlane >, g2o::BaseFixedSizedEdge< D, Vector4, VertexSE2, VertexSegment2D >, g2o::BaseVariableSizedEdge< D, E >, g2o::BaseVariableSizedEdge< 2, Vector2 >, g2o::BaseVariableSizedEdge< 3, Plane3D >, g2o::BaseVariableSizedEdge< 4, Vector4 >, g2o::BaseVariableSizedEdge< 6, Isometry3 >, and g2o::BaseVariableSizedEdge<-1, VectorX >.

Referenced by g2o::BlockSolver< Traits >::buildSystem(), g2o::StructureOnlySolver< PointDoF >::calc(), g2o::SparseOptimizerOnline::optimize(), and g2o::SparseOptimizerIncremental::updateInitialization().

◆ createVertex()

virtual Vertex * g2o::OptimizableGraph::Edge::createVertex ( int )
inlinevirtual

Definition at line 522 of file optimizable_graph.h.

◆ dimension()

◆ errorData() [1/2]

◆ errorData() [2/2]

virtual double * g2o::OptimizableGraph::Edge::errorData ( )
pure virtual

◆ G2O_ATTRIBUTE_DEPRECATED() [1/2]

g2o::OptimizableGraph::Edge::G2O_ATTRIBUTE_DEPRECATED ( virtual Vertex * createFrom())
inline

Definition at line 520 of file optimizable_graph.h.

◆ G2O_ATTRIBUTE_DEPRECATED() [2/2]

g2o::OptimizableGraph::Edge::G2O_ATTRIBUTE_DEPRECATED ( virtual Vertex * createTo())
inline

Definition at line 521 of file optimizable_graph.h.

◆ getMeasurementData()

◆ graph() [1/2]

◆ graph() [2/2]

const OptimizableGraph * g2o::OptimizableGraph::Edge::graph ( ) const

◆ informationData() [1/2]

◆ informationData() [2/2]

virtual double * g2o::OptimizableGraph::Edge::informationData ( )
pure virtual

◆ initialEstimate()

virtual void g2o::OptimizableGraph::Edge::initialEstimate ( const OptimizableGraph::VertexSet & from,
OptimizableGraph::Vertex * to )
pure virtual

◆ initialEstimatePossible()

◆ installParameter()

◆ internalId()

long long g2o::OptimizableGraph::Edge::internalId ( ) const
inline

the internal ID of the edge

Definition at line 530 of file optimizable_graph.h.

References _internalId.

Referenced by g2o::OptimizableGraph::EdgeIDCompare::operator()().

◆ level()

int g2o::OptimizableGraph::Edge::level ( ) const
inline

returns the level of the edge

Definition at line 513 of file optimizable_graph.h.

References _level.

Referenced by g2o::BackBoneTreeAction::init(), main(), and g2o::EdgeTypesCostFunction::operator()().

◆ linearizeOplus()

virtual void g2o::OptimizableGraph::Edge::linearizeOplus ( JacobianWorkspace & jacobianWorkspace)
pure virtual

Linearizes the constraint in the edge in the manifold space, and store the result in the given workspace

Implemented in g2o::BaseFixedSizedEdge< D, E, VertexTypes >, g2o::BaseFixedSizedEdge< 2, Vector2, VertexPointXYZ, VertexSE3Expmap, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< 3, SE2, VertexSE2, VertexSE2, VertexSE2 >, g2o::BaseFixedSizedEdge< 3, VelocityMeasurement, VertexSE2, VertexSE2, VertexOdomDifferentialParams >, g2o::BaseFixedSizedEdge< D, double, PolynomialCoefficientVertex >, g2o::BaseFixedSizedEdge< D, double, VertexCam, VertexCam >, g2o::BaseFixedSizedEdge< D, double, VertexLine2D, VertexPointXY >, g2o::BaseFixedSizedEdge< D, double, VertexSE2, VertexPointXY >, g2o::BaseFixedSizedEdge< D, E, VertexXi >, g2o::BaseFixedSizedEdge< D, E, VertexXi, VertexXj >, g2o::BaseFixedSizedEdge< D, EdgeGICP, VertexSE3, VertexSE3 >, g2o::BaseFixedSizedEdge< D, Eigen::Vector2d, VertexCircle >, g2o::BaseFixedSizedEdge< D, Eigen::Vector2d, VertexParams >, g2o::BaseFixedSizedEdge< D, Eigen::Vector2d, VertexSE2, VertexPointXY >, g2o::BaseFixedSizedEdge< D, Eigen::Vector3d, VertexPosition3D >, g2o::BaseFixedSizedEdge< D, Eigen::Vector3d, VertexPositionVelocity3D >, g2o::BaseFixedSizedEdge< D, Eigen::Vector3d, VertexPositionVelocity3D, VertexPositionVelocity3D >, g2o::BaseFixedSizedEdge< D, Eigen::VectorXd, FPolynomialCoefficientVertex, PPolynomialCoefficientVertex >, g2o::BaseFixedSizedEdge< D, g2o::Vector2, VertexCameraBAL, VertexPointBAL >, g2o::BaseFixedSizedEdge< D, Isometry3, VertexSE3 >, g2o::BaseFixedSizedEdge< D, Isometry3, VertexSE3, VertexSE3 >, g2o::BaseFixedSizedEdge< D, Line2D, VertexLine2D, VertexLine2D >, g2o::BaseFixedSizedEdge< D, Line2D, VertexSE2, VertexLine2D >, g2o::BaseFixedSizedEdge< D, Line3D, VertexSE3, VertexLine3D >, g2o::BaseFixedSizedEdge< D, OdomAndLaserMotion, VertexSE2, VertexBaseline >, g2o::BaseFixedSizedEdge< D, OdomAndLaserMotion, VertexSE2, VertexOdomDifferentialParams >, g2o::BaseFixedSizedEdge< D, SE2, VertexSE2 >, g2o::BaseFixedSizedEdge< D, SE2, VertexSE2, VertexSE2 >, g2o::BaseFixedSizedEdge< D, SE3Quat, VertexCam, VertexCam >, g2o::BaseFixedSizedEdge< D, SE3Quat, VertexSE3Expmap, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< D, Sim3, VertexSim3Expmap, VertexSim3Expmap >, g2o::BaseFixedSizedEdge< D, Vector2, VertexPointXY >, g2o::BaseFixedSizedEdge< D, Vector2, VertexPointXY, VertexPointXY >, g2o::BaseFixedSizedEdge< D, Vector2, VertexPointXYZ, VertexCam >, g2o::BaseFixedSizedEdge< D, Vector2, VertexPointXYZ, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< D, Vector2, VertexPointXYZ, VertexSim3Expmap >, g2o::BaseFixedSizedEdge< D, Vector2, VertexSE2 >, g2o::BaseFixedSizedEdge< D, Vector2, VertexSE2, VertexPointXY >, g2o::BaseFixedSizedEdge< D, Vector2, VertexSE2, VertexSegment2D >, g2o::BaseFixedSizedEdge< D, Vector2, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< D, Vector3, VertexPointXYZ >, g2o::BaseFixedSizedEdge< D, Vector3, VertexPointXYZ, VertexCam >, g2o::BaseFixedSizedEdge< D, Vector3, VertexPointXYZ, VertexPointXYZ >, g2o::BaseFixedSizedEdge< D, Vector3, VertexPointXYZ, VertexSCam >, g2o::BaseFixedSizedEdge< D, Vector3, VertexPointXYZ, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< D, Vector3, VertexSE2, VertexSegment2D >, g2o::BaseFixedSizedEdge< D, Vector3, VertexSE3 >, g2o::BaseFixedSizedEdge< D, Vector3, VertexSE3, VertexPointXYZ >, g2o::BaseFixedSizedEdge< D, Vector3, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< D, Vector4, VertexPlane, VertexPlane >, g2o::BaseFixedSizedEdge< D, Vector4, VertexSE2, VertexSegment2D >, g2o::BaseVariableSizedEdge< D, E >, g2o::BaseVariableSizedEdge< 2, Vector2 >, g2o::BaseVariableSizedEdge< 3, Plane3D >, g2o::BaseVariableSizedEdge< 4, Vector4 >, g2o::BaseVariableSizedEdge< 6, Isometry3 >, and g2o::BaseVariableSizedEdge<-1, VectorX >.

References g2o::OptimizableGraph::jacobianWorkspace().

Referenced by g2o::BlockSolver< Traits >::buildSystem(), g2o::StructureOnlySolver< PointDoF >::calc(), g2o::SparseOptimizerOnline::optimize(), and g2o::SparseOptimizerIncremental::updateInitialization().

◆ mapHessianMemory()

virtual void g2o::OptimizableGraph::Edge::mapHessianMemory ( double * d,
int i,
int j,
bool rowMajor )
pure virtual

maps the internal matrix to some external memory location, you need to provide the memory before calling constructQuadraticForm

Parameters
dthe memory location to which we map
iindex of the vertex i
jindex of the vertex j (j > i, upper triangular fashion)
rowMajorif true, will write in rowMajor order to the block. Since EIGEN is columnMajor by default, this results in writing the transposed

Implemented in g2o::BaseFixedSizedEdge< D, E, VertexTypes >, g2o::BaseFixedSizedEdge< 2, Vector2, VertexPointXYZ, VertexSE3Expmap, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< 3, SE2, VertexSE2, VertexSE2, VertexSE2 >, g2o::BaseFixedSizedEdge< 3, VelocityMeasurement, VertexSE2, VertexSE2, VertexOdomDifferentialParams >, g2o::BaseFixedSizedEdge< D, double, PolynomialCoefficientVertex >, g2o::BaseFixedSizedEdge< D, double, VertexCam, VertexCam >, g2o::BaseFixedSizedEdge< D, double, VertexLine2D, VertexPointXY >, g2o::BaseFixedSizedEdge< D, double, VertexSE2, VertexPointXY >, g2o::BaseFixedSizedEdge< D, E, VertexXi >, g2o::BaseFixedSizedEdge< D, E, VertexXi, VertexXj >, g2o::BaseFixedSizedEdge< D, EdgeGICP, VertexSE3, VertexSE3 >, g2o::BaseFixedSizedEdge< D, Eigen::Vector2d, VertexCircle >, g2o::BaseFixedSizedEdge< D, Eigen::Vector2d, VertexParams >, g2o::BaseFixedSizedEdge< D, Eigen::Vector2d, VertexSE2, VertexPointXY >, g2o::BaseFixedSizedEdge< D, Eigen::Vector3d, VertexPosition3D >, g2o::BaseFixedSizedEdge< D, Eigen::Vector3d, VertexPositionVelocity3D >, g2o::BaseFixedSizedEdge< D, Eigen::Vector3d, VertexPositionVelocity3D, VertexPositionVelocity3D >, g2o::BaseFixedSizedEdge< D, Eigen::VectorXd, FPolynomialCoefficientVertex, PPolynomialCoefficientVertex >, g2o::BaseFixedSizedEdge< D, g2o::Vector2, VertexCameraBAL, VertexPointBAL >, g2o::BaseFixedSizedEdge< D, Isometry3, VertexSE3 >, g2o::BaseFixedSizedEdge< D, Isometry3, VertexSE3, VertexSE3 >, g2o::BaseFixedSizedEdge< D, Line2D, VertexLine2D, VertexLine2D >, g2o::BaseFixedSizedEdge< D, Line2D, VertexSE2, VertexLine2D >, g2o::BaseFixedSizedEdge< D, Line3D, VertexSE3, VertexLine3D >, g2o::BaseFixedSizedEdge< D, OdomAndLaserMotion, VertexSE2, VertexBaseline >, g2o::BaseFixedSizedEdge< D, OdomAndLaserMotion, VertexSE2, VertexOdomDifferentialParams >, g2o::BaseFixedSizedEdge< D, SE2, VertexSE2 >, g2o::BaseFixedSizedEdge< D, SE2, VertexSE2, VertexSE2 >, g2o::BaseFixedSizedEdge< D, SE3Quat, VertexCam, VertexCam >, g2o::BaseFixedSizedEdge< D, SE3Quat, VertexSE3Expmap, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< D, Sim3, VertexSim3Expmap, VertexSim3Expmap >, g2o::BaseFixedSizedEdge< D, Vector2, VertexPointXY >, g2o::BaseFixedSizedEdge< D, Vector2, VertexPointXY, VertexPointXY >, g2o::BaseFixedSizedEdge< D, Vector2, VertexPointXYZ, VertexCam >, g2o::BaseFixedSizedEdge< D, Vector2, VertexPointXYZ, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< D, Vector2, VertexPointXYZ, VertexSim3Expmap >, g2o::BaseFixedSizedEdge< D, Vector2, VertexSE2 >, g2o::BaseFixedSizedEdge< D, Vector2, VertexSE2, VertexPointXY >, g2o::BaseFixedSizedEdge< D, Vector2, VertexSE2, VertexSegment2D >, g2o::BaseFixedSizedEdge< D, Vector2, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< D, Vector3, VertexPointXYZ >, g2o::BaseFixedSizedEdge< D, Vector3, VertexPointXYZ, VertexCam >, g2o::BaseFixedSizedEdge< D, Vector3, VertexPointXYZ, VertexPointXYZ >, g2o::BaseFixedSizedEdge< D, Vector3, VertexPointXYZ, VertexSCam >, g2o::BaseFixedSizedEdge< D, Vector3, VertexPointXYZ, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< D, Vector3, VertexSE2, VertexSegment2D >, g2o::BaseFixedSizedEdge< D, Vector3, VertexSE3 >, g2o::BaseFixedSizedEdge< D, Vector3, VertexSE3, VertexPointXYZ >, g2o::BaseFixedSizedEdge< D, Vector3, VertexSE3Expmap >, g2o::BaseFixedSizedEdge< D, Vector4, VertexPlane, VertexPlane >, g2o::BaseFixedSizedEdge< D, Vector4, VertexSE2, VertexSegment2D >, g2o::BaseVariableSizedEdge< D, E >, g2o::BaseVariableSizedEdge< 2, Vector2 >, g2o::BaseVariableSizedEdge< 3, Plane3D >, g2o::BaseVariableSizedEdge< 4, Vector4 >, g2o::BaseVariableSizedEdge< 6, Isometry3 >, and g2o::BaseVariableSizedEdge<-1, VectorX >.

Referenced by g2o::BlockSolver< Traits >::buildStructure(), g2o::SparseOptimizerIncremental::updateInitialization(), and g2o::BlockSolver< Traits >::updateStructure().

◆ measurementDimension()

◆ numParameters()

size_t g2o::OptimizableGraph::Edge::numParameters ( ) const
inline

◆ parameter()

◆ read()

virtual bool g2o::OptimizableGraph::Edge::read ( std::istream & is)
pure virtual

read the vertex from a stream, i.e., the internal state of the vertex

Implemented in EdgeCalib, EdgeObservationBAL, EdgePointOnCircle, EdgePointOnCurve, g2o::Edge_V_V_GICP, g2o::Edge_XYZ_VSC, g2o::EdgeInverseSim3ProjectXYZ, g2o::EdgeLine2D, g2o::EdgeLine2DPointXY, g2o::EdgePlane, g2o::EdgePointXY, g2o::EdgePointXYZ, g2o::EdgeProjectP2MC, g2o::EdgeProjectP2SC, g2o::EdgeProjectPSI2UV, g2o::EdgeProjectXYZ2UV, g2o::EdgeProjectXYZ2UVU, g2o::EdgeSBACam, g2o::EdgeSBAScale, g2o::EdgeSE2, g2o::EdgeSE2Line2D, g2o::EdgeSE2LotsOfXY, g2o::EdgeSE2OdomDifferentialCalib, g2o::EdgeSE2Offset, g2o::EdgeSE2PointXY, g2o::EdgeSE2PointXYBearing, g2o::EdgeSE2PointXYCalib, g2o::EdgeSE2PointXYOffset, g2o::EdgeSE2Prior, g2o::EdgeSE2PureCalib, g2o::EdgeSE2Segment2D, g2o::EdgeSE2Segment2DLine, g2o::EdgeSE2Segment2DPointLine, g2o::EdgeSE2SensorCalib, g2o::EdgeSE2TwoPointsXY, g2o::EdgeSE2XYPrior, g2o::EdgeSE3, g2o::EdgeSE3Calib, g2o::EdgeSE3Euler, g2o::EdgeSE3Expmap, g2o::EdgeSE3Line3D, g2o::EdgeSE3LotsOfXYZ, g2o::EdgeSE3Offset, g2o::EdgeSE3PlaneSensorCalib, g2o::EdgeSE3PointXYZ, g2o::EdgeSE3PointXYZDepth, g2o::EdgeSE3PointXYZDisparity, g2o::EdgeSE3Prior, g2o::EdgeSE3ProjectXYZ, g2o::EdgeSE3ProjectXYZOnlyPose, g2o::EdgeSE3XYZPrior, g2o::EdgeSim3, g2o::EdgeSim3ProjectXYZ, g2o::EdgeStereoSE3ProjectXYZ, g2o::EdgeStereoSE3ProjectXYZOnlyPose, g2o::EdgeXYPrior, g2o::EdgeXYZPrior, g2o::tutorial::EdgeSE2, g2o::tutorial::EdgeSE2PointXY, GPSObservationEdgePositionVelocity3D, GPSObservationPosition3DEdge, MultipleValueEdge, PolynomialSingleValueEdge, and TargetOdometry3DEdge.

◆ resizeParameters()

◆ resolveCache()

◆ resolveCaches()

◆ resolveParameters()

bool g2o::OptimizableGraph::Edge::resolveParameters ( )
protected

◆ robustKernel()

RobustKernel * g2o::OptimizableGraph::Edge::robustKernel ( ) const
inline

◆ setLevel()

void g2o::OptimizableGraph::Edge::setLevel ( int l)
inline

sets the level of the edge

Definition at line 515 of file optimizable_graph.h.

References _level.

Referenced by g2o::assignHierarchicalEdges(), and g2o::computeSimpleStars().

◆ setMeasurementData()

◆ setMeasurementFromState()

◆ setParameterId()

◆ setRobustKernel()

void g2o::OptimizableGraph::Edge::setRobustKernel ( RobustKernel * ptr)

specify the robust kernel to be used in this edge

Definition at line 157 of file optimizable_graph.cpp.

References _robustKernel, and g2o::release().

Referenced by main(), and MainWindow::setRobustKernel().

◆ write()

virtual bool g2o::OptimizableGraph::Edge::write ( std::ostream & os) const
pure virtual

write the vertex to a stream

Implemented in EdgeCalib, EdgeObservationBAL, EdgePointOnCircle, EdgePointOnCurve, g2o::Edge_V_V_GICP, g2o::Edge_XYZ_VSC, g2o::EdgeInverseSim3ProjectXYZ, g2o::EdgeLine2D, g2o::EdgeLine2DPointXY, g2o::EdgePlane, g2o::EdgePointXY, g2o::EdgePointXYZ, g2o::EdgeProjectP2MC, g2o::EdgeProjectP2SC, g2o::EdgeProjectPSI2UV, g2o::EdgeProjectXYZ2UV, g2o::EdgeProjectXYZ2UVU, g2o::EdgeSBACam, g2o::EdgeSBAScale, g2o::EdgeSE2, g2o::EdgeSE2Line2D, g2o::EdgeSE2LotsOfXY, g2o::EdgeSE2OdomDifferentialCalib, g2o::EdgeSE2Offset, g2o::EdgeSE2PointXY, g2o::EdgeSE2PointXYBearing, g2o::EdgeSE2PointXYCalib, g2o::EdgeSE2PointXYOffset, g2o::EdgeSE2Prior, g2o::EdgeSE2PureCalib, g2o::EdgeSE2Segment2D, g2o::EdgeSE2Segment2DLine, g2o::EdgeSE2Segment2DPointLine, g2o::EdgeSE2SensorCalib, g2o::EdgeSE2TwoPointsXY, g2o::EdgeSE2XYPrior, g2o::EdgeSE3, g2o::EdgeSE3Calib, g2o::EdgeSE3Euler, g2o::EdgeSE3Expmap, g2o::EdgeSE3Line3D, g2o::EdgeSE3LotsOfXYZ, g2o::EdgeSE3Offset, g2o::EdgeSE3PlaneSensorCalib, g2o::EdgeSE3PointXYZ, g2o::EdgeSE3PointXYZDepth, g2o::EdgeSE3PointXYZDisparity, g2o::EdgeSE3Prior, g2o::EdgeSE3ProjectXYZ, g2o::EdgeSE3ProjectXYZOnlyPose, g2o::EdgeSE3XYZPrior, g2o::EdgeSim3, g2o::EdgeSim3ProjectXYZ, g2o::EdgeStereoSE3ProjectXYZ, g2o::EdgeStereoSE3ProjectXYZOnlyPose, g2o::EdgeXYPrior, g2o::EdgeXYZPrior, g2o::tutorial::EdgeSE2, g2o::tutorial::EdgeSE2PointXY, GPSObservationEdgePositionVelocity3D, GPSObservationPosition3DEdge, MultipleValueEdge, PolynomialSingleValueEdge, and TargetOdometry3DEdge.

Referenced by g2o::OptimizableGraph::saveEdge().

◆ OptimizableGraph

friend struct OptimizableGraph
friend

Definition at line 419 of file optimizable_graph.h.

References Edge(), and OptimizableGraph.

Referenced by g2o::Measurement< D, E >::BaseEdge(), graph(), graph(), and OptimizableGraph.

Member Data Documentation

◆ _cacheIds

std::vector<int> g2o::OptimizableGraph::Edge::_cacheIds
protected

Definition at line 551 of file optimizable_graph.h.

◆ _dimension

◆ _internalId

long long g2o::OptimizableGraph::Edge::_internalId
protected

Definition at line 550 of file optimizable_graph.h.

Referenced by g2o::OptimizableGraph::addEdge(), and internalId().

◆ _level

int g2o::OptimizableGraph::Edge::_level
protected

Definition at line 548 of file optimizable_graph.h.

Referenced by Edge(), level(), and setLevel().

◆ _parameterIds

std::vector<int> g2o::OptimizableGraph::Edge::_parameterIds
protected

◆ _parameters

std::vector<Parameter**> g2o::OptimizableGraph::Edge::_parameters
protected

◆ _parameterTypes

std::vector<std::string> g2o::OptimizableGraph::Edge::_parameterTypes
protected

Definition at line 570 of file optimizable_graph.h.

Referenced by installParameter(), resizeParameters(), and resolveParameters().

◆ _robustKernel

RobustKernel* g2o::OptimizableGraph::Edge::_robustKernel
protected

Definition at line 549 of file optimizable_graph.h.

Referenced by Edge(), robustKernel(), setRobustKernel(), and ~Edge().


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