CSLNurbsCurve Class Reference

This class represents an SI_NurbsCurve template. 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

This class represents an SI_NurbsCurve template.

Describes a single NURBS curve (see the SI_NurbsCurve template reference).


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]  in_pScene  Parent scene
[in]  in_pModel  Parent model
[in]  in_pTemplate  Refered template
Returns:
an instance of CSLNurbsCurve

virtual ~CSLNurbsCurve (  )  [virtual]

Destructor


Member Function Documentation

SI_Int GetDegree (  ) 

Returns the degree of the curve.

Returns:
Degree value.

SI_Void SetDegree ( SI_Int  in_nValue  ) 

Changes the degree of the curve.

Parameters:
[in]  in_nValue  New degree value.

SI_Bool GetClosedFlag (  ) 

Returns the closed flag of the curve.

Returns:
Closed flag.

SI_Void SetClosedFlag ( SI_Bool  in_bValue  ) 

Changes the closed flag of the curve.

Parameters:
[in]  in_bValue  New closed flag.

EParametrizationType GetParametrization (  ) 

Returns the parametrization type of the curve.

Returns:
Parametrization type.

SI_Void SetParametrization ( EParametrizationType  in_Type  ) 

Changes the parametrization type of the curve.

Parameters:
[in]  in_Type  New parametrization type.

SI_Int GetKnotCount (  ) 

Returns the number of knots of the curve.

Returns:
Number of knots.

CSLFloatArray* GetKnotList (  ) 

Returns the knot values array proxy.

Returns:
Pointer to an array proxy of knots values.

SI_Float* GetKnotListPtr (  ) 

Returns an array of SI_Float containing the knot values.

Returns:
Array of knots values.

SI_Int GetControlPointCount (  ) 

Return the number of control points of the curve.

Returns:
Number of control points.

CSLVector4DArray* GetControlPointList (  ) 

Return the control point values array proxy.

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

CSIBCVector4D* GetControlPointListPtr (  ) 

Returns an array of SI_Float containing the control point values.

Returns:
Array of control point values.

virtual SI_Error Synchronize (  )  [virtual]

Synchronizes this NURBS curve instance with its IO layer representation

Return values:
SI_Error::SI_SUCCESS 

Reimplemented from CSLGeometry.

virtual ETemplateType Type (  )  [inline, virtual]

Returns the template type of the NURBS curve

Return values:
CSLTemplate::SI_NURBS_CURVE  the template type

Implements CSLTemplate.


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