19 #ifndef IGNITION_MATH_SPLINE_HH_ 20 #define IGNITION_MATH_SPLINE_HH_ 24 #include <ignition/math/config.hh> 30 inline namespace IGNITION_MATH_VERSION_NAMESPACE
50 public:
void Tension(
double _t);
54 public:
double Tension()
const;
58 public:
double ArcLength()
const;
64 public:
double ArcLength(
const double _t)
const;
71 public:
double ArcLength(
const unsigned int _index,
72 const double _t)
const;
77 public:
void AddPoint(
const Vector3d &_p);
90 private:
void AddPoint(
const ControlPoint &_cp,
const bool _fixed);
97 public:
Vector3d Point(
const unsigned int _index)
const;
104 public:
Vector3d Tangent(
const unsigned int _index)
const;
112 public:
Vector3d MthDerivative(
const unsigned int _index,
113 const unsigned int _mth)
const;
117 public:
size_t PointCount()
const;
120 public:
void Clear();
127 public:
bool UpdatePoint(
const unsigned int _index,
136 public:
bool UpdatePoint(
const unsigned int _index,
146 private:
bool UpdatePoint(
const unsigned int _index,
147 const ControlPoint &_cp,
159 public:
Vector3d Interpolate(
const double _t)
const;
171 public:
Vector3d Interpolate(
const unsigned int _fromIndex,
172 const double _t)
const;
182 public:
Vector3d InterpolateTangent(
const double _t)
const;
194 public:
Vector3d InterpolateTangent(
const unsigned int _fromIndex,
195 const double _t)
const;
203 public:
Vector3d InterpolateMthDerivative(
const unsigned int _mth,
204 const double _1)
const;
216 public:
Vector3d InterpolateMthDerivative(
const unsigned int _fromIndex,
217 const unsigned int _mth,
218 const double _s)
const;
234 public:
void AutoCalculate(
bool _autoCalc);
240 public:
void RecalcTangents();
243 private:
void Rebuild();
254 private:
bool MapToSegment(
const double _t,
255 unsigned int &_index,
256 double &_fraction)
const;
260 private: SplinePrivate *dataPtr;
Splines.
Definition: Spline.hh:38
The Vector3 class represents the generic vector containing 3 elements.
Definition: Vector3.hh:39