A very simple spline class which implements the Catmull-Rom class of splines. More...
#include <OgreSimpleSpline.h>
Public Member Functions | |
SimpleSpline () | |
~SimpleSpline () | |
void | addPoint (const Vector3 &p) |
Adds a control point to the end of the spline. | |
const Vector3 & | 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 Vector3 &value) |
Updates a single point in the spline. | |
Vector3 | interpolate (Real t) const |
Returns an interpolated point based on a parametric value over the whole series. | |
Vector3 | interpolate (unsigned int fromIndex, Real t) const |
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< Vector3 >::type | mPoints |
vector< Vector3 >::type | mTangents |
Matrix4 | mCoeffs |
Matrix of coefficients. |
A very simple spline class which implements the Catmull-Rom class of splines.
Definition at line 56 of file OgreSimpleSpline.h.
Ogre::SimpleSpline::SimpleSpline | ( | ) |
Ogre::SimpleSpline::~SimpleSpline | ( | ) |
void Ogre::SimpleSpline::addPoint | ( | const Vector3 & | p | ) |
Adds a control point to the end of the spline.
void Ogre::SimpleSpline::clear | ( | void | ) |
Clears all the points in the spline.
unsigned short Ogre::SimpleSpline::getNumPoints | ( | void | ) | const |
Gets the number of control points in the spline.
const Vector3& Ogre::SimpleSpline::getPoint | ( | unsigned short | index | ) | const |
Gets the detail of one of the control points of the spline.
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 |
Returns an interpolated point based on a parametric value over the whole series.
t | Parametric value. |
void Ogre::SimpleSpline::recalcTangents | ( | void | ) |
Recalculates the tangents associated with this spline.
void Ogre::SimpleSpline::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::SimpleSpline::updatePoint | ( | unsigned short | index, | |
const Vector3 & | value | |||
) |
Updates a single point in the spline.
bool Ogre::SimpleSpline::mAutoCalc [protected] |
Definition at line 118 of file OgreSimpleSpline.h.
Matrix4 Ogre::SimpleSpline::mCoeffs [protected] |
Matrix of coefficients.
Definition at line 124 of file OgreSimpleSpline.h.
vector<Vector3>::type Ogre::SimpleSpline::mPoints [protected] |
Definition at line 120 of file OgreSimpleSpline.h.
vector<Vector3>::type Ogre::SimpleSpline::mTangents [protected] |
Definition at line 121 of file OgreSimpleSpline.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 23:40:26 2012