27 #ifndef G2O_VERTEX_SE3_ 28 #define G2O_VERTEX_SE3_ 30 #include "g2o/config.h" 55 static const int orthogonalizeAfter = 1000;
60 _estimate = Isometry3D::Identity();
63 virtual bool read(std::istream& is);
64 virtual bool write(std::ostream& os)
const;
67 Eigen::Map<const Vector7d> v(est);
73 Eigen::Map<Vector7d> v(est);
83 Eigen::Map<const Vector6d> v(est);
89 Eigen::Map<Vector6d> v(est);
107 Eigen::Map<const Vector6d> v(update);
109 _estimate = _estimate * increment;
110 if (++_numOplusCalls > orthogonalizeAfter) {
135 #ifdef G2O_HAVE_OPENGL 141 VertexSE3DrawAction();
Isometry3D fromVectorQT(const Vector7d &v)
Abstract action that operates on a graph entity.
virtual bool setMinimalEstimateDataImpl(const double *est)
virtual bool setEstimateDataImpl(const double *est)
SE3Quat toSE3Quat(const Isometry3D &t)
virtual void setToOriginImpl()
sets the node to the origin (used in the multilevel stuff)
virtual bool getMinimalEstimateData(double *est) const
#define G2O_TYPES_SLAM3D_API
Eigen::Transform< double, 3, Eigen::Isometry, Eigen::ColMajor > Isometry3D
Vector6d toVectorMQT(const Isometry3D &t)
write the vertex to some Gnuplot data file
virtual int minimalEstimateDimension() const
virtual bool getEstimateData(double *est) const
void approximateNearestOrthogonalMatrix(const Eigen::MatrixBase< Derived > &R)
void G2O_ATTRIBUTE_DEPRECATED(setEstimateFromSE3Quat(const SE3Quat &se3))
wrapper function to use the old SE3 type
virtual void oplusImpl(const double *update)
3D pose Vertex, represented as an Isometry3D
SE3Quat G2O_ATTRIBUTE_DEPRECATED(estimateAsSE3Quat() const)
wrapper function to use the old SE3 type
int _numOplusCalls
store how often opluse was called to trigger orthogonaliation of the rotation matrix ...
Vector7d toVectorQT(const Isometry3D &t)
Isometry3D fromVectorMQT(const Vector6d &v)
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
virtual int estimateDimension() const
Isometry3D fromSE3Quat(const SE3Quat &t)