27#ifndef G2O_EDGE_SE2_SEGMENT2D_LINE_H
28#define G2O_EDGE_SE2_SEGMENT2D_LINE_H
30#include "g2o/config.h"
62 Vector2 normal(dP.y(), -dP.x());
64 Vector2 prediction(std::atan2(normal.y(), normal.x()),
65 predP1.dot(normal) * .5 + predP2.dot(normal) * .5);
72 Eigen::Map<const Vector2> data(d);
78 Eigen::Map<Vector2> data(d);
95 Vector2 normal(dP.y(), -dP.x());
97 Vector2 prediction(std::atan2(normal.y(), normal.x()),
98 predP1.dot(normal) * .5 + predP2.dot(normal) * .5);
Measurement _measurement
the measurement of the edge
const EstimateType & estimate() const
return the current estimate of the vertex
G2O_TYPES_SLAM2D_ADDONS_API EIGEN_MAKE_ALIGNED_OPERATOR_NEW G2O_TYPES_SLAM2D_ADDONS_API EdgeSE2Segment2DLine()
G2O_TYPES_SLAM2D_ADDONS_API void setTheta(double t)
virtual G2O_TYPES_SLAM2D_ADDONS_API bool read(std::istream &is)
read the vertex from a stream, i.e., the internal state of the vertex
virtual G2O_TYPES_SLAM2D_ADDONS_API bool setMeasurementFromState()
virtual G2O_TYPES_SLAM2D_ADDONS_API bool write(std::ostream &os) const
write the vertex to a stream
virtual G2O_TYPES_SLAM2D_ADDONS_API bool getMeasurementData(double *d) const
G2O_TYPES_SLAM2D_ADDONS_API double theta() const
G2O_TYPES_SLAM2D_ADDONS_API void setRho(double r)
virtual G2O_TYPES_SLAM2D_ADDONS_API bool setMeasurementData(const double *d)
virtual G2O_TYPES_SLAM2D_ADDONS_API int measurementDimension() const
G2O_TYPES_SLAM2D_ADDONS_API double rho() const
G2O_TYPES_SLAM2D_ADDONS_API void computeError()
VertexContainer _vertices
SE2 inverse() const
invert :-)
2D pose Vertex, (x,y,theta)
Vector2 estimateP1() const
Vector2 estimateP2() const
#define G2O_TYPES_SLAM2D_ADDONS_API
double normalize_theta(double theta)