19 #ifndef IGNITION_MATH_SPLINE_HH_ 20 #define IGNITION_MATH_SPLINE_HH_ 24 #include <ignition/math/config.hh> 31 inline namespace IGNITION_MATH_VERSION_NAMESPACE {
51 public:
void Tension(
double _t);
55 public:
double Tension()
const;
59 public:
double ArcLength()
const;
65 public:
double ArcLength(
const double _t)
const;
72 public:
double ArcLength(
const unsigned int _index,
73 const double _t)
const;
78 public:
void AddPoint(
const Vector3d &_p);
91 private:
void AddPoint(
const ControlPoint &_cp,
const bool _fixed);
98 public:
Vector3d Point(
const unsigned int _index)
const;
105 public:
Vector3d Tangent(
const unsigned int _index)
const;
113 public:
Vector3d MthDerivative(
const unsigned int _index,
114 const unsigned int _mth)
const;
118 public:
size_t PointCount()
const;
121 public:
void Clear();
128 public:
bool UpdatePoint(
const unsigned int _index,
137 public:
bool UpdatePoint(
const unsigned int _index,
147 private:
bool UpdatePoint(
const unsigned int _index,
148 const ControlPoint &_cp,
160 public:
Vector3d Interpolate(
const double _t)
const;
172 public:
Vector3d Interpolate(
const unsigned int _fromIndex,
173 const double _t)
const;
183 public:
Vector3d InterpolateTangent(
const double _t)
const;
195 public:
Vector3d InterpolateTangent(
const unsigned int _fromIndex,
196 const double _t)
const;
204 public:
Vector3d InterpolateMthDerivative(
const unsigned int _mth,
205 const double _1)
const;
217 public:
Vector3d InterpolateMthDerivative(
const unsigned int _fromIndex,
218 const unsigned int _mth,
219 const double _s)
const;
235 public:
void AutoCalculate(
bool _autoCalc);
241 public:
void RecalcTangents();
244 private:
void Rebuild();
255 private:
bool MapToSegment(
const double _t,
256 unsigned int &_index,
257 double &_fraction)
const;
261 private: SplinePrivate *dataPtr;
Splines.
Definition: Spline.hh:39
The Vector3 class represents the generic vector containing 3 elements. Since it's commonly used to ke...
Definition: Vector3.hh:40