This class interpolates orientations (rotations) along a spline using derivatives of quaternions. More...
#include <OgreRotationalSpline.h>
Public Member Functions | |
RotationalSpline () | |
~RotationalSpline () | |
void | addPoint (const Quaternion &p) |
Adds a control point to the end of the spline. | |
const Quaternion & | getPoint (unsigned short index) const |
Gets the detail of one of the control points of the spline. | |
unsigned short | getNumPoints (void) const |
Gets the number of control points in the spline. | |
void | clear (void) |
Clears all the points in the spline. | |
void | updatePoint (unsigned short index, const Quaternion &value) |
Updates a single point in the spline. | |
Quaternion | interpolate (Real t, bool useShortestPath=true) |
Returns an interpolated point based on a parametric value over the whole series. | |
Quaternion | interpolate (unsigned int fromIndex, Real t, bool useShortestPath=true) |
Interpolates a single segment of the spline given a parametric value. | |
void | setAutoCalculate (bool autoCalc) |
Tells the spline whether it should automatically calculate tangents on demand as points are added. | |
void | recalcTangents (void) |
Recalculates the tangents associated with this spline. | |
Protected Attributes | |
bool | mAutoCalc |
vector< Quaternion >::type | mPoints |
vector< Quaternion >::type | mTangents |
This class interpolates orientations (rotations) along a spline using derivatives of quaternions.
Definition at line 57 of file OgreRotationalSpline.h.
void Ogre::RotationalSpline::addPoint | ( | const Quaternion & | p | ) |
Adds a control point to the end of the spline.
void Ogre::RotationalSpline::clear | ( | void | ) |
Clears all the points in the spline.
unsigned short Ogre::RotationalSpline::getNumPoints | ( | void | ) | const |
Gets the number of control points in the spline.
const Quaternion& Ogre::RotationalSpline::getPoint | ( | unsigned short | index | ) | const |
Gets the detail of one of the control points of the spline.
Quaternion Ogre::RotationalSpline::interpolate | ( | Real | t, |
bool | useShortestPath = true |
||
) |
Returns an interpolated point based on a parametric value over the whole series.
t | Parametric value. |
useShortestPath | Defines if rotation should take the shortest possible path |
Quaternion Ogre::RotationalSpline::interpolate | ( | unsigned int | fromIndex, |
Real | t, | ||
bool | useShortestPath = true |
||
) |
Interpolates a single segment of the spline given a parametric value.
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 |
void Ogre::RotationalSpline::recalcTangents | ( | void | ) |
Recalculates the tangents associated with this spline.
void Ogre::RotationalSpline::setAutoCalculate | ( | bool | autoCalc | ) |
Tells the spline whether it should automatically calculate tangents on demand as points are added.
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. |
void Ogre::RotationalSpline::updatePoint | ( | unsigned short | index, |
const Quaternion & | value | ||
) |
Updates a single point in the spline.
bool Ogre::RotationalSpline::mAutoCalc [protected] |
Definition at line 120 of file OgreRotationalSpline.h.
vector<Quaternion>::type Ogre::RotationalSpline::mPoints [protected] |
Definition at line 124 of file OgreRotationalSpline.h.
vector<Quaternion>::type Ogre::RotationalSpline::mTangents [protected] |
Definition at line 125 of file OgreRotationalSpline.h.
Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Fri May 25 2012 21:49:05