This class interpolates orientations (rotations) along a spline using derivatives of quaternions.
More...
#include <OgreRotationalSpline.h>
This class interpolates orientations (rotations) along a spline using derivatives of quaternions.
- In positional splines, we use the points and tangents on those points to generate control points for the spline. In this case, we use quaternions and derivatives of the quaternions (i.e. the rate and direction of change at each point). This is the same as SimpleSpline since a tangent is a derivative of a position. We effectively generate an extra quaternion in between each actual quaternion which when take with the original quaternion forms the 'tangent' of that quaternion.
◆ RotationalSpline()
Ogre::RotationalSpline::RotationalSpline |
( |
| ) |
|
◆ ~RotationalSpline()
Ogre::RotationalSpline::~RotationalSpline |
( |
| ) |
|
◆ addPoint()
void Ogre::RotationalSpline::addPoint |
( |
const Quaternion & |
p | ) |
|
Adds a control point to the end of the spline.
◆ clear()
void Ogre::RotationalSpline::clear |
( |
| ) |
|
Clears all the points in the spline.
◆ getNumPoints()
unsigned short Ogre::RotationalSpline::getNumPoints |
( |
| ) |
const |
Gets the number of control points in the spline.
◆ getPoint()
const Quaternion& Ogre::RotationalSpline::getPoint |
( |
unsigned short |
index | ) |
const |
Gets the detail of one of the control points of the spline.
◆ interpolate() [1/2]
Quaternion Ogre::RotationalSpline::interpolate |
( |
Real |
t, |
|
|
bool |
useShortestPath = true |
|
) |
| |
Returns an interpolated point based on a parametric value over the whole series.
- Parameters
-
t | Parametric value. |
useShortestPath | Defines if rotation should take the shortest possible path |
◆ interpolate() [2/2]
Quaternion Ogre::RotationalSpline::interpolate |
( |
unsigned int |
fromIndex, |
|
|
Real |
t, |
|
|
bool |
useShortestPath = true |
|
) |
| |
Interpolates a single segment of the spline given a parametric value.
- Parameters
-
fromIndex | The point index to treat as t=0. fromIndex + 1 is deemed to be t=1 |
t | Parametric value |
useShortestPath | Defines if rotation should take the shortest possible path |
◆ recalcTangents()
void Ogre::RotationalSpline::recalcTangents |
( |
| ) |
|
Recalculates the tangents associated with this spline.
◆ setAutoCalculate()
void Ogre::RotationalSpline::setAutoCalculate |
( |
bool |
autoCalc | ) |
|
Tells the spline whether it should automatically calculate tangents on demand as points are added.
- Parameters
-
autoCalc | If true, tangents are calculated for you whenever a point changes. If false, you must call reclacTangents to recalculate them when it best suits. |
◆ updatePoint()
void Ogre::RotationalSpline::updatePoint |
( |
unsigned short |
index, |
|
|
const Quaternion & |
value |
|
) |
| |
Updates a single point in the spline.
The documentation for this class was generated from the following file: