SoNurbsCurve(3IV)

SoNurbsCurve - NURBS curve shape node

As shipped in IRIX 6.5.30. Added in IRIX 6.5.22.

NAME
     SoNurbsCurve - NURBS curve shape node

INHERITS FROM
     SoBase > SoFieldContainer > SoNode > SoShape > SoNurbsCurve

SYNOPSIS
     #include <Inventor/nodes/SoNurbsCurve.h>

          Fields from class SoNurbsCurve:

     SoSFInt32           numControlPoints
     SoMFFloat           knotVector

          Methods from class SoNurbsCurve:

                         SoNurbsCurve()
     static SoType       getClassTypeId()

          Methods from class SoNode:

     void                setOverride(SbBool state)
     SbBool              isOverride() const
     SoNode *            copy(SbBool copyConnections = FALSE) const
     virtual SbBool      affectsState() const
     static SoNode *     getByName(const SbName &name)
     static int          getByName(const SbName &name, SoNodeList &list)

          Methods from class SoFieldContainer:

     void                setToDefaults()
     SbBool              hasDefaultValues() const
     SbBool              fieldsAreEqual(const SoFieldContainer *fc) const
     void                copyFieldValues(const SoFieldContainer *fc, SbBool
                              copyConnections = FALSE)
     SbBool              set(const char *fieldDataString)
     void                get(SbString &fieldDataString)
     virtual int         getFields(SoFieldList &resultList) const
     virtual SoField *   getField(const SbName &fieldName) const
     SbBool              getFieldName(const SoField *field, SbName &fieldName)
                              const
     SbBool              isNotifyEnabled() const
     SbBool              enableNotify(SbBool flag)

          Methods from class SoBase:

     void                ref()
     void                unref() const
     void                unrefNoDelete() const
     void                touch()
     virtual SoType      getTypeId() const

     SbBool              isOfType(SoType type) const
     virtual void        setName(const SbName &name)
     virtual SbName      getName() const


DESCRIPTION
     This class represents a NURBS curve, based on the knot vector and the
     control points that you specify. The knotVector field specifies a
     floating-point array of values; the values are the coordinates of the
     knot points in the curve, and you must enter them in non-decreasing
     order. The curve will use the first numControlPoints values in the
     current coordinates as control points.

     If you specify n knots, you can specify up to n-8 control points.  The
     number of knots minus the number of control points is known as the order
     of the curve. A NURBS curve can have an order of up to 8.

     The control points of the curve are transformed by the current
     transformation matrix. The curve is drawn with the current lighting model
     and drawing style (drawing style FILLED is treated as LINES). The
     coordinates, normals, and texture coordinates of a NURBS curve are
     generated, so you cannot bind explicit normals or texture coordinates to
     a NURBS curve.

     The approximation of the curve by line segments is affected by the
     current complexity value.

FIELDS
     SoSFInt32           numControlPoints
          Number of control points.

     SoMFFloat           knotVector
          The knot vector.


METHODS
                         SoNurbsCurve()
          Creates a NURBS curve node with default settings.

     static SoType       getClassTypeId()
          Returns type identifier for this class.


ACTION BEHAVIOR
     SoGLRenderAction
          Draws the curve based on the current coordinates, material, and so
          on.

     SoRayPickAction
          Picks the curve based on the current coordinates and transformation.

     SoGetBoundingBoxAction
          Computes the bounding box that encloses all control points of the
          curve with the current transformation applied to them. Sets the
          center to the average of the control points.

     SoCallbackAction
          If any line segment callbacks are registered with the action, they
          will be invoked for each successive segment approximating the curve.


FILE FORMAT/DEFAULTS
     NurbsCurve {
          numControlPoints  0
          knotVector        0
     }

SEE ALSO
     SoIndexedNurbsCurve, SoNurbsSurface