SoIndexedNurbsCurve(3IV)

SoIndexedNurbsCurve (SoIndCurve) - indexed NURBS curve shape node

Showing IRIX 6.5.30 (default release). Added in IRIX 6.5.22.

NAME
     SoIndexedNurbsCurve (SoIndCurve) - indexed NURBS curve shape node

INHERITS FROM
     SoBase > SoFieldContainer > SoNode > SoShape > SoIndexedNurbsCurve

SYNOPSIS
     #include <Inventor_c/nodes/SoIndexedNurbsCurve.h>

     typedef SoIndexedNurbsCurve  SoIndCurve

          Fields from class SoIndexedNurbsCurve:

     SoSFInt32           numControlPoints
     SoMFInt32           coordIndex
     SoMFFloat           knotVector

          Functions from class SoIndexedNurbsCurve:

     SoIndexedNurbsCurve *  SoIndCurveCreate()
     SoType                 SoIndCurveGetClassTypeId()

          Functions from class SoNode:

     void                SoIndCurveSetOverride(SoIndCurve *this, SbBool state)
     SbBool              SoIndCurveIsOverride(const SoIndCurve *this)
     SoNode *            SoIndCurveCopy(const SoIndCurve *this, SbBool
                              copyConnections = FALSE)
     SbBool              SoIndCurveAffectsState(const SoIndCurve *this)
     SoNode *            SoIndCurveGetByName(const char *name)
     int                 SoIndCurveGetByNameList(const char *name, SoNodeList
                              *list)

          Functions from class SoFieldContainer:

     void                SoIndCurveSetToDflts(SoIndCurve *this)
     SbBool              SoIndCurveHasDfltVals(const SoIndCurve *this)
     SbBool              SoIndCurveFldsAreEq(const SoIndCurve *this, const
                              SoFieldContainer *fc)
     void                SoIndCurveCopyFieldVals(SoIndCurve *this, const
                              SoFieldContainer *fc, SbBool copyConnections =
                              FALSE)
     SbBool              SoIndCurveSet(SoIndCurve *this, const char
                              *fieldDataString)
     void                SoIndCurveGet(SoIndCurve *this, SbString
                              *fieldDataString)
     int                 SoIndCurveGetFields(const SoIndCurve *this,
                              SoFieldList *resultList)
     SoField *           SoIndCurveGetField(const SoIndCurve *this, const char
                              *fieldName)
     SbBool              SoIndCurveGetFieldName(const SoIndCurve *this, const
                              SoField *field, SbName *fieldName)
     SbBool              SoIndCurveIsNotifyEnabled(const SoIndCurve *this)
     SbBool              SoIndCurveEnableNotify(SoIndCurve *this, SbBool flag)

          Functions from class SoBase:

     void                SoIndCurveRef(SoIndCurve *this)
     void                SoIndCurveUnref(const SoIndCurve *this)
     void                SoIndCurveUnrefNoDelete(const SoIndCurve *this)
     void                SoIndCurveTouch(SoIndCurve *this)
     SoType              SoIndCurveGetTypeId(const SoIndCurve *this)
     SbBool              SoIndCurveIsOfType(const SoIndCurve *this, SoType
                              type)
     void                SoIndCurveSetName(SoIndCurve *this, const char *name)
     SbName              SoIndCurveGetName(const SoIndCurve *this)


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.


FUNCTIONS
     SoIndexedNurbsCurve *  SoIndCurveCreate()
          Creates an indexed NURBS curve node with default settings.

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