A (persistent) sequence of (x,y) coordinates, allowing queries of intermediate points through spline interpolation, where possible.
This class internally relies on mrpt::math::spline. Optionally the y coordinate can be set as wrapped in ]-pi,pi]. For querying interpolated points, see \ sa mrpt::math::spline, mrpt::poses::CPose3DInterpolator
Definition at line 29 of file CSplineInterpolator1D.h.
#include <mrpt/math/CSplineInterpolator1D.h>

Public Member Functions | |
| template<class VECTOR > | |
| CSplineInterpolator1D (const VECTOR &initial_x, const VECTOR &initial_y, bool wrap2pi=false) | |
| Constructor with optional initial values. | |
| CSplineInterpolator1D (bool wrap2pi=false) | |
| Constructor. | |
| void | setWrap2pi (bool wrap) |
| If set to true, the interpolated data will be wrapped to ]-pi,pi]. | |
| bool | getWrap2pi () |
| Return the wrap property. | |
| template<class VECTOR > | |
| void | setXY (const VECTOR &x, const VECTOR &y, bool clearPreviousContent=true) |
| Set all the data at once . | |
| void | appendXY (double x, double y) |
| Append a new point: | |
| void | clear () |
| Clears all stored points. | |
| double & | query (double x, double &y, bool &out_valid) const |
| Query an interpolation of the curve at some "x". | |
| template<class VECTOR1 , class VECTOR2 > | |
| bool | queryVector (const VECTOR1 &x, VECTOR2 &out_y) const |
| As query, but for a whole vector at once. | |
Protected Member Functions | |
CSerializable virtual methods | |
| void | writeToStream (mrpt::utils::CStream &out, int *getVersion) const MRPT_OVERRIDE |
| void | readFromStream (mrpt::utils::CStream &in, int version) MRPT_OVERRIDE |
Private Attributes | |
| std::map< double, double > | m_x2y |
| The placeholders for the data. | |
| bool | m_wrap2pi |
| Whether to wrap "y". | |
RTTI stuff <br> | |
| typedef CSplineInterpolator1DPtr | SmartPtr |
| static mrpt::utils::CLASSINIT | _init_CSplineInterpolator1D |
| static mrpt::utils::TRuntimeClassId | classCSplineInterpolator1D |
| static const mrpt::utils::TRuntimeClassId * | classinfo |
| static const mrpt::utils::TRuntimeClassId * | _GetBaseClass () |
| virtual const mrpt::utils::TRuntimeClassId * | GetRuntimeClass () const MRPT_OVERRIDE |
| virtual mrpt::utils::CObject * | duplicate () const MRPT_OVERRIDE |
| static mrpt::utils::CObject * | CreateObject () |
| static CSplineInterpolator1DPtr | Create () |
A typedef for the associated smart pointer
Definition at line 32 of file CSplineInterpolator1D.h.
|
inline |
Constructor with optional initial values.
Definition at line 43 of file CSplineInterpolator1D.h.
| mrpt::math::CSplineInterpolator1D::CSplineInterpolator1D | ( | bool | wrap2pi = false | ) |
Constructor.
|
staticprotected |
| void mrpt::math::CSplineInterpolator1D::appendXY | ( | double | x, |
| double | y | ||
| ) |
Append a new point:
|
inline |
Clears all stored points.
Definition at line 79 of file CSplineInterpolator1D.h.
|
static |
|
static |
|
virtual |
|
virtual |
|
inline |
Return the wrap property.
Definition at line 58 of file CSplineInterpolator1D.h.
| double & mrpt::math::CSplineInterpolator1D::query | ( | double | x, |
| double & | y, | ||
| bool & | out_valid | ||
| ) | const |
Query an interpolation of the curve at some "x".
The result is stored in "y". If the "x" point is out of range, "valid_out" is set to false.
|
inline |
As query, but for a whole vector at once.
Definition at line 93 of file CSplineInterpolator1D.h.
|
protected |
|
inline |
If set to true, the interpolated data will be wrapped to ]-pi,pi].
Definition at line 55 of file CSplineInterpolator1D.h.
|
inline |
Set all the data at once .
The vectors must have the same length.
Definition at line 64 of file CSplineInterpolator1D.h.
References ASSERT_EQUAL_, MRPT_END, and MRPT_START.
|
protected |
|
staticprotected |
Definition at line 32 of file CSplineInterpolator1D.h.
|
static |
Definition at line 32 of file CSplineInterpolator1D.h.
|
static |
Definition at line 32 of file CSplineInterpolator1D.h.
|
private |
Whether to wrap "y".
Definition at line 38 of file CSplineInterpolator1D.h.
|
private |
The placeholders for the data.
Definition at line 36 of file CSplineInterpolator1D.h.
| Page generated by Doxygen 1.9.8 for MRPT 1.4.0 SVN: at Thu Dec 14 16:54:58 UTC 2023 |