27#ifndef G2O_VERTEX_SE2_H
28#define G2O_VERTEX_SE2_H
30#include "g2o/config.h"
43 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
49 Vector2 t = _estimate.translation();
50 t += Eigen::Map<const Vector2>(update);
51 double angle =
normalize_theta(_estimate.rotation().angle() + update[2]);
52 _estimate.setTranslation(t);
57 _estimate =
SE2(est[0], est[1], est[2]);
62 Eigen::Map<Vector3> v(est);
63 v = _estimate.toVector();
70 return setEstimateData(est);
74 return getEstimateData(est);
79 virtual bool read(std::istream& is);
80 virtual bool write(std::ostream& os)
const;
95 VertexSE2DrawAction();
102 virtual bool refreshPropertyPtrs(
Abstract action that operates on a graph entity.
2D pose Vertex, (x,y,theta)
virtual void setToOriginImpl()
sets the node to the origin (used in the multilevel stuff)
virtual int estimateDimension() const
virtual void oplusImpl(const double *update)
virtual bool setEstimateDataImpl(const double *est)
virtual bool setMinimalEstimateDataImpl(const double *est)
virtual bool getEstimateData(double *est) const
virtual int minimalEstimateDimension() const
virtual bool getMinimalEstimateData(double *est) const
#define G2O_TYPES_SLAM2D_API
double normalize_theta(double theta)
Eigen::Rotation2D< double > Rotation2D
Property< float > FloatProperty