SoIndexedLineSet(3)
π NAME π
Bestie, this is SoIndexedLineSet, from the Coin library (that's the 3 in SoIndexedLineSet(3), iykyk β¨). The SoIndexedLineSet class is used to render and otherwise represent indexed lines. That's the whole vibe. Periodt.
πΈ SYNOPSIS πΈ
#include <Invertor/nodes/SoIndexedLineSet.h>
wait no, that's not it β let me not do that to you. It's literally:
#include <Inventor/nodes/SoIndexedLineSet.h>
Inherits SoIndexedShape. So it's got all the indexed-shape lore flowing through it. π¦
π Public Member Functions
virtual SoType getTypeId (void) constβ grabs theSoTypefor this thing so Coin's type system knows what it's dealing with.SoIndexedLineSet (void)β the constructor, aka the birth of your line set. π±virtual void GLRender (SoGLRenderAction *action)β does the actual OpenGL drawing when a render action comes through. π₯virtual void getBoundingBox (SoGetBoundingBoxAction *action)β reports the bounding box so the scene knows how much space you're taking up (main character energy fr).virtual void getPrimitiveCount (SoGetPrimitiveCountAction *action)β tells the action how many primitives this node contributes.
π«Ά Public Member Functions inherited from SoVertexShape
virtual void write (SoWriteAction *action)β writes this node out when a write action runs.
π« Public Member Functions inherited from SoShape
virtual SbBool affectsState (void) constβ says whether this node messes with the current state.virtual void rayPick (SoRayPickAction *action)β handles ray picking against this shape.virtual void callback (SoCallbackAction *action)β runs the callback action's thing for this shape.const SoBoundingBoxCache * getBoundingBoxCache (void) constβ hands you the bounding box cache.
π Public Member Functions inherited from SoNode
void setOverride (const SbBool state)β flips override mode on or off.SbBool isOverride (void) constβ are we overriding rn? yes/no.void setNodeType (const NodeType type)β sets the node type.NodeType getNodeType (void) constβ reads back the node type.virtual SoNode * copy (SbBool copyconnections=FALSE) constβ makes a copy of the node. Connections only get copied if you passTRUE.virtual void doAction (SoAction *action)β routes the action to the right place.virtual void GLRenderBelowPath (SoGLRenderAction *action)β renders below the path.virtual void GLRenderInPath (SoGLRenderAction *action)β renders in the path.virtual void GLRenderOffPath (SoGLRenderAction *action)β renders off the path.virtual void getMatrix (SoGetMatrixAction *action)β grabs the matrix.virtual void handleEvent (SoHandleEventAction *action)β handles events.virtual void pick (SoPickAction *action)β picks. obviously. πvirtual void search (SoSearchAction *action)β search behaviour for this node.virtual void audioRender (SoAudioRenderAction *action)β the audio render hook, yes it's a thing.virtual void grabEventsSetup (void)β sets up event grabbing.virtual void grabEventsCleanup (void)β cleans up event grabbing.virtual void startNotify (void)β kicks off notification.SbUniqueId getNodeId (void) constβ returns this node's unique id.virtual SoChildList * getChildren (void) constβ returns the children list.virtual void writeInstance (SoOutput *out)β writes an instance.virtual SoNode * addToCopyDict (void) constβ adds this node to the copy dictionary.virtual void copyContents (const SoFieldContainer *from, SbBool copyconnections)β copies the contents over. Connections again hinge oncopyconnections.virtual SoFieldContainer * copyThroughConnection (void) constβ copies through the connection.
π Public Member Functions inherited from SoFieldContainer
void setToDefaults (void)β resets everything to defaults.SbBool hasDefaultValues (void) constβ checks if everything is still default.SbBool fieldsAreEqual (const SoFieldContainer *container) constβ compares fields with another container.void copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE)β copies field values from another container;copyconnectionsdefaults toFALSE.SbBool set (const char *const fielddata)β sets fields from a string.void get (SbString &fielddata)β gets field data as a string.virtual int getFields (SoFieldList &l) constβ fills a list with the fields.virtual int getAllFields (SoFieldList &l) constβ fills a list with all the fields.virtual SoField * getField (const SbName &name) constβ looks up a field by name.virtual SoField * getEventIn (const SbName &name) constβ looks up an event-in by name.virtual SoField * getEventOut (const SbName &name) constβ looks up an event-out by name.SbBool getFieldName (const SoField *const field, SbName &name) constβ gets the name of a given field.SbBool enableNotify (const SbBool flag)β turns notifications on/off.SbBool isNotifyEnabled (void) constβ is notification on?SbBool set (const char *fielddata, SoInput *input)β the otherset, this time with anSoInput.void get (SbString &fielddata, SoOutput *out)β the otherget, this time with anSoOutput.virtual SbBool validateNewFieldValue (SoField *field, void *newval)β checks a new field value before it lands.virtual void addWriteReference (SoOutput *out, SbBool isfromfield=FALSE)β adds a write reference;isfromfielddefaults toFALSE.SbBool getIsBuiltIn (void) constβ is this built in?virtual void getFieldsMemorySize (size_t &managed, size_t &unmanaged) constβ reports memory used by fields, split into managed and unmanaged.void setUserData (void *userdata) constβ stashes your own pointer on the object.void * getUserData (void) constβ gets that pointer back.
π§ Public Member Functions inherited from SoBase
void ref (void) constβ bumps the reference count.void unref (void) constβ drops the reference count.void unrefNoDelete (void) constβ drops the ref count but doesn't delete. careful, bestie. πint32_t getRefCount (void) constβ how many refs we holding?void touch (void)β touches the node so it notifies.SbBool isOfType (SoType type) constβ ReturnsTRUEif the type of this object is either of the same type or inherited from type.virtual SbName getName (void) constβ returns 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β returns the auditor list.SbBool shouldWrite (void)β should this be written?void assertAlive (void) constβ asserts that the object is alive.
β Static Public Member Functions β
static SoType getClassTypeId (void)β the class type id, statically.static void initClass (void)β sets up the class.
π Static Public Member Functions inherited from SoIndexedShape
static SoType getClassTypeId (void)β the class type id, statically.static void initClass (void)β sets up the class.
β¨ Static Public Member Functions inherited from SoVertexShape
static SoType getClassTypeId (void)β the class type id, statically.static void initClass (void)β sets up the class.
π Static Public Member Functions inherited from SoShape
static SoType getClassTypeId (void)β the class type id, statically.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)β computes the on-screen size from a bounding box.static float getDecimatedComplexity (SoState *state, float complexity)β returns the decimated complexity value.
π Static Public Member Functions inherited from SoNode
static uint32_t getCompatibilityTypes (const SoType &nodetype)β returns the compatibility types for a node type.static SoType getClassTypeId (void)β the class type id, statically.static SoNode * getByName (const SbName &name)β finds a node by name.static int getByName (const SbName &name, SoNodeList &l)β finds nodes by name and drops them 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)β sets up the classes (plural, iconic).static SbUniqueId getNextNodeId (void)β gives you the next unique node id.static int getActionMethodIndex (const SoType type)β returns the action method index for a type.static void getBoundingBoxS (SoAction *action, SoNode *node)β the static bounding-box handler.static void GLRenderS (SoAction *action, SoNode *node)β the static GL render handler.static void callbackS (SoAction *action, SoNode *node)β the static callback handler.static void getMatrixS (SoAction *action, SoNode *node)β the static matrix handler.static void handleEventS (SoAction *action, SoNode *node)β the static event handler.static void pickS (SoAction *action, SoNode *node)β the static pick handler.static void rayPickS (SoAction *action, SoNode *node)β the static ray pick handler.static void searchS (SoAction *action, SoNode *node)β the static search handler.static void writeS (SoAction *action, SoNode *node)β the static write handler.static void audioRenderS (SoAction *action, SoNode *node)β the static audio render handler.static void getPrimitiveCountS (SoAction *action, SoNode *node)β the static primitive count handler.
π¦ 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 theSoTypeobject associated with objects of this class.static void cleanupClass (void)β tears the class down.static void initCopyDict (void)β sets up the copy dictionary.static void addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy)β registers an original/copy pair.static SoFieldContainer * checkCopy (const SoFieldContainer *orig)β checks the copy dictionary for an original.static SoFieldContainer * findCopy (const SoFieldContainer *orig, const SbBool copyconnections)β finds the copy of an original, with the connections flag.static void copyDone (void)β wraps up copying.
π 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 theSoTypeobject associated with objects of this class.static void addName (SoBase *const base, const char *const name)β registers a name for a base.static void removeName (SoBase *const base, const char *const name)β unregisters a name.static void incrementCurrentWriteCounter (void)β bumps the write counter.static void decrementCurrentWriteCounter (void)β drops the write counter.static SoBase * getNamedBase (const SbName &name, SoType type)β finds a named base.static int getNamedBases (const SbName &name, SoBaseList &baselist, SoType type)β finds named bases into a list.static SbBool read (SoInput *input, SoBase *&base, SoType expectedtype)β reads a base from input.static void setInstancePrefix (const SbString &c)β sets the instance prefix string.static void setTraceRefs (SbBool trace)β toggles reference tracing.static SbBool getTraceRefs (void)β are we tracing refs?static SbBool connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname)β wires up a route from one node/field to another.static SbBool readRoute (SoInput *input)β reads a route from input.
π Protected Member Functions
virtual const SoFieldData * getFieldData (void) constβ returns the field data.virtual ~SoIndexedLineSet ()β the destructor. rip. πvirtual void notify (SoNotList *list)β handles notification for this node.
πΈ Protected Member Functions inherited from SoIndexedShape
SoIndexedShape (void)β constructor for the parent class.virtual ~SoIndexedShape ()β destructor for the parent class.virtual void computeBBox (SoAction *action, SbBox3f &box, SbVec3f ¢er)β computes the bounding box and center.int getNumVerts (const int startCoord)β counts verts starting from a coord.void setupIndices (const int numParts, const int numFaces, const SbBool needNormals, const SbBool needTexCoords)β preps the indices; you tell it the part count, face count, and whether normals and tex coords are needed.const int32_t * getNormalIndices (void)β the normal indices.const int32_t * getColorIndices (void)β the color indices.const int32_t * getTexCoordIndices (void)β the texture coordinate indices.SbBool getVertexData (SoState *state, const SoCoordinateElement *&coords, const SbVec3f *&normals, const int32_t *&cindices, const int32_t *&nindices, const int32_t *&tindices, const int32_t *&mindices, int &numcindices, const SbBool needNormals, SbBool &normalCacheUsed)β pulls out all the vertex data: coords, normals, the color/normal/texcoord/material index arrays, the coordinate index count, whether normals are needed, and whether the normal cache got used.
π§ Protected Member Functions inherited from SoVertexShape
SoVertexShape (void)β constructor for the parent class.virtual ~SoVertexShape ()β destructor for the parent class.virtual SbBool shouldGLRender (SoGLRenderAction *action)β decides whether this should actually get GL-rendered.void setNormalCache (SoState *const state, const int num, const SbVec3f *normals)β caches a set of normals.SoNormalCache * getNormalCache (void) constβ returns the normal cache.SoNormalCache * generateAndReadLockNormalCache (SoState *const state)β generates and read-locks the normal cache.void getVertexData (SoState *state, const SoCoordinateElement *&coords, const SbVec3f *&normals, const SbBool neednormals)β the simpler vertex-data getter, with the need-normals flag.void readLockNormalCache (void)β read-locks the normal cache.void readUnlockNormalCache (void)β read-unlocks it. balance. βοΈ
and that's part 1, bestie β hold on, there's more coming π
π‘οΈ Protected Member Functions inherited from SoShape π‘οΈ
Okay bestie, so like, these are all the protected member functions that SoIndexedLineSet inherits from SoShape. They're giving internal API energy, but here's the full list, no cap:
SoShape (void)
virtual ~SoShape ()
float getComplexityValue (SoAction *action)
void beginSolidShape (SoGLRenderAction *action)
void endSolidShape (SoGLRenderAction *action)
void GLRenderBoundingBox (SoGLRenderAction *action)
SbBool shouldPrimitiveCount (SoGetPrimitiveCountAction *action)
SbBool shouldRayPick (SoRayPickAction *const action)
void computeObjectSpaceRay (SoRayPickAction *const action)
void computeObjectSpaceRay (SoRayPickAction *const action, const
SbMatrix &matrix)
virtual SoDetail * createTriangleDetail (SoRayPickAction *action, const
SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2, const
SoPrimitiveVertex *v3, SoPickedPoint *pp)
virtual SoDetail * createLineSegmentDetail (SoRayPickAction *action,
const SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2,
SoPickedPoint *pp)
virtual SoDetail * createPointDetail (SoRayPickAction *action, const
SoPrimitiveVertex *v, SoPickedPoint *pp)
void invokeTriangleCallbacks (SoAction *const action, const
SoPrimitiveVertex *const v1, const SoPrimitiveVertex *const v2,
const SoPrimitiveVertex *const v3)
void invokeLineSegmentCallbacks (SoAction *const action, const
SoPrimitiveVertex *const v1, const SoPrimitiveVertex *const v2)
void invokePointCallbacks (SoAction *const action, const
SoPrimitiveVertex *const v)
void beginShape (SoAction *const action, const TriangleShape shapetype,
SoDetail *const detail=NULL)
void shapeVertex (const SoPrimitiveVertex *const v)
void endShape (void)
void generateVertex (SoPrimitiveVertex *const pv, const SbVec3f &point,
const SbBool useTexFunc, const SoMultiTextureCoordinateElement
*const tce, const float s, const float t, const SbVec3f &normal)
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)
SbBool startVertexArray (SoGLRenderAction *action, const
SoCoordinateElement *coords, const SbVec3f *pervertexnormals, const
SbBool texpervertex, const SbBool colorpervertex)
void finishVertexArray (SoGLRenderAction *action, const SbBool vbo,
const SbBool normpervertex, const SbBool texpervertex, const SbBool
colorpervertex)
π‘οΈ Protected Member Functions inherited from SoNode π‘οΈ
Next up, the protected member functions from SoNode. You know, the base class of all nodes. Here they are, slay:
SoNode (void)
virtual ~SoNode ()
virtual SbBool readInstance (SoInput *in, unsigned short flags)
π‘οΈ Protected Member Functions inherited from SoFieldContainer π‘οΈ
And from SoFieldContainer:
SoFieldContainer (void)
virtual ~SoFieldContainer ()
π‘οΈ Protected Member Functions inherited from SoBase π‘οΈ
And from SoBase:
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 β¨
These are the static protected member functions for SoIndexedLineSet itself:
static const SoFieldData ** getFieldDataPtr (void)
β¨ Static Protected Member Functions inherited from SoIndexedShape β¨
From SoIndexedShape:
static const SoFieldData ** getFieldDataPtr (void)
static SbBool areTexCoordsIndexed (SoAction *action)
β¨ Static Protected Member Functions inherited from SoVertexShape β¨
From SoVertexShape:
static const SoFieldData ** getFieldDataPtr (void)
β¨ Static Protected Member Functions inherited from SoShape β¨
From SoShape:
static const SoFieldData ** getFieldDataPtr (void)
β¨ Static Protected Member Functions inherited from SoNode β¨
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 β¨
From SoBase:
static uint32_t getCurrentWriteCounter (void)
static void staticDataLock (void)
static void staticDataUnlock (void)
π«Ά Additional Inherited Members π«Ά
Okay so there's a whole bunch of inherited stuff that's public or protected, and we're gonna list it all because we're thorough like that. π
π Public Types inherited from SoShape π
enum TriangleShape { TRIANGLE_STRIP, TRIANGLE_FAN, TRIANGLES, POLYGON,
QUADS, QUAD_STRIP, POINTS, LINES, LINE_STRIP }
π Public Types inherited from SoNode π
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 }
πΈ Public Attributes inherited from SoIndexedShape πΈ
SoMFInt32 coordIndex
SoMFInt32 materialIndex
SoMFInt32 normalIndex
SoMFInt32 textureCoordIndex
πΈ Public Attributes inherited from SoVertexShape πΈ
SoSFNode vertexProperty
π¦ 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 SoIndexedLineSet class is used to render and otherwise represent indexed lines. β¨
It's the indexed counterpart of SoLineSet. Lines can be specified using indices for coordinates, normals, materials and texture coordinates.
If no normals are supplied on the stack (or in the vertexProperty field), the lines will be rendered with lighting disabled. So like, no fancy lighting if you don't give it normals, bestie.
For more information about line sets, see documentation in SoLineSet. For more information about indexed shapes, see documentation in SoIndexedShape and SoIndexedFaceSet.
π FILE FORMAT/DEFAULTS: π
IndexedLineSet {
vertexProperty NULL
coordIndex 0
materialIndex -1
normalIndex -1
textureCoordIndex -1
}
π Constructor & Destructor Documentation π
SoIndexedLineSet::SoIndexedLineSet (void )
Constructor. It constructs. You know, standard constructor behavior. π
SoIndexedLineSet::~SoIndexedLineSet () [protected], [virtual]
Destructor. It destructs. Protected and virtual, so like, don't call it directly unless you know what you're doing. π
π₯ Member Function Documentation π₯
SoType SoIndexedLineSet::getClassTypeId (void ) [static]
This static method returns the SoType object associated with objects of this class. So you can get the type ID, bestie. β¨
SoType SoIndexedLineSet::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. So like, it tells you what type you're dealing with, no cap.
Reimplemented from SoIndexedShape.
const SoFieldData ** SoIndexedLineSet::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. So like, you probably don't need to touch this. π
Returns the SoFieldData class which holds information about fields in this node.
const SoFieldData * SoIndexedLineSet::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. So like, it gives you the field data or NULL if there's none. Periodt.
Reimplemented from SoIndexedShape.
void SoIndexedLineSet::initClass (void ) [static]
No description provided in the original. But it's a static method, so there's that. π
void SoIndexedLineSet::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. So like, if you're rendering, this gets called. π₯
Reimplemented from SoShape.
void SoIndexedLineSet::getBoundingBox (SoGetBoundingBoxAction * action) [virtual]
Action method for the SoGetBoundingBoxAction.
Calculates bounding box and center coordinates for node and modifies the values of the action to encompass the bounding box for this node and to shift the center point for the scene more towards the one for this node.
Nodes influencing how geometry nodes calculate their bounding box also override this method to change the relevant state variables.
Reimplemented from SoShape.
void SoIndexedLineSet::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 SoIndexedLineSet::notify (SoNotList * l) [protected], [virtual]
Notifies all auditors for this instance when changes are made. So like, it's the gossip girl of the class, telling everyone when something changes. π
Reimplemented from SoVertexShape.
π Author π
Generated automatically by Doxygen for Coin from the source code. So like, not a human, but still iconic. π
And that's a wrap, bestie! This page was generated for version 4.0.10 on Thu Jun 25 2026 00:00:00, and it's the manual for SoIndexedLineSet(3). Stay slay! β¨π¦π
π¦ where this page comes from
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms