SoNurbsCurve(3IV)

SoNurbsCurve (SoCurve) - NURBS curve shape node

As shipped in IRIX 6.5.22. Added in IRIX 6.5.22.

NAME
     SoNurbsCurve (SoCurve) - NURBS curve shape node

INHERITS FROM
     SoBase > SoFieldContainer > SoNode > SoShape > SoNurbsCurve

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

     typedef SoNurbsCurve  SoCurve

          Fields from class SoNurbsCurve:

     SoSFInt32           numControlPoints
     SoMFFloat           knotVector

          Functions from class SoNurbsCurve:

     SoNurbsCurve *      SoCurveCreate()
     SoType              SoCurveGetClassTypeId()

          Functions from class SoNode:

     void                SoCurveSetOverride(SoCurve *this, SbBool state)
     SbBool              SoCurveIsOverride(const SoCurve *this)
     SoNode *            SoCurveCopy(const SoCurve *this, SbBool
                              copyConnections = FALSE)
     SbBool              SoCurveAffectsState(const SoCurve *this)
     SoNode *            SoCurveGetByName(const char *name)
     int                 SoCurveGetByNameList(const char *name, SoNodeList
                              *list)

          Functions from class SoFieldContainer:

     void                SoCurveSetToDflts(SoCurve *this)
     SbBool              SoCurveHasDfltVals(const SoCurve *this)
     SbBool              SoCurveFldsAreEq(const SoCurve *this, const
                              SoFieldContainer *fc)
     void                SoCurveCopyFieldVals(SoCurve *this, const
                              SoFieldContainer *fc, SbBool copyConnections =
                              FALSE)
     SbBool              SoCurveSet(SoCurve *this, const char
                              *fieldDataString)
     void                SoCurveGet(SoCurve *this, SbString *fieldDataString)
     int                 SoCurveGetFields(const SoCurve *this, SoFieldList
                              *resultList)
     SoField *           SoCurveGetField(const SoCurve *this, const char
                              *fieldName)
     SbBool              SoCurveGetFieldName(const SoCurve *this, const
                              SoField *field, SbName *fieldName)
     SbBool              SoCurveIsNotifyEnabled(const SoCurve *this)
     SbBool              SoCurveEnableNotify(SoCurve *this, SbBool flag)

          Functions from class SoBase:

     void                SoCurveRef(SoCurve *this)
     void                SoCurveUnref(const SoCurve *this)
     void                SoCurveUnrefNoDelete(const SoCurve *this)
     void                SoCurveTouch(SoCurve *this)
     SoType              SoCurveGetTypeId(const SoCurve *this)
     SbBool              SoCurveIsOfType(const SoCurve *this, SoType type)
     void                SoCurveSetName(SoCurve *this, const char *name)
     SbName              SoCurveGetName(const SoCurve *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 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.


FUNCTIONS
     SoNurbsCurve *      SoCurveCreate()
          Creates a NURBS curve node with default settings.

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