Provided by: inventor-doc_2.1.5-10-18_all bug

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

                                                                                             SoNurbsCurve(3IV)()