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)()