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

NAME

       SoIndexedNurbsCurve — indexed NURBS curve shape node

INHERITS FROM

       SoBase > SoFieldContainer > SoNode > SoShape > SoIndexedNurbsCurve

SYNOPSIS

       #include <Inventor/nodes/SoIndexedNurbsCurve.h>

          Fields from class SoIndexedNurbsCurve:

     SoSFInt32           numControlPoints
     SoMFInt32           coordIndex
     SoMFFloat           knotVector

          Methods from class SoIndexedNurbsCurve:

                         SoIndexedNurbsCurve()
     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  numControlPoints field specifies the number of control points the
       curve will have and will use the current coordinates that are indexed from the  coordIndex
       field.

       You  can get a curve of minimum order (2) by specifying two more knots than control points
       and having at least two control points. This  curve  would  be  a  set  of  line  segments
       connecting the control points together.

       You  can  get  a curve of maximum order (8) by specifying 8 more knots than control points
       and having at least 8 control points.  In  this  curve,  each  control  point  would  have
       influence on a larger portion of the curve than with curves of lesser order.

       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 for the curve.

     SoMFInt32           coordIndex
          Coordinate indices for the control points.

     SoMFFloat           knotVector
          The knot vector for the curve. Values must be in non-decreasing order.

METHODS

                         SoIndexedNurbsCurve()
          Creates an indexed 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

       IndexedNurbsCurve {
          numControlPoints  0
          coordIndex        0
          knotVector        0
     }

SEE ALSO

       SoNurbsCurve, SoIndexedNurbsSurface

                                                                       SoIndexedNurbsCurve(3IV)()