Cinder  0.9.1
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
cinder::BSpline< D, T > Class Template Reference

#include <GeomIo.h>

Public Types

typedef VECDIM< D, T >::TYPE VecT
 

Public Member Functions

 BSpline (const std::vector< VecT > &points, int degree, bool loop, bool open)
 
 BSpline ()
 
 BSpline (int numControlPoints, const VecT *controlPoints, int degree, bool loop, const float *knots)
 
 BSpline (const BSpline &bspline)
 
BSplineoperator= (const BSpline &bspline)
 
 ~BSpline ()
 
int getNumControlPoints () const
 
int getDegree () const
 
int getNumSpans () const
 
bool isOpen () const
 
bool isUniform () const
 
bool isLoop () const
 
void setControlPoint (int i, const VecT &rkCtrl)
 
VecT getControlPoint (int i) const
 
void setKnot (int i, float fKnot)
 
float getKnot (int i) const
 
VecT getPosition (float t) const
 
VecT getDerivative (float t) const
 
VecT getSecondDerivative (float t) const
 
VecT getThirdDerivative (float t) const
 
getSpeed (float t) const
 
float getLength (float fT0, float fT1) const
 
void get (float t, VecT *position, VecT *firstDerivative=NULL, VecT *secondDerivative=NULL, VecT *thirdDerivative=NULL) const
 
float getTime (float length) const
 
BSplineBasisgetBasis ()
 

Protected Member Functions

void createControl (const VecT *akCtrlPoint)
 

Protected Attributes

int mNumCtrlPoints
 
VecTmCtrlPoints
 
bool mLoop
 
BSplineBasis mBasis
 
int mReplicate
 

Member Typedef Documentation

template<int D, typename T>
typedef VECDIM<D, T>::TYPE cinder::BSpline< D, T >::VecT

Constructor & Destructor Documentation

template<int D, typename T >
cinder::BSpline< D, T >::BSpline ( const std::vector< VecT > &  points,
int  degree,
bool  loop,
bool  open 
)
template<int D, typename T>
cinder::BSpline< D, T >::BSpline ( )
template<int D, typename T>
cinder::BSpline< D, T >::BSpline ( int  numControlPoints,
const VecT controlPoints,
int  degree,
bool  loop,
const float *  knots 
)
template<int D, typename T >
cinder::BSpline< D, T >::BSpline ( const BSpline< D, T > &  bspline)
template<int D, typename T >
cinder::BSpline< D, T >::~BSpline ( )

Member Function Documentation

template<int D, typename T >
BSpline< D, T > & cinder::BSpline< D, T >::operator= ( const BSpline< D, T > &  bspline)
template<int D, typename T>
int cinder::BSpline< D, T >::getNumControlPoints ( ) const
template<int D, typename T>
int cinder::BSpline< D, T >::getDegree ( ) const
template<int D, typename T>
int cinder::BSpline< D, T >::getNumSpans ( ) const
template<int D, typename T>
bool cinder::BSpline< D, T >::isOpen ( ) const
template<int D, typename T>
bool cinder::BSpline< D, T >::isUniform ( ) const
template<int D, typename T>
bool cinder::BSpline< D, T >::isLoop ( ) const
template<int D, typename T >
void cinder::BSpline< D, T >::setControlPoint ( int  i,
const VecT rkCtrl 
)
template<int D, typename T >
BSpline< D, T >::VecT cinder::BSpline< D, T >::getControlPoint ( int  i) const
template<int D, typename T >
void cinder::BSpline< D, T >::setKnot ( int  i,
float  fKnot 
)
template<int D, typename T >
float cinder::BSpline< D, T >::getKnot ( int  i) const
template<int D, typename T >
BSpline< D, T >::VecT cinder::BSpline< D, T >::getPosition ( float  t) const
template<int D, typename T >
BSpline< D, T >::VecT cinder::BSpline< D, T >::getDerivative ( float  t) const
template<int D, typename T >
BSpline< D, T >::VecT cinder::BSpline< D, T >::getSecondDerivative ( float  t) const
template<int D, typename T >
BSpline< D, T >::VecT cinder::BSpline< D, T >::getThirdDerivative ( float  t) const
template<int D, typename T >
T cinder::BSpline< D, T >::getSpeed ( float  t) const
template<int D, typename T >
float cinder::BSpline< D, T >::getLength ( float  fT0,
float  fT1 
) const
template<int D, typename T >
void cinder::BSpline< D, T >::get ( float  t,
VecT position,
VecT firstDerivative = NULL,
VecT secondDerivative = NULL,
VecT thirdDerivative = NULL 
) const
template<int D, typename T >
float cinder::BSpline< D, T >::getTime ( float  length) const

Returns the time associated with an arc length in the range [0,getLength(0,1)].

template<int D, typename T >
BSplineBasis & cinder::BSpline< D, T >::getBasis ( )
template<int D, typename T >
void cinder::BSpline< D, T >::createControl ( const VecT akCtrlPoint)
protected

Member Data Documentation

template<int D, typename T>
int cinder::BSpline< D, T >::mNumCtrlPoints
protected
template<int D, typename T>
VecT* cinder::BSpline< D, T >::mCtrlPoints
protected
template<int D, typename T>
bool cinder::BSpline< D, T >::mLoop
protected
template<int D, typename T>
BSplineBasis cinder::BSpline< D, T >::mBasis
protected
template<int D, typename T>
int cinder::BSpline< D, T >::mReplicate
protected

The documentation for this class was generated from the following files: