BaseNURBSCurve Class Reference

#include <NURBSMath.h>

Inheritance diagram for BaseNURBSCurve:

公共成员函数

Result < void >  Init ( Int pcnt, Int degree)
void  重置 ()
Result < void >  ChangeDegree ( Int newDegree, NURBSCURVE_KNOTMODE knotMode= NURBSCURVE_KNOTMODE::CLAMPED_UNIFORM )
Result < 向量 EvaluateAt ( Float s)
Result < 向量 EvaluateAt ( Float u, Int span)
Result < 向量 DeriveAt ( Float s)
Result < 向量 DeriveAt ( Float u, Int span)
Result < Int GetDegree ()
Result < Int GetMaxDegree ()
Result < Int GetPointCount ()
Result < Int GetWeightCount ()
Result < Int GetKnotCount ()
Result < KnotInfo GetKnotInfo ( Int i)
Result < 向量 GetPoint ( Int i)
Result < Float GetWeight ( Int i)
Result < Float GetKnot ( Int i)
Result < void >  SetPoint ( Int i, const 向量 &point)
Result < void >  SetPoints (const BaseArray < 向量 > &points)
Result < void >  SetWeight ( Int i, Float weight)
Result < void >  SetWeights (const BaseArray < Float > &weights)
Result < void >  SetKnot ( Int i, Float knot)
Result < void >  SetKnots ( NURBSCURVE_KNOTMODE mode)
Result < void >  SetKnots (const BaseArray < Float > &knots)
Result < void >  InsertKnot ( Float s, Int nTimes)
Result < void >  InsertKnot ( Float u, Int span, Int nTimes)
Float   GetUmin ()
Float   GetUmax ()
Result < Int FindSpan ( Float u)
Float   MapStoU ( Float s)
Float   MapUtoS ( Float u)

Protected Member Functions

Result < void >  _CheckForKnotConsistency ()
Result < void >  _InitKnots ( NURBSCURVE_KNOTMODE mode)
Result < void >  _ComputeBasisFunctions ( Float u, Int span, Int maxDegree)
Result < Vector4d _ComputeHomogeneousC ( Float u, Int span, Int degree)

Protected Attributes

Int   _curveDegree
BaseArray < Vector4d _points
BaseArray < Float _knots
Bool   _dirty
Bool   _memInit

Private Attributes

MatrixNxM < Float _basis
BaseArray < Float _left
BaseArray < Float _right
MatrixNxM < Float _ndu
MatrixNxM < Float _a

Friends

class  NURBSCurve

成员函数文档编制

◆  Init()

Result <void> Init ( Int   pcnt ,
Int   degree  
)

◆  Reset()

void Reset ( )

◆  ChangeDegree()

Result <void> ChangeDegree ( Int   newDegree ,
NURBSCURVE_KNOTMODE   knotMode = NURBSCURVE_KNOTMODE::CLAMPED_UNIFORM  
)

◆  EvaluateAt() [1/2]

Result < 向量 > EvaluateAt ( Float   s )

◆  EvaluateAt() [2/2]

Result < 向量 > EvaluateAt ( Float   u ,
Int   span  
)

◆  DeriveAt() [1/2]

Result < 向量 > DeriveAt ( Float   s )

◆  DeriveAt() [2/2]

Result < 向量 > DeriveAt ( Float   u ,
Int   span  
)

◆  GetDegree()

Result < Int > GetDegree ( )

◆  GetMaxDegree()

Result < Int > GetMaxDegree ( )

◆  GetPointCount()

Result < Int > GetPointCount ( )

◆  GetWeightCount()

Result < Int > GetWeightCount ( )

◆  GetKnotCount()

Result < Int > GetKnotCount ( )

◆  GetKnotInfo()

Result < KnotInfo > GetKnotInfo ( Int   i )

◆  GetPoint()

Result < 向量 > GetPoint ( Int   i )

◆  GetWeight()

Result < Float > GetWeight ( Int   i )

◆  GetKnot()

Result < Float > GetKnot ( Int   i )

◆  SetPoint()

Result <void> SetPoint ( Int   i ,
const 向量 point  
)

◆  SetPoints()

Result <void> SetPoints ( const BaseArray < 向量 > &  points )

◆  SetWeight()

Result <void> SetWeight ( Int   i ,
Float   weight  
)

◆  SetWeights()

Result <void> SetWeights ( const BaseArray < Float > &  weights )

◆  SetKnot()

Result <void> SetKnot ( Int   i ,
Float   knot  
)

◆  SetKnots() [1/2]

Result <void> SetKnots ( NURBSCURVE_KNOTMODE   mode )

◆  SetKnots() [2/2]

Result <void> SetKnots ( const BaseArray < Float > &  knots )

◆  InsertKnot() [1/2]

Result <void> InsertKnot ( Float   s ,
Int   nTimes  
)

◆  InsertKnot() [2/2]

Result <void> InsertKnot ( Float   u ,
Int   span ,
Int   nTimes  
)

◆  GetUmin()

Float GetUmin ( )

◆  GetUmax()

Float GetUmax ( )

◆  FindSpan()

Result < Int > FindSpan ( Float   u )

◆  MapStoU()

Float MapStoU ( Float   s )

◆  MapUtoS()

Float MapUtoS ( Float   u )

◆  _CheckForKnotConsistency()

Result <void> _CheckForKnotConsistency ( )
protected

◆  _InitKnots()

Result <void> _InitKnots ( NURBSCURVE_KNOTMODE   mode )
protected

◆  _ComputeBasisFunctions()

Result <void> _ComputeBasisFunctions ( Float   u ,
Int   span ,
Int   maxDegree  
)
protected

◆  _ComputeHomogeneousC()

Result < Vector4d > _ComputeHomogeneousC ( Float   u ,
Int   span ,
Int   degree  
)
protected

Friends And Related Function Documentation

◆  NURBSCurve

friend class NURBSCurve
friend

Member Data Documentation

◆  _curveDegree

Int _curveDegree
protected

◆  _points

BaseArray < Vector4d > _points
protected

◆  _knots

BaseArray < Float > _knots
protected

◆  _dirty

Bool _dirty
protected

◆  _memInit

Bool _memInit
protected

◆  _basis

MatrixNxM < Float > _basis
private

◆  _left

BaseArray < Float > _left
private

◆  _right

BaseArray < Float > _right
private

◆  _ndu

MatrixNxM < Float > _ndu
private

◆  _a

MatrixNxM < Float > _a
private