|
g2o
|
#include <edge_se3_pointxyz_depth.h>


Public Member Functions | |
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW | EdgeSE3PointXYZDepth () |
| virtual bool | read (std::istream &is) |
| read the vertex from a stream, i.e., the internal state of the vertex | |
| virtual bool | write (std::ostream &os) const |
| write the vertex to a stream | |
| void | computeError () |
| virtual void | linearizeOplus () |
| virtual bool | setMeasurementData (const double *d) |
| virtual bool | getMeasurementData (double *d) const |
| virtual int | measurementDimension () const |
| virtual bool | setMeasurementFromState () |
| virtual double | initialEstimatePossible (const OptimizableGraph::VertexSet &from, OptimizableGraph::Vertex *to) |
| virtual void | initialEstimate (const OptimizableGraph::VertexSet &from, OptimizableGraph::Vertex *to) |
Public Member Functions inherited from g2o::BaseBinaryEdge< 3, Vector3, VertexSE3, VertexPointXYZ > | |
| BaseBinaryEdge () | |
Public Member Functions inherited from g2o::BaseFixedSizedEdge< D, E, VertexTypes > | |
| template<int VertexN> | |
| constexpr std::enable_if< VertexXnType< VertexN >::Dimension!=-1, int >::type | vertexDimension () const |
| template<int VertexN> | |
| std::enable_if< VertexXnType< VertexN >::Dimension==-1, int >::type | vertexDimension () const |
| template<int VertexN> | |
| const VertexXnType< VertexN > * | vertexXn () const |
| template<int VertexN> | |
| VertexXnType< VertexN > * | vertexXn () |
| BaseFixedSizedEdge () | |
| template<typename... CtorArgs> | |
| OptimizableGraph::Vertex * | createVertex (int i, CtorArgs... args) |
| create an instance of the Nth VertexType | |
| virtual void | resize (size_t size) |
| template<std::size_t... Ints> | |
| bool | allVerticesFixedNs (std::index_sequence< Ints... >) const |
| virtual bool | allVerticesFixed () const |
| virtual void | linearizeOplus (JacobianWorkspace &jacobianWorkspace) |
| template<std::size_t... Ints> | |
| void | linearizeOplus_allocate (JacobianWorkspace &jacobianWorkspace, std::index_sequence< Ints... >) |
| template<std::size_t... Ints> | |
| void | linearizeOplusNs (std::index_sequence< Ints... >) |
| template<int N> | |
| void | linearizeOplusN () |
| template<int N> | |
| const std::tuple_element< N, std::tuple< JacobianType< D, VertexTypes::Dimension >... > >::type & | jacobianOplusXn () const |
| template<int N> | |
| std::tuple_element< N, std::tuple< JacobianType< D, VertexTypes::Dimension >... > >::type & | jacobianOplusXn () |
| virtual void | constructQuadraticForm () |
| template<std::size_t... Ints> | |
| void | constructQuadraticFormNs (const InformationType &omega, const ErrorVector &weightedError, std::index_sequence< Ints... >) |
| template<int N> | |
| void | constructQuadraticFormN (const InformationType &omega, const ErrorVector &weightedError) |
| template<int N, typename AtOType > | |
| void | constructOffDiagonalQuadraticFormMs (const AtOType &, std::index_sequence<>) |
| template<int N, std::size_t... Ints, typename AtOType > | |
| void | constructOffDiagonalQuadraticFormMs (const AtOType &AtO, std::index_sequence< Ints... >) |
| template<int N, int M, typename AtOType > | |
| void | constructOffDiagonalQuadraticFormM (const AtOType &AtO) |
| virtual void | mapHessianMemory (double *d, int i, int j, bool rowMajor) |
| template<std::size_t... Ints> | |
| bool | allVerticesFixedNs (std::index_sequence< Ints... >) const |
| template<std::size_t... Ints> | |
| void | constructQuadraticFormNs (const InformationType &omega, const ErrorVector &weightedError, std::index_sequence< Ints... >) |
| template<int N, typename AtOType > | |
| void | constructOffDiagonalQuadraticFormMs (const AtOType &, std::index_sequence<>) |
| template<int N, std::size_t... Ints, typename AtOType > | |
| void | constructOffDiagonalQuadraticFormMs (const AtOType &AtO, std::index_sequence< Ints... >) |
| template<int N, int M, typename AtOType > | |
| void | constructOffDiagonalQuadraticFormM (const AtOType &AtO) |
| template<int N> | |
| void | constructQuadraticFormN (const InformationType &omega, const ErrorVector &weightedError) |
| template<std::size_t... Ints> | |
| void | linearizeOplus_allocate (JacobianWorkspace &jacobianWorkspace, std::index_sequence< Ints... >) |
| template<int N> | |
| void | linearizeOplusN () |
| template<std::size_t... Ints> | |
| void | linearizeOplusNs (std::index_sequence< Ints... >) |
Public Member Functions inherited from g2o::BaseEdge< D, E > | |
| BaseEdge () | |
| BaseEdge & | operator= (const BaseEdge &)=delete |
| BaseEdge (const BaseEdge &)=delete | |
| virtual | ~BaseEdge () |
| virtual double | chi2 () const |
| virtual const double * | errorData () const |
| returns the error vector cached after calling the computeError; | |
| virtual double * | errorData () |
| const ErrorVector & | error () const |
| ErrorVector & | error () |
| EIGEN_STRONG_INLINE const InformationType & | information () const |
| information matrix of the constraint | |
| EIGEN_STRONG_INLINE InformationType & | information () |
| void | setInformation (const InformationType &information) |
| virtual const double * | informationData () const |
| virtual double * | informationData () |
| EIGEN_STRONG_INLINE const Measurement & | measurement () const |
| accessor functions for the measurement represented by the edge | |
| virtual void | setMeasurement (const Measurement &m) |
| virtual int | rank () const |
| template<int Dim = D> | |
| std::enable_if< Dim==-1, void >::type | setDimension (int dim) |
Public Member Functions inherited from g2o::OptimizableGraph::Edge | |
| Edge () | |
| virtual | ~Edge () |
| RobustKernel * | robustKernel () const |
| if NOT NULL, error of this edge will be robustifed with the kernel | |
| void | setRobustKernel (RobustKernel *ptr) |
| 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) |
| 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 | |
| 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) |
Private Member Functions | |
| virtual bool | resolveCaches () |
Private Attributes | |
| Eigen::Matrix< double, 3, 9, Eigen::ColMajor > | J |
| ParameterCamera * | params |
| CacheCamera * | cache |
Additional Inherited Members | |
Public Types inherited from g2o::BaseBinaryEdge< 3, Vector3, VertexSE3, VertexPointXYZ > | |
| using | VertexXiType = VertexSE3 |
| using | VertexXjType = VertexPointXYZ |
Public Types inherited from g2o::BaseFixedSizedEdge< D, E, VertexTypes > | |
| template<int N, typename... Types> | |
| using | NthType = typename std::tuple_element< N, std::tuple< Types... > >::type |
| template<int VertexN> | |
| using | VertexXnType = NthType< VertexN, VertexTypes... > |
| The type of the N-th vertex. | |
| typedef BaseEdge< D, E >::Measurement | Measurement |
| typedef BaseEdge< D, E >::ErrorVector | ErrorVector |
| typedef BaseEdge< D, E >::InformationType | InformationType |
| template<int EdgeDimension, int VertexDimension> | |
| using | JacobianType = typename Eigen::Matrix< double, EdgeDimension, VertexDimension, EdgeDimension==1 ? Eigen::RowMajor :Eigen::ColMajor >::AlignedMapType |
| template<int DN, int DM> | |
| using | HessianBlockType = Eigen::Map< Eigen::Matrix< double, DN, DM, DN==1 ? Eigen::RowMajor :Eigen::ColMajor >, Eigen::Matrix< double, DN, DM, DN==1 ? Eigen::RowMajor :Eigen::ColMajor >::Flags &Eigen::PacketAccessBit ? Eigen::Aligned :Eigen::Unaligned > |
| it requires quite some ugly code to get the type of hessians... | |
| template<int K> | |
| using | HessianBlockTypeK = HessianBlockType< VertexXnType< internal::index_to_pair(K).first >::Dimension, VertexXnType< internal::index_to_pair(K).second >::Dimension > |
| template<int K> | |
| using | HessianBlockTypeKTransposed = HessianBlockType< VertexXnType< internal::index_to_pair(K).second >::Dimension, VertexXnType< internal::index_to_pair(K).first >::Dimension > |
| using | HessianTuple = typename HessianTupleType< std::make_index_sequence< _nr_of_vertex_pairs > >::type |
| using | HessianTupleTransposed = typename HessianTupleType< std::make_index_sequence< _nr_of_vertex_pairs > >::typeTransposed |
| using | HessianRowMajorStorage = std::array< bool, _nr_of_vertex_pairs > |
Public Types inherited from g2o::BaseEdge< D, E > | |
| typedef E | Measurement |
| typedef internal::BaseEdgeTraits< D >::ErrorVector | ErrorVector |
| typedef internal::BaseEdgeTraits< D >::InformationType | InformationType |
Static Public Member Functions inherited from g2o::BaseFixedSizedEdge< D, E, VertexTypes > | |
| template<int VertexN> | |
| static constexpr int | VertexDimension () |
| Size of the N-th vertex at compile time. | |
Static Public Attributes inherited from g2o::BaseFixedSizedEdge< D, E, VertexTypes > | |
| static const int | Dimension = BaseEdge<D, E>::Dimension |
| static const std::size_t | _nr_of_vertices = sizeof...(VertexTypes) |
| static const std::size_t | _nr_of_vertex_pairs |
Static Public Attributes inherited from g2o::BaseEdge< D, E > | |
| static constexpr int | Dimension = internal::BaseEdgeTraits<D>::Dimension |
Protected Member Functions inherited from g2o::BaseEdge< D, E > | |
| InformationType | robustInformation (const Vector3 &rho) const |
| bool | writeInformationMatrix (std::ostream &os) const |
| write the upper trinagular part of the information matrix into the stream | |
| bool | readInformationMatrix (std::istream &is) |
| bool | writeParamIds (std::ostream &os) const |
| write the param IDs that are potentially used by the edge | |
| bool | readParamIds (std::istream &is) |
| reads the param IDs from the stream | |
Protected Member Functions inherited from g2o::OptimizableGraph::Edge | |
| 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 ¶meters) |
| bool | resolveParameters () |
Protected Attributes inherited from g2o::BaseBinaryEdge< 3, Vector3, VertexSE3, VertexPointXYZ > | |
| BaseFixedSizedEdge< D, Vector3, VertexSE3, VertexPointXYZ >::template JacobianType< D, VertexXi::Dimension > & | _jacobianOplusXi |
| BaseFixedSizedEdge< D, Vector3, VertexSE3, VertexPointXYZ >::template JacobianType< D, VertexXj::Dimension > & | _jacobianOplusXj |
Protected Attributes inherited from g2o::BaseFixedSizedEdge< D, E, VertexTypes > | |
| HessianRowMajorStorage | _hessianRowMajor |
| HessianTuple | _hessianTuple |
| HessianTupleTransposed | _hessianTupleTransposed |
| std::tuple< JacobianType< D, VertexTypes::Dimension >... > | _jacobianOplus |
Protected Attributes inherited from g2o::BaseEdge< D, E > | |
| Measurement | _measurement |
| the measurement of the edge | |
| InformationType | _information |
| ErrorVector | _error |
Protected Attributes inherited from g2o::OptimizableGraph::Edge | |
| 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 |
Definition at line 42 of file edge_se3_pointxyz_depth.h.
| g2o::EdgeSE3PointXYZDepth::EdgeSE3PointXYZDepth | ( | ) |
Definition at line 34 of file edge_se3_pointxyz_depth.cpp.
References g2o::BaseEdge< D, E >::information(), g2o::OptimizableGraph::Edge::installParameter(), J, params, and g2o::OptimizableGraph::Edge::resizeParameters().
|
virtual |
Implements g2o::OptimizableGraph::Edge.
Definition at line 64 of file edge_se3_pointxyz_depth.cpp.
References g2o::BaseEdge< D, E >::_error, g2o::BaseEdge< D, E >::_measurement, g2o::HyperGraph::Edge::_vertices, cache, g2o::BaseVertex< D, T >::estimate(), and g2o::CacheCamera::w2i().
|
inlinevirtual |
writes the measurement to an array of double
Reimplemented from g2o::OptimizableGraph::Edge.
Definition at line 61 of file edge_se3_pointxyz_depth.h.
|
virtual |
set the estimate of the to vertex, based on the estimate of the from vertices in the edge.
Reimplemented from g2o::BaseEdge< D, E >.
Definition at line 130 of file edge_se3_pointxyz_depth.cpp.
References g2o::BaseEdge< D, E >::_measurement, g2o::HyperGraph::Edge::_vertices, g2o::BaseVertex< D, T >::estimate(), g2o::ParameterCamera::invKcam(), g2o::ParameterSE3Offset::offset(), params, and g2o::BaseVertex< D, T >::setEstimate().
|
inlinevirtual |
override in your class if it's possible to initialize the vertices in certain combinations. The return value may correspond to the cost for initiliaizng the vertex but should be positive if the initialization is possible and negative if not possible.
Reimplemented from g2o::OptimizableGraph::Edge.
Definition at line 71 of file edge_se3_pointxyz_depth.h.
|
virtual |
Linearizes the oplus operator in the vertex, and stores the result in temporary variables _jacobianOplus
Reimplemented from g2o::BaseFixedSizedEdge< D, E, VertexTypes >.
Definition at line 79 of file edge_se3_pointxyz_depth.cpp.
References g2o::BaseBinaryEdge< 3, Vector3, VertexSE3, VertexPointXYZ >::_jacobianOplusXi, g2o::BaseBinaryEdge< 3, Vector3, VertexSE3, VertexPointXYZ >::_jacobianOplusXj, g2o::HyperGraph::Edge::_vertices, cache, g2o::BaseVertex< D, T >::estimate(), J, g2o::ParameterCamera::Kcam_inverseOffsetR(), params, g2o::CacheCamera::w2i(), and g2o::CacheSE3Offset::w2l().
|
inlinevirtual |
returns the dimension of the measurement in the extended representation which is used by get/setMeasurement;
Reimplemented from g2o::OptimizableGraph::Edge.
Definition at line 67 of file edge_se3_pointxyz_depth.h.
|
virtual |
read the vertex from a stream, i.e., the internal state of the vertex
Implements g2o::OptimizableGraph::Edge.
Definition at line 52 of file edge_se3_pointxyz_depth.cpp.
References g2o::BaseEdge< D, E >::_measurement, g2o::BaseEdge< D, E >::readInformationMatrix(), g2o::BaseEdge< D, E >::readParamIds(), and g2o::internal::readVector().
|
privatevirtual |
Reimplemented from g2o::OptimizableGraph::Edge.
Definition at line 44 of file edge_se3_pointxyz_depth.cpp.
References g2o::HyperGraph::Edge::_vertices, cache, params, and g2o::OptimizableGraph::Edge::resolveCache().
|
inlinevirtual |
sets the measurement from an array of double
Reimplemented from g2o::OptimizableGraph::Edge.
Definition at line 55 of file edge_se3_pointxyz_depth.h.
|
virtual |
sets the estimate to have a zero error, based on the current value of the state variables returns false if not supported.
Reimplemented from g2o::OptimizableGraph::Edge.
Definition at line 115 of file edge_se3_pointxyz_depth.cpp.
References g2o::BaseEdge< D, E >::_measurement, g2o::HyperGraph::Edge::_vertices, cache, g2o::BaseVertex< D, T >::estimate(), and g2o::CacheCamera::w2i().
|
virtual |
write the vertex to a stream
Implements g2o::OptimizableGraph::Edge.
Definition at line 58 of file edge_se3_pointxyz_depth.cpp.
References g2o::BaseEdge< D, E >::measurement(), g2o::BaseEdge< D, E >::writeInformationMatrix(), g2o::BaseEdge< D, E >::writeParamIds(), and g2o::internal::writeVector().
|
private |
Definition at line 85 of file edge_se3_pointxyz_depth.h.
Referenced by computeError(), linearizeOplus(), resolveCaches(), and setMeasurementFromState().
|
private |
Definition at line 81 of file edge_se3_pointxyz_depth.h.
Referenced by EdgeSE3PointXYZDepth(), and linearizeOplus().
|
private |
Definition at line 84 of file edge_se3_pointxyz_depth.h.
Referenced by EdgeSE3PointXYZDepth(), initialEstimate(), linearizeOplus(), and resolveCaches().