15 #include <Eigen/Dense> 29 const std::vector<BASE::array_parameter_t>& in_pts,
30 std::vector<BASE::array_point_t>& out_pts)
const 35 const size_t N = in_pts.size();
37 for (
size_t i = 0; i < N; i++)
39 const double inv_range = in_pts[i][0];
40 const double yaw = in_pts[i][1];
41 const double range = inv_range < 0
43 : (inv_range != 0 ? 1. / inv_range : 0);
44 out_pts[i][0] =
d2f(range * cos(yaw));
45 out_pts[i][1] =
d2f(range * sin(yaw));
55 writeToStreamRender(
out);
56 BASE::thisclass_writeToStream(
out);
58 out << m_underflowMaxRange;
67 readFromStreamRender(in);
68 BASE::thisclass_readFromStream(in);
70 in >> m_underflowMaxRange;
void notifyChange() const
Call to enable calling renderUpdateBuffers() before the next render() rendering iteration.
An especial "ellipsoid" in 3D computed as the uncertainty iso-surfaces of a (inv_range,yaw) variable.
void serializeTo(mrpt::serialization::CArchive &out) const override
Pure virtual method for writing (serializing) to an abstract archive.
#define MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION(__V)
For use in CSerializable implementations.
float d2f(const double d)
shortcut for static_cast<float>(double)
This base provides a set of functions for maths stuff.
void serializeFrom(mrpt::serialization::CArchive &in, uint8_t serial_version) override
Pure virtual method for reading (deserializing) from an abstract archive.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Virtual base class for "archives": classes abstracting I/O streams.
mrpt::vision::TStereoCalibResults out
This file implements matrix/vector text and binary serialization.
Renderizable generic renderer for objects using the wireframe shader.
IMPLEMENTS_SERIALIZABLE(CEllipsoidInverseDepth2D, CRenderizableShaderWireFrame, mrpt::opengl) void CEllipsoidInverseDepth2D
The namespace for 3D scene representation and rendering.
uint8_t serializeGetVersion() const override
Must return the current versioning number of the object.
void transformFromParameterSpace(const std::vector< BASE::array_parameter_t > &in_pts, std::vector< BASE::array_point_t > &out_pts) const override
To be implemented by derived classes: maps, using some arbitrary space transformation, a list of points defining an ellipsoid in parameter space into their corresponding points in 2D/3D space.