Defines a NURBS surface.
This template provides a definition for existing NURBS representations, such as IGES. This ensures that the SI_NurbsSurface representation is compatible with most existing game engines and file formats.
SI_NurbsSurface always stores surface data in IGES format.
![]()
|
This template corresponds to the CSLNurbsSurface class. |
Note that if you export a NURBS surface from Softimage that has a different U and V parameterization, the dotXSI file format can only support a single parametrization in both U and V.
1.3
|
Member name |
Type |
Array size |
Description |
|
uvDegree |
array int |
2 |
Degree of surface in U and V. |
|
uvClosed |
array BOOLEAN |
2 |
Surface is closed in U. |
|
paramType |
int |
|
Knot parameterization of the NURBS curves: 0 = uniform |
|
nbUVKnots |
array int |
2 |
Number of IGES knots in U and V. |
|
uKnots |
array DOUBLE |
nbUKnots |
Knots in U. |
|
vKnots |
array DOUBLE |
nbVKnots |
Knots in V. |
|
nbControlPoints |
array int |
3 |
Total number of IGES control points: • Number of control points in U • Number of control points in V |
|
controlPoints |
array vector |
nbControlPoints[0] |
Surface control points: x, y, z, w |
|
SI_ShapeAnimation (v2.0 only) |
Closed in U or V implies that a surface is periodic (its continuity is degree –1 by formulation and not construction). In IGES format it implies an overlapping of degree control points, not just the last and first ones.
The IGES Nurbs representation implies:
Open curves have an extra order knot at the end and at the start (order = degree + 1).
Closed (periodic) curves have knot spacing overlap and an overlapping of degree control points.
The SI|3D NURBS representation implies:
• Open curves have an extra degree knot at both the end and start, with the number of control points given by:
nbControlPoints = nbKnots - (degree + 1)
• Closed curves have no overlap:
nbControlPoints = nbKnots - 1
The following table summarizes how the number of IGES control points and IGES knots are calculated.
|
Constant name |
Open |
Closed |
|
nbSoftKnots |
nbSoftPoints + degree - 1 |
nbSoftPoints + 1 |
|
nbIgesPoints |
nbSoftPoints |
nbSoftPoints + degree |
|
nbIgesKnots |
nbSoftKnots |
nbSoftKnots + 2*degree |
nbSoftPoints is the number of control points in U (or V) for a NURBS surface in SI|3D. This is the number shown in the NURBS Surface Info dialog box.
nbSoftKnots is the number of knots in U (or V) for a NURBS surface in SI|3D.
nbIgesPoints and nbIgesKnots are the numbers of U (or V) points and knots output in a dotXSI file.
SI_NurbsSurface grid3 { 1; 1;; // Linear in U, V 1; 0;; // Closed in U, Open in V 0; // Uniform parameterization 6; 3;; // 6 knots in U, 3 knots in V 0.000000; 0.000000; 1.000000; 2.000000; 3.000000; 3.000000; ; 0.000000; 1.000000; 2.000000; ; 12; 4; 3;; // Number of control points: Total, U, V // Control points: -1.000000;0.000000;1.000000;1.000000;, 0.000000;0.000000;1.000000;1.000000;, 1.000000;0.000000;1.000000;1.000000;, -1.000000;0.000000;1.000000;1.000000;, -1.000000;0.000000;0.000000;1.000000;, 0.000000;0.000000;0.000000;1.000000;, 1.000000;0.000000;0.000000;1.000000;, -1.000000;0.000000;0.000000;1.000000;, -1.000000;0.000000;-1.000000;1.000000;, 0.000000;0.000000;-1.000000;1.000000;, 1.000000;0.000000;-1.000000;1.000000;, -1.000000;0.000000;-1.000000;1.000000;; SI_Material { ... SI_Texture2D { ... } } }
See also XSI_SurfaceMesh.
Autodesk Crosswalk v3.2