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] =
range * cos(yaw);
45 out_pts[i][1] =
range * sin(yaw);
62 writeToStreamRender(out);
63 BASE::thisclass_writeToStream(out);
65 out << m_underflowMaxRange;
80 readFromStreamRender(
in);
81 BASE::thisclass_readFromStream(
in);
83 in >> m_underflowMaxRange;
Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL.
void readFromStream(mrpt::utils::CStream &in, int version) override
Introduces a pure virtual method responsible for loading from a CStream This can not be used directly...
IMPLEMENTS_SERIALIZABLE(CEllipsoidInverseDepth2D, CRenderizableDisplayList, mrpt::opengl) void CEllipsoidInverseDepth2D
void writeToStream(mrpt::utils::CStream &out, int *getVersion) const override
Introduces a pure virtual method responsible for writing to a CStream.
EIGEN_STRONG_INLINE void notifyChange() const
Must be called to notify that the object has changed (so, the display list must be updated) ...
An especial "ellipsoid" in 3D computed as the uncertainty iso-surfaces of a (inv_range,yaw) variable.
virtual 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.
A renderizable object suitable for rendering with OpenGL's display lists.
This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...
This base provides a set of functions for maths stuff.
#define MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION(__V)
For use in CSerializable implementations.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
This file implements matrix/vector text and binary serialization.
The namespace for 3D scene representation and rendering.