CSLNurbsCurve Class Reference

Describes a single NURBS curve. More...

#include <NurbsCurve.h>

Inheritance diagram for CSLNurbsCurve:

CSLGeometry CSLPrimitive CSLTemplate CSIBCNode List of all members.

Public Types

enum   EParametrizationType {
  SI_UNIFORM,
  SI_NON_UNIFORM,
  SI_CHORD_LENGTH,
  SI_CENTRIPETAL
}
typedef CSLArrayProxy< SI_Float,
SI_Float, 1 > 
CSLFloatArray
typedef CSLArrayProxy< CSIBCVector4D,
SI_Float, 4 > 
CSLVector4DArray

Public Member Functions

  CSLNurbsCurve (CSLScene *in_pScene, CSLModel *in_pModel, CdotXSITemplate *in_pTemplate)
virtual  ~CSLNurbsCurve ()
SI_Int  GetDegree ()
SI_Void  SetDegree (SI_Int in_nValue)
SI_Bool  GetClosedFlag ()
SI_Void  SetClosedFlag (SI_Bool in_bValue)
EParametrizationType  GetParametrization ()
SI_Void  SetParametrization (EParametrizationType in_Type)
SI_Int  GetKnotCount ()
CSLFloatArray GetKnotList ()
SI_Float *  GetKnotListPtr ()
SI_Int  GetControlPointCount ()
CSLVector4DArray GetControlPointList ()
CSIBCVector4D GetControlPointListPtr ()
virtual SI_Error  Synchronize ()
virtual ETemplateType  Type ()

Detailed Description

Describes a single NURBS curve.


Member Typedef Documentation

typedef CSLArrayProxy<SI_Float, SI_Float, 1> CSLFloatArray

Proxy class that allows modifying a list of SI_Float like an array.

typedef CSLArrayProxy<CSIBCVector4D, SI_Float, 4> CSLVector4DArray

Proxy class that allows modifying a list of CSIBCVector4D objects like an array.


Member Enumeration Documentation

enum EParametrizationType

The EParametrizationType enum contains possible types for knot parametrization

Enumerator:
SI_UNIFORM  Uniform parametrization.
SI_NON_UNIFORM  Non-uniform parametrization.
SI_CHORD_LENGTH  Chord length parametrization.
SI_CENTRIPETAL  Centripetal parametrization.


Constructor & Destructor Documentation

CSLNurbsCurve ( CSLScene in_pScene,
CSLModel in_pModel,
CdotXSITemplate in_pTemplate  
)

Constructor

Parameters:
in_pScene  Parent scene
in_pModel  Parent model
in_pTemplate  Refered template
Returns:
an instance of CSLNurbsCurve

virtual ~CSLNurbsCurve (  )  [virtual]

Destructor


Member Function Documentation

SI_Int GetDegree (  ) 

Return the degree of the curve.

Returns:
SI_Int Degree value.

SI_Void SetDegree ( SI_Int  in_nValue  ) 

Change the degree the curve.

Parameters:
SI_Int  New degree value.
Returns:
SI_Void

SI_Bool GetClosedFlag (  ) 

Return the closed flag of the curve.

Returns:
SI_Bool Closed flag.

SI_Void SetClosedFlag ( SI_Bool  in_bValue  ) 

Change the closed flag of the curve.

Parameters:
SI_Bool  New closed flag.
Returns:
SI_Void

EParametrizationType GetParametrization (  ) 

Return the parametrization type of the curve.

Returns:
EParametrizationType Parametrization type.

SI_Void SetParametrization ( EParametrizationType  in_Type  ) 

Change the parametrization type of the curve.

Parameters:
EParametrizationType  New parametrization type.
Returns:
SI_Void

SI_Int GetKnotCount (  ) 

Return the number of knots of the curve.

Returns:
SI_Int Number of knots.

CSLFloatArray* GetKnotList (  ) 

Return the knot values array proxy.

Returns:
CSLFloatArray* Pointer to an array proxy of knots values.

SI_Float* GetKnotListPtr (  ) 

Returns an array of SI_Float containing the knot values.

Returns:
SI_Float* Array of knots values.

SI_Int GetControlPointCount (  ) 

Return the number of control points of the curve.

Returns:
SI_Int Number of control points.

CSLVector4DArray* GetControlPointList (  ) 

Return the control point values array proxy.

Returns:
CSLVector4DArray* Pointer to an array proxy of control point values.

CSIBCVector4D* GetControlPointListPtr (  ) 

Returns an array of SI_Float containing the control point values.

Returns:
SI_Float* Array of control point values.

virtual SI_Error Synchronize (  )  [virtual]

Synchronizes this NURBS curve instance with its IO layer representation

Returns:
SI_Error
Return values:
SI_SUCCESS  this function always returns SI_SUCCESS

Reimplemented from CSLGeometry.

virtual ETemplateType Type (  )  [inline, virtual]

Get the template type

Returns:
ETemplateType the template type of the NURBS curve

Implements CSLTemplate.


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