SoIndexedNurbsCurve(3)

πŸ“¦
version 4.0.10 Β· 4 versions
, in fedora 43, fedora 44

πŸ’– NAME πŸ’–

SoIndexedNurbsCurve β€” okay bestie, this class is literally a node for representing smooth curves. That’s the whole vibe. No cap. ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

bestie, this is a LOT of inherited methods, but we’re not skipping a single one. every. single. one. πŸ’…
#include <Inventor/nodes/SoIndexedNurbsCurve.h>

Inherits SoShape.

🌸 Public Member Functions 🌸

  • virtual SoType getTypeId (void) const β€” gives you the type id.
  • SoIndexedNurbsCurve (void) β€” the constructor.
  • virtual void GLRender (SoGLRenderAction *action) β€” handles the GL render action.
  • virtual void rayPick (SoRayPickAction *action) β€” does the ray pick thing.
  • virtual void getPrimitiveCount (SoGetPrimitiveCountAction *action) β€” gets the primitive count.
  • virtual void getBoundingBox (SoGetBoundingBoxAction *action) β€” gets the bounding box.
  • void sendPrimitive (SoAction *, SoPrimitiveVertex *) β€” sends a primitive.

πŸŽ€ Public Member Functions inherited from SoShape πŸŽ€

  • virtual SbBool affectsState (void) const β€” checks if it affects state.
  • virtual void notify (SoNotList *nl) β€” notifies with the list.
  • virtual void callback (SoCallbackAction *action) β€” runs the callback action.
  • const SoBoundingBoxCache * getBoundingBoxCache (void) const β€” returns the bounding box cache.

πŸ¦„ Public Member Functions inherited from SoNode πŸ¦„

  • void setOverride (const SbBool state) β€” sets override.
  • SbBool isOverride (void) const β€” tells you if it’s override.
  • void setNodeType (const NodeType type) β€” sets the node type.
  • NodeType getNodeType (void) const β€” gets the node type.
  • virtual SoNode * copy (SbBool copyconnections=FALSE) const β€” copies the node, with copyconnections=FALSE by default.
  • virtual void doAction (SoAction *action) β€” does the action.
  • virtual void GLRenderBelowPath (SoGLRenderAction *action) β€” GL renders below path.
  • virtual void GLRenderInPath (SoGLRenderAction *action) β€” GL renders in path.
  • virtual void GLRenderOffPath (SoGLRenderAction *action) β€” GL renders off path.
  • virtual void getMatrix (SoGetMatrixAction *action) β€” gets the matrix.
  • virtual void handleEvent (SoHandleEventAction *action) β€” handles the event.
  • virtual void pick (SoPickAction *action) β€” picks.
  • virtual void search (SoSearchAction *action) β€” searches.
  • virtual void write (SoWriteAction *action) β€” writes.
  • virtual void audioRender (SoAudioRenderAction *action) β€” audio renders.
  • virtual void grabEventsSetup (void) β€” sets up grab events.
  • virtual void grabEventsCleanup (void) β€” cleans up grab events.
  • virtual void startNotify (void) β€” starts notify.
  • SbUniqueId getNodeId (void) const β€” gets the node id.
  • virtual SoChildList * getChildren (void) const β€” gets the children.
  • virtual void writeInstance (SoOutput *out) β€” writes the instance.
  • virtual SoNode * addToCopyDict (void) const β€” adds to copy dict.
  • virtual void copyContents (const SoFieldContainer *from, SbBool copyconnections) β€” copies contents.
  • virtual SoFieldContainer * copyThroughConnection (void) const β€” copies through connection.

πŸ’œ Public Member Functions inherited from SoFieldContainer πŸ’œ

  • void setToDefaults (void) β€” sets everything to defaults.
  • SbBool hasDefaultValues (void) const β€” checks if it has default values.
  • SbBool fieldsAreEqual (const SoFieldContainer *container) const β€” checks if fields are equal.
  • void copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE) β€” copies field values, with copyconnections=FALSE default.
  • SbBool set (const char *const fielddata) β€” sets from field data.
  • void get (SbString &fielddata) β€” gets into a string.
  • virtual int getFields (SoFieldList &l) const β€” gets fields.
  • virtual int getAllFields (SoFieldList &l) const β€” gets all fields.
  • virtual SoField * getField (const SbName &name) const β€” gets a field by name.
  • virtual SoField * getEventIn (const SbName &name) const β€” gets an event in by name.
  • virtual SoField * getEventOut (const SbName &name) const β€” gets an event out by name.
  • SbBool getFieldName (const SoField *const field, SbName &name) const β€” gets the field name.
  • SbBool enableNotify (const SbBool flag) β€” enables notify.
  • SbBool isNotifyEnabled (void) const β€” checks if notify is enabled.
  • SbBool set (const char *fielddata, SoInput *input) β€” sets with input.
  • void get (SbString &fielddata, SoOutput *out) β€” gets with output.
  • virtual SbBool validateNewFieldValue (SoField *field, void *newval) β€” validates a new field value.
  • virtual void addWriteReference (SoOutput *out, SbBool isfromfield=FALSE) β€” adds a write reference, isfromfield=FALSE default.
  • SbBool getIsBuiltIn (void) const β€” checks if it’s built in.
  • virtual void getFieldsMemorySize (size_t &managed, size_t &unmanaged) const β€” gets fields memory size.
  • void setUserData (void *userdata) const β€” sets user data.
  • void * getUserData (void) const β€” gets user data.

🌈 Public Member Functions inherited from SoBase 🌈

  • void ref (void) const β€” refs it.
  • void unref (void) const β€” unrefs it.
  • void unrefNoDelete (void) const β€” unrefs without deleting.
  • int32_t getRefCount (void) const β€” gets the ref count.
  • void touch (void) β€” touches it.
  • SbBool isOfType (SoType type) const β€” returns TRUE if the type of this object is either of the same type or inherited from type.
  • virtual SbName getName (void) const β€” gets the name.
  • virtual void setName (const SbName &newname) β€” sets the name.
  • void addAuditor (void *const auditor, const SoNotRec::Type type) β€” adds an auditor.
  • void removeAuditor (void *const auditor, const SoNotRec::Type type) β€” removes an auditor.
  • const SoAuditorList & getAuditors (void) const β€” gets the auditors.
  • SbBool shouldWrite (void) β€” checks if it should write.
  • void assertAlive (void) const β€” asserts it’s alive.

⭐ Static Public Member Functions ⭐

  • static SoType getClassTypeId (void) β€” gets the class type id.
  • static void initClass (void) β€” initializes the class.

🌟 Static Public Member Functions inherited from SoShape 🌟

  • static SoType getClassTypeId (void) β€” gets the class type id.
  • static void initClass (void) β€” sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
  • static void getScreenSize (SoState *const state, const SbBox3f &boundingbox, SbVec2s &rectsize) β€” gets the screen size.
  • static float getDecimatedComplexity (SoState *state, float complexity) β€” gets the decimated complexity.

πŸ’« Static Public Member Functions inherited from SoNode πŸ’«

  • static uint32_t getCompatibilityTypes (const SoType &nodetype) β€” gets compatibility types.
  • static SoType getClassTypeId (void) β€” gets the class type id.
  • static SoNode * getByName (const SbName &name) β€” gets a node by name.
  • static int getByName (const SbName &name, SoNodeList &l) β€” gets by name into a list.
  • static void initClass (void) β€” sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
  • static void initClasses (void) β€” initializes classes.
  • static SbUniqueId getNextNodeId (void) β€” gets the next node id.
  • static int getActionMethodIndex (const SoType type) β€” gets the action method index.
  • static void getBoundingBoxS (SoAction *action, SoNode *node) β€” gets bounding box S.
  • static void GLRenderS (SoAction *action, SoNode *node) β€” GL render S.
  • static void callbackS (SoAction *action, SoNode *node) β€” callback S.
  • static void getMatrixS (SoAction *action, SoNode *node) β€” get matrix S.
  • static void handleEventS (SoAction *action, SoNode *node) β€” handle event S.
  • static void pickS (SoAction *action, SoNode *node) β€” pick S.
  • static void rayPickS (SoAction *action, SoNode *node) β€” ray pick S.
  • static void searchS (SoAction *action, SoNode *node) β€” search S.
  • static void writeS (SoAction *action, SoNode *node) β€” write S.
  • static void audioRenderS (SoAction *action, SoNode *node) β€” audio render S.
  • static void getPrimitiveCountS (SoAction *action, SoNode *node) β€” get primitive count S.

🫢 Static Public Member Functions inherited from SoFieldContainer 🫢

  • static void initClass (void) β€” sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
  • static SoType getClassTypeId (void) β€” this static method returns the SoType object associated with objects of this class.
  • static void cleanupClass (void) β€” cleans up the class.
  • static void initCopyDict (void) β€” initializes the copy dict.
  • static void addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy) β€” adds a copy.
  • static SoFieldContainer * checkCopy (const SoFieldContainer *orig) β€” checks a copy.
  • static SoFieldContainer * findCopy (const SoFieldContainer *orig, const SbBool copyconnections) β€” finds a copy.
  • static void copyDone (void) β€” copy done.

πŸ’– Static Public Member Functions inherited from SoBase πŸ’–

  • static void initClass (void) β€” sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
  • static SoType getClassTypeId (void) β€” this static method returns the SoType object associated with objects of this class.
  • static void addName (SoBase *const base, const char *const name) β€” adds a name.
  • static void removeName (SoBase *const base, const char *const name) β€” removes a name.
  • static void incrementCurrentWriteCounter (void) β€” increments current write counter.
  • static void decrementCurrentWriteCounter (void) β€” decrements current write counter.
  • static SoBase * getNamedBase (const SbName &name, SoType type) β€” gets a named base.
  • static int getNamedBases (const SbName &name, SoBaseList &baselist, SoType type) β€” gets named bases.
  • static SbBool read (SoInput *input, SoBase *&base, SoType expectedtype) β€” reads.
  • static void setInstancePrefix (const SbString &c) β€” sets instance prefix.
  • static void setTraceRefs (SbBool trace) β€” sets trace refs.
  • static SbBool getTraceRefs (void) β€” gets trace refs.
  • static SbBool connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname) β€” connects a route.
  • static SbBool readRoute (SoInput *input) β€” reads a route.

πŸ“ Public Attributes πŸ“

  • SoSFInt32 numControlPoints β€” the number of control points.
  • SoMFInt32 coordIndex β€” the coordinate index.
  • SoMFFloat knotVector β€” the knot vector.

🧚 Protected Member Functions 🧚

  • virtual const SoFieldData * getFieldData (void) const β€” gets the field data.
  • virtual ~SoIndexedNurbsCurve () β€” the destructor.
  • virtual void generatePrimitives (SoAction *action) β€” generates primitives.
  • virtual void computeBBox (SoAction *action, SbBox3f &box, SbVec3f &center) β€” computes the bounding box.
  • virtual SoDetail * createLineSegmentDetail (SoRayPickAction *action, const SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2, SoPickedPoint *pp) β€” creates a line segment detail.

🌸 Protected Member Functions inherited from SoShape 🌸

  • SoShape (void) β€” constructor.
  • virtual ~SoShape () β€” destructor.
  • float getComplexityValue (SoAction *action) β€” gets the complexity value.
  • virtual SbBool shouldGLRender (SoGLRenderAction *action) β€” checks if it should GL render.
  • void beginSolidShape (SoGLRenderAction *action) β€” begins a solid shape.
  • void endSolidShape (SoGLRenderAction *action) β€” ends a solid shape.
  • void GLRenderBoundingBox (SoGLRenderAction *action) β€” GL renders the bounding box.
  • SbBool shouldPrimitiveCount (SoGetPrimitiveCountAction *action) β€” checks if it should count primitives.
  • SbBool shouldRayPick (SoRayPickAction *const action) β€” checks if it should ray pick.
  • void computeObjectSpaceRay (SoRayPickAction *const action) β€” computes object space ray.
  • void computeObjectSpaceRay (SoRayPickAction *const action, const SbMatrix &matrix) β€” computes object space ray with matrix.
  • virtual SoDetail * createTriangleDetail (SoRayPickAction *action, const SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2, const SoPrimitiveVertex *v3, SoPickedPoint *pp) β€” creates a triangle detail.
  • virtual SoDetail * createPointDetail (SoRayPickAction *action, const SoPrimitiveVertex *v, SoPickedPoint *pp) β€” creates a point detail.
  • void invokeTriangleCallbacks (SoAction *const action, const SoPrimitiveVertex *const v1, const SoPrimitiveVertex *const v2, const SoPrimitiveVertex *const v3) β€” invokes triangle callbacks.
  • void invokeLineSegmentCallbacks (SoAction *const action, const SoPrimitiveVertex *const v1, const SoPrimitiveVertex *const v2) β€” invokes line segment callbacks.
  • void invokePointCallbacks (SoAction *const action, const SoPrimitiveVertex *const v) β€” invokes point callbacks.
  • void beginShape (SoAction *const action, const TriangleShape shapetype, SoDetail *const detail=NULL) β€” begins a shape, detail=NULL default.
  • void shapeVertex (const SoPrimitiveVertex *const v) β€” shape vertex.
  • void endShape (void) β€” ends the shape.
  • void generateVertex (SoPrimitiveVertex *const pv, const SbVec3f &point, const SbBool useTexFunc, const SoMultiTextureCoordinateElement *const tce, const float s, const float t, const SbVec3f &normal) β€” generates a vertex.
  • void generateVertex (SoPrimitiveVertex *const pv, const SbVec3f &point, const SbBool useTexFunc, const SoMultiTextureCoordinateElement *const tce, const float s, const float t, const float r, const SbVec3f &normal) β€” generates a vertex with an extra r.
  • SbBool startVertexArray (SoGLRenderAction *action, const SoCoordinateElement *coords, const SbVec3f *pervertexnormals, const SbBool texpervertex, const SbBool colorpervertex) β€” starts a vertex array.
  • void finishVertexArray (SoGLRenderAction *action, const SbBool vbo, const SbBool normpervertex, const SbBool texpervertex, const SbBool colorpervertex) β€” finishes a vertex array.

🌈 Protected Member Functions inherited from SoNode 🌈

  • SoNode (void) β€” constructor.
  • virtual ~SoNode () β€” destructor.
  • virtual SbBool readInstance (SoInput *in, unsigned short flags) β€” reads the instance.

πŸ’œ Protected Member Functions inherited from SoFieldContainer πŸ’œ

  • SoFieldContainer (void) β€” constructor.
  • virtual ~SoFieldContainer () β€” destructor.

okay bestie, that’s part 1 done. part 2 is coming in hot πŸ”₯

🫢 Protected Member Functions inherited from SoBase

So these are the lil goodies SoBase hands down to its kids β€” they're protected, so they're for the family only, iykyk:

  • SoBase (void)
  • virtual ~SoBase ()
  • virtual void destroy (void)
  • SbBool hasMultipleWriteRefs (void) const
  • SbBool writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) const
  • void writeFooter (SoOutput *out) const
  • virtual const char * getFileFormatName (void) const
  • virtual SoNotRec createNotRec (void)

✨ Static Protected Member Functions ✨

  • static const SoFieldData ** getFieldDataPtr (void)

Static Protected Member Functions inherited from SoShape 🌸

  • static const SoFieldData ** getFieldDataPtr (void)

Static Protected Member Functions inherited from SoNode πŸ¦‹

  • static const SoFieldData ** getFieldDataPtr (void)
  • static void setNextActionMethodIndex (int index)
  • static int getNextActionMethodIndex (void)
  • static void incNextActionMethodIndex (void)
  • static void setCompatibilityTypes (const SoType &nodetype, const uint32_t bitmask)

Static Protected Member Functions inherited from SoBase πŸ’œ

  • static uint32_t getCurrentWriteCounter (void)
  • static void staticDataLock (void)
  • static void staticDataUnlock (void)

πŸŽ€ Additional Inherited Members πŸŽ€

Public Types inherited from SoShape

Ok so this node also has this enum hanging around from SoShape, bestie:

enum TriangleShape { TRIANGLE_STRIP, TRIANGLE_FAN, TRIANGLES, POLYGON,
    QUADS, QUAD_STRIP, POINTS, LINES, LINE_STRIP }

Public Types inherited from SoNode

And the SoNode enum, which is literally a whole timeline of file formats in one enum, no cap:

enum NodeType { INVENTOR = 0x0000, VRML1 = 0x0001, VRML2 = 0x0002,
    INVENTOR_1 = 0x0004, INVENTOR_2_0 = 0x0008, INVENTOR_2_1 = 0x0010,
    INVENTOR_2_5 = 0x0020, INVENTOR_2_6 = 0x0040, COIN_1_0 = 0x0080,
    COIN_2_0 = 0x0100, EXTENSION = 0x0200, COIN_2_2 = 0x0400, COIN_2_3 =
    0x0800, COIN_2_4 = 0x1000, INVENTOR_5_0 = 0x2000, COIN_2_5 = 0x4000,
    COIN_3_0 = 0x8000, INVENTOR_6_0 = 0x10000, COIN_4_0 = 0x20000 }

Protected Types inherited from SoBase

enum BaseFlags { IS_ENGINE = 0x01, IS_GROUP = 0x02 }

Protected Attributes inherited from SoNode

  • SbUniqueId uniqueId

Protected Attributes inherited from SoFieldContainer

  • SbBool isBuiltIn

Static Protected Attributes inherited from SoNode

  • static SbUniqueId nextUniqueId = 1
  • static int nextActionMethodIndex = 0

πŸ’… Detailed Description πŸ’…

The SoIndexedNurbsCurve class is a node for representing smooth curves.

Explaining NURBS is beyond the scope of this documentation. If you are unfamiliar with the principles of representing smooth curves and surfaces when doing 3D visualization, we recommend finding a good book on the subject.

FILE FORMAT/DEFAULTS:

IndexedNurbsCurve {
    numControlPoints 0
    coordIndex 0
    knotVector 0
}

πŸ”₯ Constructor & Destructor Documentation πŸ”₯

SoIndexedNurbsCurve::SoIndexedNurbsCurve (void )

Constructor. (Making one of these is giving main character energy fr.)

SoIndexedNurbsCurve::~SoIndexedNurbsCurve () [protected], [virtual]

Destructor. πŸ’€


⭐ Member Function Documentation ⭐

SoType SoIndexedNurbsCurve::getClassTypeId (void ) [static]

This static method returns the SoType object associated with objects of this class.

SoType SoIndexedNurbsCurve::getTypeId (void ) const [virtual]

Returns the type identification of an object derived from a class inheriting SoBase. This is used for runtime type checking and "downward" casting.

Reimplemented from SoShape.

const SoFieldData ** SoIndexedNurbsCurve::getFieldDataPtr (void ) [static], [protected]

This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.

Returns the SoFieldData class which holds information about fields in this node.

const SoFieldData * SoIndexedNurbsCurve::getFieldData (void ) const [protected], [virtual]

Returns a pointer to the class-wide field data storage object for this instance. If no fields are present, returns NULL.

Reimplemented from SoShape.

void SoIndexedNurbsCurve::initClass (void ) [static]

void SoIndexedNurbsCurve::GLRender (SoGLRenderAction * action) [virtual]

Action method for the SoGLRenderAction.

This is called during rendering traversals. Nodes influencing the rendering state in any way or want to throw geometry primitives at OpenGL override this method.

Reimplemented from SoShape.

void SoIndexedNurbsCurve::rayPick (SoRayPickAction * action) [virtual]

Calculates picked point based on primitives generated by subclasses.

Reimplemented from SoShape.

void SoIndexedNurbsCurve::getPrimitiveCount (SoGetPrimitiveCountAction * action) [virtual]

Action method for the SoGetPrimitiveCountAction.

Calculates the number of triangle, line segment and point primitives for the node and adds these to the counters of the action.

Nodes influencing how geometry nodes calculate their primitive count also override this method to change the relevant state variables.

Reimplemented from SoShape.

void SoIndexedNurbsCurve::getBoundingBox (SoGetBoundingBoxAction * action) [virtual]

Redefined to notify open caches that this shape contains lines.

Reimplemented from SoShape.

void SoIndexedNurbsCurve::sendPrimitive (SoAction * , SoPrimitiveVertex * )

This method is part of the original SGI Inventor API, but not implemented in Coin, as it looks like a method that should probably have been private in Open Inventor.

void SoIndexedNurbsCurve::generatePrimitives (SoAction * action) [protected], [virtual]

The method implements action behavior for shape nodes for SoCallbackAction. It is invoked from SoShape::callback(). (Subclasses should not override SoNode::callback().)

The subclass implementations uses the convenience methods SoShape::beginShape(), SoShape::shapeVertex(), and SoShape::endShape(), with SoDetail instances, to pass the primitives making up the shape back to the caller.

Implements SoShape.

void SoIndexedNurbsCurve::computeBBox (SoAction * action, SbBox3f & box, SbVec3f & center) [protected], [virtual]

Calculates the bounding box of all control points, and sets the center to the average of these points.

Implements SoShape.

SoDetail * SoIndexedNurbsCurve::createLineSegmentDetail (SoRayPickAction * action, const SoPrimitiveVertex * v1, const SoPrimitiveVertex * v2, SoPickedPoint * pp) [protected], [virtual]

Will create line detail for a SoPickedPoint. This method will only be called internally, when generatePrimitives() is used for picking (SoShape::rayPick() is not overridden).

This method returns NULL in Open Inventor, and subclasses will need to override this method to create details for a SoPickedPoint.

This is not necessary with Coin. Of course, if you choose to override it, it will work in the same way as Open Inventor.

For this to work, you must supply a face or line detail when generating primitives. If you supply NULL for the detail argument in SoShape::beginShape(), you'll have to override this method.

Reimplemented from SoShape.


πŸ“ Member Data Documentation πŸ“

SoSFInt32 SoIndexedNurbsCurve::numControlPoints

Number of control points for this curve.

SoMFInt32 SoIndexedNurbsCurve::coordIndex

The control point indices. Supply at least numControlPoint indices.

SoMFFloat SoIndexedNurbsCurve::knotVector

The knot vector.


🌈 Author 🌈

Generated automatically by Doxygen for Coin from the source code.


And that's a wrap, bestie πŸ’– this page is from Coin version 4.0.10, dated Thu Jun 25 2026 00:00:00, and it's literally titled SoIndexedNurbsCurve(3). Go build something smooth. Slay. πŸŽ€βœ¨

πŸ“¦ where this page comes from