50 std::pair<double, double> p1, p2, p3, p4;
55 if (it_ge1 != m_x2y.end() && it_ge1->first ==
x)
63 if (it_ge1 == m_x2y.end() || it_ge1 == m_x2y.begin())
70 if (it_ge1 == m_x2y.end())
80 if (it_ge1 == m_x2y.begin())
117 out << m_x2y << m_wrap2pi;
132 in >> m_x2y >> m_wrap2pi;
Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL.
The virtual base class which provides a unified interface for all persistent objects in MRPT...
#define IMPLEMENTS_SERIALIZABLE(class_name, base, NameSpace)
This must be inserted in all CSerializable classes implementation files.
Column vector, like Eigen::MatrixX*, but automatically initialized to zeros since construction...
void appendXY(double x, double y)
Append a new point:
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...
const Scalar * const_iterator
This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...
A (persistent) sequence of (x,y) coordinates, allowing queries of intermediate points through spline ...
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.
void writeToStream(mrpt::utils::CStream &out, int *getVersion) const override
Introduces a pure virtual method responsible for writing to a CStream.
NUMTYPE spline(const NUMTYPE t, const VECTORLIKE &x, const VECTORLIKE &y, bool wrap2pi=false)
Interpolates the value of a function in a point "t" given 4 SORTED points where "t" is between the tw...
double & query(double x, double &y, bool &out_valid) const
Query an interpolation of the curve at some "x".