35 using namespace Eigen;
41 color << 0.1, 0.1, 0.1;
47 is >> v(0) >> v(1) >> v(2) >> v(3);
62 os << v(0) <<
" " << v(1) <<
" " << v(2) <<
" " << v(3) <<
" ";
71 #ifdef G2O_HAVE_OPENGL 80 _planeWidth = _previousParams->makeProperty<
FloatProperty>(_typeName +
"::PLANE_WIDTH", 3.0f);
81 _planeHeight = _previousParams->makeProperty<
FloatProperty>(_typeName +
"::PLANE_HEIGHT", 3.0f);
92 if (
typeid(*element).name()!=_typeName)
95 refreshPropertyPtrs(params_);
96 if (! _previousParams)
99 if (_show && !_show->value())
110 if (! robot|| ! sensor)
117 glColor3f(
float(that->
color(0)),
float(that->
color(1)),
float(that->
color(2)));
120 glMultMatrixd(robotAndSensor.matrix().data());
122 glRotatef(
float(
RAD2DEG(azimuth)), 0.f, 0.f, 1.f);
123 glRotatef(
float(
RAD2DEG(elevation)), 0.f, -1.f, 0.f);
124 glTranslatef(
float(d), 0.f, 0.f);
126 float planeWidth = 0.5f;
127 float planeHeight = 0.5f;
129 planeWidth = _planeWidth->value();
130 planeHeight = _planeHeight->value();
132 if (_planeWidth && _planeHeight){
135 glVertex3f(0,-planeWidth, -planeHeight);
136 glVertex3f(0, planeWidth, -planeHeight);
137 glVertex3f(0, planeWidth, planeHeight);
138 glVertex3f(0,-planeWidth, planeHeight);
const Vertex * vertex(size_t i) const
virtual bool write(std::ostream &os) const
write the vertex to a stream
static double elevation(const Eigen::Vector3d &v)
virtual bool read(std::istream &is)
read the vertex from a stream, i.e., the internal state of the vertex
Abstract action that operates on a graph entity.
Eigen::Matrix< double, 4, 1, Eigen::ColMajor > Vector4D
static double azimuth(const Eigen::Vector3d &v)
plane measurement that also calibrates an offset for the sensor
Eigen::Transform< double, 3, Eigen::Isometry, Eigen::ColMajor > Isometry3D
base class to represent an edge connecting an arbitrary number of nodes
Eigen::Vector3d normal() const
void setMeasurement(const Plane3D &m)
virtual void resize(size_t size)
EIGEN_STRONG_INLINE const InformationType & information() const
information matrix of the constraint
const EstimateType & estimate() const
return the current estimate of the vertex
virtual bool refreshPropertyPtrs(HyperGraphElementAction::Parameters *params_)
3D pose Vertex, represented as an Isometry3D
Eigen::Vector4d toVector() const
EdgeSE3PlaneSensorCalib()
EIGEN_STRONG_INLINE const Measurement & measurement() const
accessor functions for the measurement represented by the edge