Public Member Functions | Private Member Functions | Private Attributes | List of all members
gte::NURBSCurve< N, Real > Class Template Reference

#include <GteNURBSCurve.h>

Inheritance diagram for gte::NURBSCurve< N, Real >:
Inheritance graph
[legend]

Public Member Functions

virtual void Evaluate (Real t, unsigned int maxOrder, Vector< N, Real > values[4]) const
 
BasisFunction< Real > const & GetBasisFunction () const
 
Vector< N, Real > const & GetControl (int i) const
 
Vector< N, Real > const * GetControls () const
 
Vector< N, Real > * GetControls ()
 
int GetNumControls () const
 
Real const & GetWeight (int i) const
 
Real const * GetWeights () const
 
Real * GetWeights ()
 
 NURBSCurve (BasisFunctionInput< Real > const &input, Vector< N, Real > const *controls, Real const *weights)
 
void SetControl (int i, Vector< N, Real > const &control)
 
void SetWeight (int i, Real weight)
 
- Public Member Functions inherited from gte::ParametricCurve< N, Real >
Real GetLength (Real t0, Real t1) const
 
int GetNumSegments () const
 
Vector< N, Real > GetPosition (Real t) const
 
Real GetSpeed (Real t) const
 
Vector< N, Real > GetTangent (Real t) const
 
Real GetTime (Real length) const
 
Real const * GetTimes () const
 
Real GetTMax () const
 
Real GetTMin () const
 
Real GetTotalLength () const
 
 operator bool () const
 
void SetMaxBisections (unsigned int maxBisections)
 
void SetRombergOrder (int order)
 
void SetTimeInterval (Real tmin, Real tmax)
 
void SubdivideByLength (int numPoints, Vector< N, Real > *points) const
 
void SubdivideByTime (int numPoints, Vector< N, Real > *points) const
 
virtual ~ParametricCurve ()
 

Private Member Functions

void Compute (unsigned int order, int imin, int imax, Vector< N, Real > &X, Real &w) const
 

Private Attributes

BasisFunction< Real > mBasisFunction
 
std::vector< Vector< N, Real > > mControls
 
std::vector< Real > mWeights
 

Additional Inherited Members

- Protected Types inherited from gte::ParametricCurve< N, Real >
enum  { DEFAULT_ROMBERG_ORDER = 8, DEFAULT_MAX_BISECTIONS = 1024 }
 
- Protected Member Functions inherited from gte::ParametricCurve< N, Real >
 ParametricCurve (Real tmin, Real tmax)
 
 ParametricCurve (int numSegments, Real const *times)
 
- Protected Attributes inherited from gte::ParametricCurve< N, Real >
std::vector< Real > mAccumulatedLength
 
bool mConstructed
 
unsigned int mMaxBisections
 
int mRombergOrder
 
std::vector< Real > mSegmentLength
 
std::vector< Real > mTime
 

Detailed Description

template<int N, typename Real>
class gte::NURBSCurve< N, Real >

Definition at line 17 of file GteNURBSCurve.h.

Constructor & Destructor Documentation

template<int N, typename Real >
gte::NURBSCurve< N, Real >::NURBSCurve ( BasisFunctionInput< Real > const &  input,
Vector< N, Real > const *  controls,
Real const *  weights 
)

Definition at line 65 of file GteNURBSCurve.h.

Member Function Documentation

template<int N, typename Real >
void gte::NURBSCurve< N, Real >::Compute ( unsigned int  order,
int  imin,
int  imax,
Vector< N, Real > &  X,
Real &  w 
) const
private

Definition at line 246 of file GteNURBSCurve.h.

template<int N, typename Real >
void gte::NURBSCurve< N, Real >::Evaluate ( Real  t,
unsigned int  maxOrder,
Vector< N, Real >  values[4] 
) const
virtual

Implements gte::ParametricCurve< N, Real >.

Definition at line 188 of file GteNURBSCurve.h.

template<int N, typename Real >
BasisFunction< Real > const & gte::NURBSCurve< N, Real >::GetBasisFunction ( ) const
inline

Definition at line 106 of file GteNURBSCurve.h.

template<int N, typename Real >
Vector< N, Real > const & gte::NURBSCurve< N, Real >::GetControl ( int  i) const

Definition at line 151 of file GteNURBSCurve.h.

template<int N, typename Real >
Vector< N, Real > const * gte::NURBSCurve< N, Real >::GetControls ( ) const
inline

Definition at line 118 of file GteNURBSCurve.h.

template<int N, typename Real >
Vector< N, Real > * gte::NURBSCurve< N, Real >::GetControls ( )
inline

Definition at line 124 of file GteNURBSCurve.h.

template<int N, typename Real >
int gte::NURBSCurve< N, Real >::GetNumControls ( ) const
inline

Definition at line 112 of file GteNURBSCurve.h.

template<int N, typename Real >
Real const & gte::NURBSCurve< N, Real >::GetWeight ( int  i) const

Definition at line 174 of file GteNURBSCurve.h.

template<int N, typename Real >
Real const * gte::NURBSCurve< N, Real >::GetWeights ( ) const
inline

Definition at line 130 of file GteNURBSCurve.h.

template<int N, typename Real >
Real * gte::NURBSCurve< N, Real >::GetWeights ( )
inline

Definition at line 136 of file GteNURBSCurve.h.

template<int N, typename Real >
void gte::NURBSCurve< N, Real >::SetControl ( int  i,
Vector< N, Real > const &  control 
)

Definition at line 142 of file GteNURBSCurve.h.

template<int N, typename Real >
void gte::NURBSCurve< N, Real >::SetWeight ( int  i,
Real  weight 
)

Definition at line 165 of file GteNURBSCurve.h.

Member Data Documentation

template<int N, typename Real >
BasisFunction<Real> gte::NURBSCurve< N, Real >::mBasisFunction
private

Definition at line 58 of file GteNURBSCurve.h.

template<int N, typename Real >
std::vector<Vector<N, Real> > gte::NURBSCurve< N, Real >::mControls
private

Definition at line 59 of file GteNURBSCurve.h.

template<int N, typename Real >
std::vector<Real> gte::NURBSCurve< N, Real >::mWeights
private

Definition at line 60 of file GteNURBSCurve.h.


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


geometric_tools_engine
Author(s): Yijiang Huang
autogenerated on Thu Jul 18 2019 04:00:06