|
void | AddPoint (CINOSNurbsPoint< N > &aPoint) |
| add control point to curve
|
|
void | AddPoint (TINOSVector< N > &aPoint) |
| add control point to curve
|
|
void | AddKnot (double adKnot, uint32 auMultiplicity) |
| add knot to curve
|
|
void | SetPoints (uint32 auPoints) |
| set number of control points
|
|
uint32 | GetPoints () |
| get number of control points
|
|
void | SetInterpolationPoints (uint32 auInterpolationPoints) |
| set number of interpolation points
|
|
uint32 | Check () |
| check curve
|
|
double | GetLength () |
| get curve length
|
|
uint32 | Prepare () |
|
virtual void | GetPosition (double adP, TINOSVector< N > &ovPos) |
| get position at 'adP'
|
|
virtual void | GetPosition (double adP, TINOSVector< N > &ovPos, uint32 &auSegment) |
| get position at 'adP'
|
|
virtual void | GetPositionFirst (TINOSVector< N > &ovPos) |
| get first position
|
|
virtual void | GetPositionLast (TINOSVector< N > &ovPos) |
| get last position
|
|
void | GetLocalPositionU (double adU, TINOSVector< N > &ovPos) |
| get position at param 'adU' (The NURBS book, page 124, A4.1)
|
|
void | GetPositionU (double adU, TINOSVector< N > &ovPos) |
| get position at param 'adU' (The NURBS book, page 124, A4.1)
|
|
virtual void | GetPositionU (double adU, TINOSVector< N > &ovPos, uint32 auUSpan) |
| get position at param 'adU' (The NURBS book, page 124, A4.1)
|
|
virtual void | GetDerivative (uint32 auLevel, double adP, TINOSVector< N > &ovDer) |
| get auLevel derivative at 'adP'
|
|
virtual void | GetDerivativeBgn (uint32 auLevel, TINOSVector< N > &ovDer) |
| get auLevel derivative at curve begin
|
|
virtual void | GetDerivativeEnd (uint32 auLevel, TINOSVector< N > &ovDer) |
| get auLevel derivative at curve end
|
|
virtual void | GetDerivativeU (uint32 auLevel, double adU, TINOSVector< N > &ovDer) |
|
virtual void | GetD2max (TINOSVector< N > &ovD2Max) |
| get max. second derivative over the whole curve
|
|
virtual void | GetD3max (TINOSVector< N > &ovD3Max) |
| get max. 3rd derivative over the whole curve
|
|
double | GetGlobalU (double adP) |
| approximately project P tu U
|
|
double | GetLocalU (double adP, uint32 auChannel) |
|
| CINOSNurbsCurve (uint32 auDegree=DF_INOS_NURBSCURVE_MAX_DEGREE, uint32 auInterpolationPoints=DF_INOS_NURBSCURVE_INTERPOLATION_POINTS, uint32 auLengthMask=0xFFFFFFF8) |
| constructor
|
|
virtual | ~CINOSNurbsCurve () |
| destructor
|
|
|
uint32 | FindSpan (double u) const |
| determine the knot span index (The NURBS book, page 68, A2.1)
|
|
void | BasisFuns (double u, uint32 i, _vector &Nb) const |
| compute the nonvanishing basis functions (The NURBS book, page 70, A2.2)
|
|
void | DersBasisFuns (uint32 n, double u, uint32 span, _matrix &ders) const |
| compute nonzero basis functions and their derivatives (The NURBS book, page 72, A2.3)
|
|
void | CurveDerivs (double u, uint32 d, _array_vector &ck) |
| compute curve derivatives (The NURBS book, page 93, A3.2)
|
|
uint32 | GetSegment (uint32 auChannel, double adP, TINOSVector< N > &ovPos) |
|
| DECLARE_DYNAMIC_N (CINOSNurbsCurve, N) |
|
|
uint32 | m_uFlags = eFlgZeroWeight |
| flags
|
|
uint32 | D = 1 |
| curve degree
|
|
const uint32 | m_uLengthMask = 0xFFFFFFF8 |
| length mask (bit = 1 -> axis is not length relevant)
|
|
uint32 | m_uInterpolationPoints = DF_INOS_NURBSCURVE_INTERPOLATION_POINTS |
| curve interpolation points
|
|
double | m_dLength = std::numeric_limits<double>::quiet_NaN() |
| curve length
|
|
inos_std::vector< CINOSNurbsPoint< N > > | P |
| control points
|
|
inos_std::vector< double > | U |
| knot vector
|
|
uint8 | m_uLengthDims [N] |
| length relevant dimensions indices
|
|
uint8 | m_uNoLengthDims |
| numeber of length relevant dimensions
|
|
struct CINOSNurbsCurve::SPreviousCache | m_sPreviousCache [eCnsMaxChannels] |
|
inos_std::vector< CINOSSpline * > | m_UofPs |
|