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