# CSLNurbsCurve Class Reference

`#include <NurbsCurve.h>`

Inheritance diagram for CSLNurbsCurve:

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 (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_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:

- NurbsCurve.h