# CNurbsSurfaceData Struct Reference

This structure represents a data description for a NurbsSurface. More...

`#include <xsi_nurbsdata.h>`

List of all members.

## Public Member Functions
| CNurbsSurfaceData ()
bool | operator== (const CNurbsSurfaceData &in_surfaceData) const
bool | operator!= (const CNurbsSurfaceData &in_surfaceData) const
## Public Attributes
MATH::CVector4Array | m_aControlPoints
LONG | m_lNbUControlPoints
LONG | m_lNbVControlPoints
CDoubleArray | m_aUKnots
CDoubleArray | m_aVKnots
bool | m_bUClosed
bool | m_bVClosed
LONG | m_lUDegree
LONG | m_lVDegree
siKnotParameterization | m_siUParameterization
siKnotParameterization | m_siVParameterization

## Detailed Description

This structure represents a data description for a NurbsSurface.

See also:
  CNurbsSurfaceDataArray, X3DObject::AddNurbsSurface, NurbsSurface::Get, NurbsSurface::Set

## Constructor & Destructor Documentation

CNurbsSurfaceData | ( |  | ) | `[inline]`

Default Constructor.

## Member Function Documentation

bool operator== | ( | const CNurbsSurfaceData & | in_surfaceData | ) | const`[inline]`

Equality operator.

Parameters:

  | in_surfaceData | CNurbsSurfaceData to compare with.

Returns:
  true if they are equal; false if they are not equal.

bool operator!= | ( | const CNurbsSurfaceData & | in_surfaceData | ) | const`[inline]`

Inequality operator.

Parameters:

  | in_surfaceData | CNurbsSurfaceData to compare with.

Returns:
  true if they are not equal; false if they are equal.

## Member Data Documentation

MATH::CVector4Array m_aControlPoints

Array of ControlPoint values.

Note:
  UV ordering is different for the C++ API than it is for scripting. In scripting, a control point array is ordered U-V like so:
  `(0,0)...(0,cntV-1), (1,0)....(1,cntV-1),(cntU-1,0)...(cntU-1,cntV-1)`
  However, the order for the C++ API is V-U:
  `(0,0)...(cntU-1,0), (0,1)....(cntU-1,1)...(0,cntV-1)...(cntU-1,cntV-1)`
  Since functions like NurbsSurface::Set and X3DObject::AddNurbsSurface expect the U-V order, you must reorder the array before passing it to these functions. See UV Ordering for a sample conversion function.

LONG m_lNbUControlPoints

Number of ControlPoints in U

LONG m_lNbVControlPoints

Number of ControlPoints in V

CDoubleArray m_aUKnots

U Knot values

CDoubleArray m_aVKnots

V Knot values

bool m_bUClosed

Specify if the surface is closed in U direction.

bool m_bVClosed

Specify if the surface is closed in V direction.

LONG m_lUDegree

Specify if the degree of the nurbs surface in U.

LONG m_lVDegree

Specify if the degree of the nurbs surface in V.

siKnotParameterization m_siUParameterization

Parameterization factor of the nurbs surface in U.

siKnotParameterization m_siVParameterization

Parameterization factor of the nurbs surface in V.

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

- xsi_nurbsdata.h