1SoIndexedNurbsSurface(3IV)()                      SoIndexedNurbsSurface(3IV)()
2
3
4

NAME

6       SoIndexedNurbsSurface — indexed NURBS surface shape node
7

INHERITS FROM

9       SoBase > SoFieldContainer > SoNode > SoShape > SoIndexedNurbsSurface
10

SYNOPSIS

12       #include <Inventor/nodes/SoIndexedNurbsSurface.h>
13
14          Fields from class SoIndexedNurbsSurface:
15
16     SoSFInt32           numUControlPoints
17     SoSFInt32           numVControlPoints
18     SoMFInt32           coordIndex
19     SoMFFloat           uKnotVector
20     SoMFFloat           vKnotVector
21     SoSFInt32           numSControlPoints
22     SoSFInt32           numTControlPoints
23     SoMFInt32           textureCoordIndex
24     SoMFFloat           sKnotVector
25     SoMFFloat           tKnotVector
26
27          Methods from class SoIndexedNurbsSurface:
28
29                         SoIndexedNurbsSurface()
30     static SoType       getClassTypeId()
31
32          Methods from class SoNode:
33
34     void                setOverride(SbBool state)
35     SbBool              isOverride() const
36     SoNode *            copy(SbBool copyConnections = FALSE) const
37     virtual SbBool      affectsState() const
38     static SoNode *     getByName(const SbName &name)
39     static int          getByName(const SbName &name, SoNodeList &list)
40
41          Methods from class SoFieldContainer:
42
43     void                setToDefaults()
44     SbBool              hasDefaultValues() const
45     SbBool              fieldsAreEqual(const SoFieldContainer *fc) const
46     void                copyFieldValues(const  SoFieldContainer  *fc,  SbBool
47                              copyConnections = FALSE)
48     SbBool              set(const char *fieldDataString)
49     void                get(SbString &fieldDataString)
50     virtual int         getFields(SoFieldList &resultList) const
51     virtual SoField *   getField(const SbName &fieldName) const
52     SbBool              getFieldName(const SoField *field, SbName &fieldName)
53                              const
54     SbBool              isNotifyEnabled() const
55     SbBool              enableNotify(SbBool flag)
56
57          Methods from class SoBase:
58
59     void                ref()
60     void                unref() const
61     void                unrefNoDelete() const
62     void                touch()
63     virtual SoType      getTypeId() const
64     SbBool              isOfType(SoType type) const
65     virtual void        setName(const SbName &name)
66     virtual SbName      getName() const
67
68

DESCRIPTION

70       This  shape  node  represents a NURBS surface based on the knot vectors
71       and the control points that you specify. The uKnotVector and  vKnotVec‐
72       tor  fields specify floating-point arrays of values; the values are the
73       coordinates of the knot points in the surface, and you must enter  them
74       in  non-decreasing  order.  The numUControlPoints and numVControlPoints
75       fields specify the number of control points the surface  will  have  in
76       the U and V parametric directions, and will use the current coordinates
77       that are indexed from the coordIndex field.
78
79       You can get a surface of minimum order (2) in the U or V directions  by
80       specifying  two  more  knots  than control points in that direction and
81       having at least two control points  in  that  direction.  This  surface
82       would appear creased in one direction.
83
84       You  can get a surface of maximum order (8) in the U or V directions by
85       specifying eight more knots than control points in that  direction  and
86       having at least eight control points in that direction.
87
88       The  control points of the NURBS surface are transformed by the current
89       cumulative transformation.  The surface is drawn with the current light
90       model  and drawing style. The coordinates, normals, and texture coordi‐
91       nates of a surface are generated, so you cannot bind  explicit  normals
92       or  texture  coordinates  to a NURBS surface. The first material in the
93       state is applied to the entire surface.
94
95       The surface is trimmed according  to  the  currently  defined  profiles
96       curves.
97
98       When  default  texture  coordinates are applied to a NURBS surface, the
99       edges of the texture square are stretched to fit the surface. The  axes
100       of  the  texture are called S and T; S is horizontal and T is vertical.
101       The axes of the NURBS surface are called U and V; U is horizontal and V
102       is  vertical.  You  can also define texture coordinates explicitly with
103       the S,T location point, the knot vectors, and the current texture coor‐
104       dinates.
105

FIELDS

107     SoSFInt32           numUControlPoints
108     SoSFInt32           numVControlPoints
109          Number of control points in the U and V directions.
110
111     SoMFInt32           coordIndex
112          Coordinate indices.
113
114     SoMFFloat           uKnotVector
115     SoMFFloat           vKnotVector
116          The knot vectors in the U and V directions.
117
118     SoSFInt32           numSControlPoints
119     SoSFInt32           numTControlPoints
120          Number of control points in the S and T directions.
121
122     SoMFInt32           textureCoordIndex
123          Texture coordinate indices.
124
125     SoMFFloat           sKnotVector
126     SoMFFloat           tKnotVector
127          The knot vectors in the S and T directions.
128
129

METHODS

131                         SoIndexedNurbsSurface()
132          Creates an indexed NURBS surface node with default settings.
133
134     static SoType       getClassTypeId()
135          Returns type identifier for this class.
136
137

ACTION BEHAVIOR

139       SoGLRenderAction
140          Draws the surface based on the current coordinates, material, and so
141          on.
142
143     SoRayPickAction
144          Picks the surface based on the current coordinates  and  transforma‐
145          tion.
146
147     SoGetBoundingBoxAction
148          Computes  the  bounding  box that encloses all control points of the
149          surface with the current transformation applied to  them.  Sets  the
150          center to the average of the control points.
151
152     SoCallbackAction
153          If  any triangle callbacks are registered with the action, they will
154          be invoked for each successive triangle approximating the surface.
155
156

FILE FORMAT/DEFAULTS

158       IndexedNurbsSurface {
159          numUControlPoints  0
160          numVControlPoints  0
161          numSControlPoints  0
162          numTControlPoints  0
163          coordIndex         0
164          uKnotVector        0
165          vKnotVector        0
166          sKnotVector        0
167          tKnotVector        0
168          textureCoordIndex  -1
169     }
170

SEE ALSO

172       SoIndexedNurbsCurve, SoNurbsSurface, SoProfile
173
174
175
176
177                                                  SoIndexedNurbsSurface(3IV)()
Impressum