Open Inventor Reference
|
Indexed NURBS curve shape node. More...
#include <Inventor/nodes/SoIndexedNurbsCurve.h>
Public Member Functions | |
SoIndexedNurbsCurve () | |
Creates an indexed NURBS curve node with default settings. | |
virtual void | GLRender (SoGLRenderAction *action) |
Implements rendering by rendering each primitive generated by subclass. | |
virtual void | rayPick (SoRayPickAction *action) |
Implements picking along a ray by intersecting the ray with each primitive generated by subclass. | |
virtual void | getBoundingBox (SoGetBoundingBoxAction *action) |
Redefine this to tell open caches that they contain lines. | |
void | sendPrimitive (SoAction *, SoPrimitiveVertex *) |
Static Public Member Functions | |
static void | initClass () |
Initializes base node class. | |
Public Attributes | |
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. | |
Protected Member Functions | |
virtual void | generatePrimitives (SoAction *action) |
Generates triangles representing curve. | |
virtual void | computeBBox (SoAction *action, SbBox3f &box, SbVec3f ¢er) |
Computes bounding box of curve. | |
~SoIndexedNurbsCurve () |
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.
IndexedNurbsCurve { numControlPoints 0 coordIndex 0 knotVector 0 }
Definition at line 137 of file SoIndexedNurbsCurve.h.
SoIndexedNurbsCurve::SoIndexedNurbsCurve | ( | ) |
SoIndexedNurbsCurve::~SoIndexedNurbsCurve | ( | ) | [protected] |
virtual void SoIndexedNurbsCurve::computeBBox | ( | SoAction * | action, |
SbBox3f & | box, | ||
SbVec3f & | center | ||
) | [protected, virtual] |
Implements SoShape.
virtual void SoIndexedNurbsCurve::generatePrimitives | ( | SoAction * | action | ) | [protected, virtual] |
Implements SoShape.
virtual void SoIndexedNurbsCurve::getBoundingBox | ( | SoGetBoundingBoxAction * | action | ) | [virtual] |
Reimplemented from SoShape.
virtual void SoIndexedNurbsCurve::GLRender | ( | SoGLRenderAction * | action | ) | [virtual] |
May be overridden in subclass.
Reimplemented from SoShape.
static void SoIndexedNurbsCurve::initClass | ( | ) | [static] |
Reimplemented from SoShape.
virtual void SoIndexedNurbsCurve::rayPick | ( | SoRayPickAction * | action | ) | [virtual] |
May be overridden in subclass.
Reimplemented from SoShape.
void SoIndexedNurbsCurve::sendPrimitive | ( | SoAction * | , |
SoPrimitiveVertex * | |||
) |
Definition at line 150 of file SoIndexedNurbsCurve.h.
Values must be in non-decreasing order.
Definition at line 154 of file SoIndexedNurbsCurve.h.
Definition at line 147 of file SoIndexedNurbsCurve.h.