54EdgeSE2OdomDifferentialCalibDrawAction::EdgeSE2OdomDifferentialCalibDrawAction()
57HyperGraphElementAction* EdgeSE2OdomDifferentialCalibDrawAction::operator()(
58 HyperGraph::HyperGraphElement* element,
59 HyperGraphElementAction::Parameters*) {
60 if (
typeid(*element).name() != _typeName)
return nullptr;
61 EdgeSE2OdomDifferentialCalib* e =
62 static_cast<EdgeSE2OdomDifferentialCalib*
>(element);
63 VertexSE2* fromEdge =
static_cast<VertexSE2*
>(e->vertex(0));
64 VertexSE2* toEdge =
static_cast<VertexSE2*
>(e->vertex(1));
65 glColor3f(0.5f, 0.5f, 0.5f);
66 glPushAttrib(GL_ENABLE_BIT);
67 glDisable(GL_LIGHTING);
69 glVertex3f((
float)fromEdge->estimate().translation().x(),
70 (
float)fromEdge->estimate().translation().y(), 0.f);
71 glVertex3f((
float)toEdge->estimate().translation().x(),
72 (
float)toEdge->estimate().translation().y(), 0.f);
bool writeInformationMatrix(std::ostream &os) const
write the upper trinagular part of the information matrix into the stream
bool readInformationMatrix(std::istream &is)
EIGEN_STRONG_INLINE const Measurement & measurement() const
accessor functions for the measurement represented by the edge
virtual void setMeasurement(const Measurement &m)
virtual bool write(std::ostream &os) const
write the vertex to a stream
EdgeSE2OdomDifferentialCalib()
virtual bool read(std::istream &is)
read the vertex from a stream, i.e., the internal state of the vertex
velocity measurement of a differential robot
2D pose Vertex, (x,y,theta)