GClasses
|
NURBS = Non Uniform Rational B-Spline Periodic = closed loop.
#include <GBezier.h>
Public Member Functions | |
GNurbs (int nControlPoints, int nDegree, bool periodic) | |
GNurbs (GNurbs *pThat) | |
~GNurbs () | |
GBezier * | bezier (int nInterval) |
Create a Bezier curve that exactly fits a portion of this curve. todo: what are acceptable values for nInterval? More... | |
void | controlPoint (G3DVector *pOutPoint, double *pOutWeight, int n) |
Returns a control point and the associated weight. More... | |
int | controlPointCount () |
Returns the number of control points. More... | |
void | insertKnotPeriodic (int nInterval, double dRatio) |
0 <= dRatio <= 1, (for example, .5 means to insert the knot in the center of the interval) More... | |
double | knotInterval (int n) |
void | setControlPoint (int n, G3DVector *pPoint, double weight) |
Set a control point location and its weight. More... | |
void | setKnotInterval (int n, double dInterval) |
Protected Member Functions | |
void | calculateBezierControlPoint (struct GBezierPoint *pOutPoint, int nInterval, int nControlPoint) |
double | knotValue (int n) |
void | newKnotPeriodic (struct GBezierPoint *pA, struct GBezierPoint *pB, int n, int nControlPoint, double dRatio) |
void | pointCircular (struct GBezierPoint *pOutPoint, int n) |
Protected Attributes | |
bool | m_bPeriodic |
int | m_nControlPoints |
int | m_nDegree |
struct GNurbsPoint * | m_pPoints |
GClasses::GNurbs::GNurbs | ( | int | nControlPoints, |
int | nDegree, | ||
bool | periodic | ||
) |
GClasses::GNurbs::GNurbs | ( | GNurbs * | pThat | ) |
GClasses::GNurbs::~GNurbs | ( | ) |
GBezier* GClasses::GNurbs::bezier | ( | int | nInterval | ) |
Create a Bezier curve that exactly fits a portion of this curve. todo: what are acceptable values for nInterval?
|
protected |
void GClasses::GNurbs::controlPoint | ( | G3DVector * | pOutPoint, |
double * | pOutWeight, | ||
int | n | ||
) |
Returns a control point and the associated weight.
|
inline |
Returns the number of control points.
void GClasses::GNurbs::insertKnotPeriodic | ( | int | nInterval, |
double | dRatio | ||
) |
0 <= dRatio <= 1, (for example, .5 means to insert the knot in the center of the interval)
double GClasses::GNurbs::knotInterval | ( | int | n | ) |
|
protected |
|
protected |
|
protected |
void GClasses::GNurbs::setControlPoint | ( | int | n, |
G3DVector * | pPoint, | ||
double | weight | ||
) |
Set a control point location and its weight.
void GClasses::GNurbs::setKnotInterval | ( | int | n, |
double | dInterval | ||
) |
|
protected |
|
protected |
|
protected |
|
protected |