44 BSplineBasis(
int aNumCtrlPoints,
int iDegree,
bool bOpen );
45 void create(
int aNumCtrlPoints,
int iDegree,
bool bOpen );
51 BSplineBasis(
int aNumCtrlPoints,
int iDegree,
const float* afKnot );
52 void create(
int aNumCtrlPoints,
int iDegree,
const float* afKnot );
67 void setKnot(
int i,
float fKnot );
71 float getD0(
int i )
const;
72 float getD1(
int i )
const;
73 float getD2(
int i )
const;
74 float getD3(
int i )
const;
77 void compute(
float fTime,
unsigned int uiOrder,
int &riMinIndex,
int &riMaxIndex )
const;
80 int initialize(
int iNumCtrlPoints,
int iDegree,
bool bOpen );
85 int getKey(
float& rfTime )
const;
127 BSpline(
const std::vector<T> &
points,
int degree,
bool loop,
bool open );
132 BSpline(
int numControlPoints,
const T *controlPoints,
int degree,
bool loop,
const float *knots );
154 void setKnot(
int i,
float fKnot );
167 float getLength(
float fT0,
float fT1 )
const;
173 void get(
float t, T *position, T *firstDerivative = NULL, T *secondDerivative = NULL, T *thirdDerivative = NULL )
const;
void setKnot(int i, float fKnot)
Definition: BSpline.cpp:504
BSpline()
Definition: BSpline.h:131
void create(int aNumCtrlPoints, int iDegree, bool bOpen)
Definition: BSpline.cpp:106
T getDerivative(float t) const
Definition: BSpline.cpp:636
int mNumCtrlPoints
Definition: BSpline.h:187
float * mKnots
Definition: BSpline.h:89
BSpline< Vec3f > BSpline3f
Definition: BSpline.h:195
float getD1(int i) const
Definition: BSpline.cpp:195
int getNumSpans() const
Definition: BSpline.h:140
float ** m_aafBD0
Definition: BSpline.h:96
int mDegree
Definition: BSpline.h:88
T getControlPoint(int i) const
Definition: BSpline.cpp:494
int mReplicate
Definition: BSpline.h:191
bool isOpen() const
Definition: BSpline.cpp:177
void setKnot(int i, float fKnot)
Definition: BSpline.cpp:243
T getPosition(float t) const
Definition: BSpline.cpp:628
float ** m_aafBD1
Definition: BSpline.h:97
bool isLoop() const
Definition: BSpline.h:143
BSplineBasis & getBasis()
Definition: BSpline.cpp:622
float getD2(int i) const
Definition: BSpline.cpp:201
float ** m_aafBD3
Definition: BSpline.h:99
BSpline & operator=(const BSpline &bspline)
Definition: BSpline.cpp:443
BSplineBasis mBasis
Definition: BSpline.h:190
BSplineBasis & operator=(const BSplineBasis &basis)
Definition: BSpline.cpp:81
int getDegree() const
Definition: BSpline.h:139
void deallocate(float **aafArray)
void compute(float fTime, unsigned int uiOrder, int &riMinIndex, int &riMaxIndex) const
Definition: BSpline.cpp:305
int getNumControlPoints() const
Definition: BSpline.h:138
float ** allocate() const
Definition: BSpline.cpp:213
BSplineBasis()
Definition: BSpline.cpp:62
~BSplineBasis()
Definition: BSpline.cpp:157
int getKey(float &rfTime) const
Definition: BSpline.cpp:268
bool isUniform() const
Definition: BSpline.h:142
GLuint GLsizei GLsizei * length
Definition: GLee.h:2313
~BSpline()
Definition: BSpline.cpp:462
float getKnot(int i) const
Definition: BSpline.cpp:510
float getKnot(int i) const
Definition: BSpline.cpp:254
void setControlPoint(int i, const T &rkCtrl)
Definition: BSpline.cpp:480
int getDegree() const
Definition: BSpline.cpp:171
T getThirdDerivative(float t) const
Definition: BSpline.cpp:652
float getD0(int i) const
Definition: BSpline.cpp:189
bool mOpen
Definition: BSpline.h:90
Definition: BSpline.h:103
bool isUniform() const
Definition: BSpline.cpp:183
float getLength(float fT0, float fT1) const
Definition: BSpline.cpp:613
float getD3(int i) const
Definition: BSpline.cpp:207
bool isOpen() const
Definition: BSpline.h:141
int getNumControlPoints() const
Definition: BSpline.cpp:166
T * mCtrlPoints
Definition: BSpline.h:188
float ** m_aafBD2
Definition: BSpline.h:98
int initialize(int iNumCtrlPoints, int iDegree, bool bOpen)
Definition: BSpline.cpp:223
bool mUniform
Definition: BSpline.h:90
float getTime(float length) const
Returns the time associated with an arc length in the range [0,getLength(0,1)].
Definition: BSpline.cpp:563
T::TYPE getSpeed(float t) const
Definition: BSpline.h:165
GLsizei const GLfloat * points
Definition: GLee.h:6298
bool mLoop
Definition: BSpline.h:189
void createControl(const T *akCtrlPoint)
Definition: BSpline.cpp:468
int mNumCtrlPoints
Definition: BSpline.h:87
BSpline< Vec2f > BSpline2f
Definition: BSpline.h:194
GLdouble GLdouble t
Definition: GLee.h:1426
T getSecondDerivative(float t) const
Definition: BSpline.cpp:644