SoNurbsCurve(3IV)NAMESoNurbsCurve (SoCurve) - NURBS curve shape node
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoShape > SoNurbsCurveSYNOPSIS
#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)
Page 1SoNurbsCurve(3IV)
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.
FUNCTIONSSoNurbsCurve * SoCurveCreate()
Creates a NURBS curve node with default settings.
SoType SoCurveGetClassTypeId()
Returns type identifier for this class.
Page 2SoNurbsCurve(3IV)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
Page 3