logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SoIndexedNurbsCurve — indexed NURBS curve shape node

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.

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

SoSFInt32numControlPoints
          Number of control points for the curve.

     SoMFInt32coordIndex
          Coordinate indices for the control points.

     SoMFFloatknotVector
          The knot vector for the curve. Values must be in non-decreasing order.

File Format/Defaults

IndexedNurbsCurve{numControlPoints0coordIndex0knotVector0}

Inherits From

       SoBase > SoFieldContainer > SoNode > SoShape > SoIndexedNurbsCurve

Methods

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

     staticSoTypegetClassTypeId()
          Returns type identifier for this class.

Name

       SoIndexedNurbsCurve — indexed NURBS curve shape node

See Also

SoNurbsCurve,SoIndexedNurbsSurfaceSoIndexedNurbsCurve(3IV)()

Synopsis

#include<Inventor/nodes/SoIndexedNurbsCurve.h>

          Fields from class SoIndexedNurbsCurve:

     SoSFInt32numControlPointsSoMFInt32coordIndexSoMFFloatknotVector

          Methods from class SoIndexedNurbsCurve:

                         SoIndexedNurbsCurve()staticSoTypegetClassTypeId()

          Methods from class SoNode:

     voidsetOverride(SbBoolstate)SbBoolisOverride()constSoNode*copy(SbBoolcopyConnections=FALSE)constvirtualSbBoolaffectsState()conststaticSoNode*getByName(constSbName&name)staticintgetByName(constSbName&name,SoNodeList&list)

          Methods from class SoFieldContainer:

     voidsetToDefaults()SbBoolhasDefaultValues()constSbBoolfieldsAreEqual(constSoFieldContainer*fc)constvoidcopyFieldValues(constSoFieldContainer*fc,SbBoolcopyConnections=FALSE)SbBoolset(constchar*fieldDataString)voidget(SbString&fieldDataString)virtualintgetFields(SoFieldList&resultList)constvirtualSoField*getField(constSbName&fieldName)constSbBoolgetFieldName(constSoField*field,SbName&fieldName)constSbBoolisNotifyEnabled()constSbBoolenableNotify(SbBoolflag)

          Methods from class SoBase:

     voidref()voidunref()constvoidunrefNoDelete()constvoidtouch()virtualSoTypegetTypeId()constSbBoolisOfType(SoTypetype)constvirtualvoidsetName(constSbName&name)virtualSbNamegetName()const

See Also