1SoNurbsSurface(3IV)()                                    SoNurbsSurface(3IV)()
2
3
4

NAME

6       SoNurbsSurface — NURBS surface shape node
7

INHERITS FROM

9       SoBase > SoFieldContainer > SoNode > SoShape > SoNurbsSurface
10

SYNOPSIS

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

DESCRIPTION

68       This  shape  node  represents  a NURBS surface based on the node's knot
69       vectors and on control points constructed from the current coordinates.
70       The  current  coordinates  are used in row-major order (the V direction
71       corresponds to the rows). The number of coordinates used is  determined
72       by  the numUControlPoints and numVControlPoints fields. The uKnotVector
73       and vKnotVector fields contain floating point arrays of  non-decreasing
74       values.
75
76       The  order  of  the surface in the U and V directions is defined as the
77       number of knots minus the number of control points  in  the  particular
78       direction. The largest order allowed for a NURBS surface is 8.
79
80       The  control points of the NURBS surface are transformed by the current
81       cumulative transformation. The surface is drawn with the current  light
82       model  and drawing style. The coordinates, normals, and texture coordi‐
83       nates of a surface are generated, so you cannot bind  explicit  normals
84       or  texture  coordinates  to a NURBS surface. The first material in the
85       state is applied to the entire surface.
86
87       The surface is trimmed according to  the  currently  defined  profile's
88       curves.
89
90       When  default  texture  coordinates are applied to a NURBS surface, the
91       edges of the texture square are stretched to fit the surface. The  axes
92       of  the  texture are called S and T; S is horizontal and T is vertical.
93       The axes of the NURBS surface are called U and V; U is horizontal and V
94       is  vertical.  You  can also define texture coordinates explicitly with
95       the S,T location point, the knot vectors, and the current texture coor‐
96       dinates.
97
98       The approximation of the surface by polygons is affected by the current
99       complexity value.
100

FIELDS

102     SoSFInt32           numUControlPoints
103     SoSFInt32           numVControlPoints
104          Number of control points in the U and V directions.
105
106     SoSFInt32           numSControlPoints
107     SoSFInt32           numTControlPoints
108          Number of control points in the S and T directions.
109
110     SoMFFloat           uKnotVector
111     SoMFFloat           vKnotVector
112          The knot vectors in the U and V directions.
113
114     SoMFFloat           sKnotVector
115     SoMFFloat           tKnotVector
116          The knot vectors in the S and T directions.
117
118

METHODS

120                         SoNurbsSurface()
121          Creates a NURBS surface node with default settings.
122
123     static SoType       getClassTypeId()
124          Returns type identifier for this class.
125
126

ACTION BEHAVIOR

128       SoGLRenderAction
129          Draws the surface based on the current coordinates, material, and so
130          on.
131
132     SoRayPickAction
133          Picks  the  surface based on the current coordinates and transforma‐
134          tion.
135
136     SoGetBoundingBoxAction
137          Computes the bounding box that encloses all control  points  of  the
138          surface  with  the  current transformation applied to them. Sets the
139          center to the average of the control points.
140
141     SoCallbackAction
142          If any triangle callbacks are registered with the action, they  will
143          be invoked for each successive triangle approximating the surface.
144
145

FILE FORMAT/DEFAULTS

147       NurbsSurface {
148          numUControlPoints  0
149          numVControlPoints  0
150          numSControlPoints  0
151          numTControlPoints  0
152          uKnotVector        0
153          vKnotVector        0
154          sKnotVector        0
155          tKnotVector        0
156     }
157

SEE ALSO

159       SoIndexedNurbsSurface, SoNurbsCurve, SoProfile
160
161
162
163
164                                                         SoNurbsSurface(3IV)()
Impressum