SoVRMLIndexedLineSet(3)

๐Ÿ“ฆ version 2.5.0, in fedora 43, fedora 44

โœจ NAME โœจ

SoVRMLIndexedLineSet โ€” okay bestie, welcome to SoVRMLIndexedLineSet(3), and buckle up because this one is a whole personality. She's the SoVRMLIndexedLineSet class, and her entire deal is that she's used to represent a generic 3D line shape. That's it, that's the job, and she does it flawlessly every single time. ๐Ÿ’…


๐Ÿฆ‹ SYNOPSIS ๐Ÿฆ‹

Pull her into your life like this, fr fr:

#include <Inventor/VRMLnodes/SoVRMLIndexedLineSet.h>

Inherits SoVRMLIndexedLine. She's got lineage, she's not new money. ๐Ÿ‘‘


๐Ÿ’– Public Member Functions ๐Ÿ’–

  • virtual SoType getTypeId (void) const โ€” her type id, virtual, obviously, main character energy.
  • virtual void GLRender (SoGLRenderAction *action) โ€” the actual render moment, she performs.
  • virtual void getPrimitiveCount (SoGetPrimitiveCountAction *action) โ€” counts her primitives, she keeps receipts.
  • virtual void getBoundingBox (SoGetBoundingBoxAction *action) โ€” grabs the bounding box, iconic.

๐Ÿ’œ Public Member Functions inherited from SoVRMLVertexLine ๐Ÿ’œ

  • virtual void doAction (SoAction *action) โ€” do the action, she's versatile.
  • virtual void callback (SoCallbackAction *action) โ€” the callback, lowkey essential.
  • virtual void pick (SoPickAction *action) โ€” pick, pick, pick. ๐ŸŽ€

๐ŸŒธ Public Member Functions inherited from SoVRMLGeometry ๐ŸŒธ

  • virtual void search (SoSearchAction *action) โ€” search girlie.
  • virtual void copyContents (const SoFieldContainer *from, SbBool copyConn) โ€” copies the contents, shares the wealth.

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

  • virtual SbBool affectsState (void) const โ€” does she affect state? she's that girl.
  • virtual void rayPick (SoRayPickAction *action) โ€” ray pick, precision queen.
  • const SoBoundingBoxCache * getBoundingBoxCache (void) const โ€” the bounding box cache, cached and cunty.

๐ŸŒˆ Public Member Functions inherited from SoNode ๐ŸŒˆ

  • void setOverride (const SbBool state) โ€” sets the override.
  • SbBool isOverride (void) const โ€” is she overriding? ๐Ÿ‘€
  • void setNodeType (const NodeType type) โ€” sets her node type.
  • NodeType getNodeType (void) const โ€” gets her node type back.
  • virtual SoNode * copy (SbBool copyconnections=0) const โ€” copy, with copyconnections=0.
  • virtual void GLRenderBelowPath (SoGLRenderAction *action) โ€” GL render below path.
  • virtual void GLRenderInPath (SoGLRenderAction *action) โ€” GL render in path.
  • virtual void GLRenderOffPath (SoGLRenderAction *action) โ€” GL render off path.
  • virtual void getMatrix (SoGetMatrixAction *action) โ€” get that matrix.
  • virtual void handleEvent (SoHandleEventAction *action) โ€” handles events, emotionally available.
  • virtual void write (SoWriteAction *action) โ€” write it down.
  • virtual void audioRender (SoAudioRenderAction *action) โ€” audio render, she has a voice. ๐ŸŽถ
  • virtual void grabEventsSetup (void) โ€” setup the grab.
  • virtual void grabEventsCleanup (void) โ€” clean it up after.
  • virtual void startNotify (void) โ€” start notify, the group chat is live.
  • uint32_t getNodeId (void) const โ€” her node id, uint32_t style.
  • virtual void writeInstance (SoOutput *out) โ€” writes the instance.
  • virtual SoNode * addToCopyDict (void) const โ€” adds to the copy dict.
  • virtual SoFieldContainer * copyThroughConnection (void) const โ€” copies through the connection.

โญ Public Member Functions inherited from SoFieldContainer โญ

  • void setToDefaults (void) โ€” reset to defaults, fresh start.
  • SbBool hasDefaultValues (void) const โ€” are we defaulting? ๐Ÿ’…
  • SbBool fieldsAreEqual (const SoFieldContainer *container) const โ€” field equality check, she's fair.
  • void copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=0) โ€” copy the field values, with copyconnections=0.
  • SbBool set (const char *const fielddata) โ€” set the field data.
  • void get (SbString &fielddata) โ€” get the field data.
  • virtual int getFields (SoFieldList &l) const โ€” get the fields.
  • virtual int getAllFields (SoFieldList &l) const โ€” get ALL the fields.
  • virtual SoField * getField (const SbName &name) const โ€” get one field by name.
  • virtual SoField * getEventIn (const SbName &name) const โ€” get the event in.
  • virtual SoField * getEventOut (const SbName &name) const โ€” get the event out.
  • SbBool getFieldName (const SoField *const field, SbName &name) const โ€” get the field's name.
  • SbBool enableNotify (const SbBool flag) โ€” turn notify on/off.
  • SbBool isNotifyEnabled (void) const โ€” is notify enabled, bestie?
  • SbBool set (const char *fielddata, SoInput *in) โ€” set, but with a SoInput *in.
  • void get (SbString &fielddata, SoOutput *out) โ€” get, but with a SoOutput *out.
  • virtual SbBool validateNewFieldValue (SoField *field, void *newval) โ€” validate that new field value.
  • virtual void addWriteReference (SoOutput *out, SbBool isfromfield=0) โ€” adds a write reference, isfromfield=0.
  • SbBool getIsBuiltIn (void) const โ€” is she built in? ๐Ÿซถ
  • void setUserData (void *userdata) const โ€” sets user data.
  • void * getUserData (void) const โ€” gets user data back.

๐Ÿฆ‹ Public Member Functions inherited from SoBase ๐Ÿฆ‹

  • void ref (void) const โ€” ref her up.
  • void unref (void) const โ€” unref her.
  • void unrefNoDelete (void) const โ€” unref but do NOT delete, be nice.
  • int32_t getRefCount (void) const โ€” the ref count, int32_t.
  • void touch (void) โ€” touch. that's the whole instruction. ๐Ÿ˜ญ
  • SbBool isOfType (SoType type) const โ€” is she of type?
  • virtual SbName getName (void) const โ€” get the name.
  • virtual void setName (const SbName &newname) โ€” set a new name.
  • void addAuditor (void *const auditor, const SoNotRec::Type type) โ€” add an auditor.
  • void removeAuditor (void *const auditor, const SoNotRec::Type type) โ€” remove an auditor.
  • const SoAuditorList & getAuditors (void) const โ€” get the auditor list.
  • SbBool shouldWrite (void) โ€” should she write?
  • void assertAlive (void) const โ€” assert she's alive, dramatic but fair.

๐Ÿ‘‘ Static Public Member Functions ๐Ÿ‘‘

  • static SoType getClassTypeId (void) โ€” the class type id, static queen.
  • static void initClass (void) โ€” init the class, set the tone.

๐Ÿ’– Static Public Member Functions inherited from SoVRMLIndexedLine ๐Ÿ’–

  • static SoType getClassTypeId (void) โ€” class type id again, she's consistent.
  • static void initClass (void) โ€” init class.

๐Ÿ’œ Static Public Member Functions inherited from SoVRMLVertexLine ๐Ÿ’œ

  • static SoType getClassTypeId (void) โ€” class type id.
  • static void initClass (void) โ€” init class.

๐ŸŒธ Static Public Member Functions inherited from SoVRMLGeometry ๐ŸŒธ

  • static SoType getClassTypeId (void) โ€” class type id.
  • static void initClass (void) โ€” init class.

๐ŸŽ€ Static Public Member Functions inherited from SoShape ๐ŸŽ€

  • static SoType getClassTypeId (void) โ€” class type id.
  • static void initClass (void) โ€” init class.
  • static void getScreenSize (SoState *const state, const SbBox3f &boundingbox, SbVec2s &rectsize) โ€” gets the screen size, precise.
  • static float getDecimatedComplexity (SoState *state, float complexity) โ€” gets the decimated complexity, a float.

๐ŸŒˆ Static Public Member Functions inherited from SoNode ๐ŸŒˆ

  • static uint32_t getCompatibilityTypes (const SoType &nodetype) โ€” compatibility types, uint32_t.
  • static SoType getClassTypeId (void) โ€” class type id.
  • static SoNode * getByName (const SbName &name) โ€” get by name.
  • static int getByName (const SbName &name, SoNodeList &l) โ€” get by name, but into a SoNodeList &l.
  • static void initClass (void) โ€” init class.
  • static void initClasses (void) โ€” init ALL the classes, plural slay.
  • static uint32_t getNextNodeId (void) โ€” the next node id.
  • static int getActionMethodIndex (const SoType type) โ€” action method index.
  • static void getBoundingBoxS (SoAction *action, SoNode *node) โ€” the static bounding box getter.
  • static void GLRenderS (SoAction *action, SoNode *node) โ€” static GL render.
  • static void callbackS (SoAction *action, SoNode *node) โ€” static callback.
  • static void getMatrixS (SoAction *action, SoNode *node) โ€” static get matrix.
  • static void handleEventS (SoAction *action, SoNode *node) โ€” static handle event.
  • static void pickS (SoAction *action, SoNode *node) โ€” static pick.
  • static void rayPickS (SoAction *action, SoNode *node) โ€” static ray pick.
  • static void searchS (SoAction *action, SoNode *node) โ€” static search.
  • static void writeS (SoAction *action, SoNode *node) โ€” static write.
  • static void audioRenderS (SoAction *action, SoNode *node) โ€” static audio render.
  • static void getPrimitiveCountS (SoAction *action, SoNode *node) โ€” static primitive count.

โญ Static Public Member Functions inherited from SoFieldContainer โญ

  • static void initClass (void) โ€” init class.
  • static SoType getClassTypeId (void) โ€” class type id.
  • static void initCopyDict (void) โ€” init the copy dict.
  • static void addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy) โ€” add a copy.
  • static SoFieldContainer * checkCopy (const SoFieldContainer *orig) โ€” check the copy.
  • static SoFieldContainer * findCopy (const SoFieldContainer *orig, const SbBool copyconnections) โ€” find the copy.
  • static void copyDone (void) โ€” copy's done, periodt.

๐Ÿฆ‹ Static Public Member Functions inherited from SoBase ๐Ÿฆ‹

  • static void initClass (void) โ€” init class.
  • static SoType getClassTypeId (void) โ€” class type id.
  • static void addName (SoBase *const base, const char *const name) โ€” add a name.
  • static void removeName (SoBase *const base, const char *const name) โ€” remove a name.
  • static void incrementCurrentWriteCounter (void) โ€” bump the write counter up.
  • static void decrementCurrentWriteCounter (void) โ€” bump it back down.
  • static SoBase * getNamedBase (const SbName &name, SoType type) โ€” get the named base.
  • static int getNamedBases (const SbName &name, SoBaseList &baselist, SoType type) โ€” get the named bases, plural.
  • static SbBool read (SoInput *in, SoBase *&base, SoType expectedtype) โ€” read, and it expects a type.
  • static void setInstancePrefix (const SbString &c) โ€” set the instance prefix.
  • static void setTraceRefs (SbBool trace) โ€” set trace refs.
  • static SbBool getTraceRefs (void) โ€” get trace refs.
  • static SbBool connectRoute (SoInput *in, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname) โ€” connect that route, from node/field to node/field.
  • static SbBool readRoute (SoInput *in) โ€” read the route.

๐Ÿซถ Protected Member Functions ๐Ÿซถ

  • virtual const SoFieldData * getFieldData (void) const โ€” get the field data, protected but not shy.
  • virtual void generatePrimitives (SoAction *action) โ€” generate those primitives.

๐Ÿ’– Protected Member Functions inherited from SoVRMLIndexedLine ๐Ÿ’–

  • virtual void computeBBox (SoAction *action, SbBox3f &box, SbVec3f &center) โ€” compute the bbox, box and center.
  • int getNumVerts (int startCoord) โ€” get the number of verts from startCoord.
  • void setupIndices (int numFaces) โ€” set up the indices for numFaces.
  • const int32_t * getColorIndices (void) โ€” get the color indices, int32_t.
  • virtual void notify (SoNotList *list) โ€” notify the list.

๐Ÿ’œ Protected Member Functions inherited from SoVRMLVertexLine ๐Ÿ’œ

  • SoVRMLVertexLine (void) โ€” the constructor.
  • virtual ~SoVRMLVertexLine () โ€” the destructor.
  • virtual SbBool shouldGLRender (SoGLRenderAction *action) โ€” should she GL render? yes.

๐ŸŒธ Protected Member Functions inherited from SoVRMLGeometry ๐ŸŒธ

  • SoVRMLGeometry (void) โ€” constructor.
  • virtual ~SoVRMLGeometry () โ€” destructor.
  • void setupShapeHints (SoState *state, const SbBool ccw, const SbBool solid) โ€” set up shape hints with ccw and solid.
  • virtual SoChildList * getChildren (void) const โ€” get the children.

๐ŸŽ€ Protected Member Functions inherited from SoShape ๐ŸŽ€

  • SoShape (void) โ€” constructor.
  • virtual ~SoShape () โ€” destructor.
  • float getComplexityValue (SoAction *action) โ€” get the complexity value.
  • void beginSolidShape (SoGLRenderAction *action) โ€” begin the solid shape.
  • void endSolidShape (SoGLRenderAction *action) โ€” end the solid shape.
  • void GLRenderBoundingBox (SoGLRenderAction *action) โ€” GL render the bounding box.
  • SbBool shouldPrimitiveCount (SoGetPrimitiveCountAction *action) โ€” should she count primitives? yes bestie.
  • SbBool shouldRayPick (SoRayPickAction *const action) โ€” should she ray pick? also yes.
  • void computeObjectSpaceRay (SoRayPickAction *const action) โ€” compute the object space ray.
  • void computeObjectSpaceRay (SoRayPickAction *const action, const SbMatrix &matrix) โ€” same thing but with a matrix.
  • virtual SoDetail * createTriangleDetail (SoRayPickAction *action, const SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2, const SoPrimitiveVertex *v3, SoPickedPoint *pp) โ€” create that triangle detail, v1 v2 v3 style.
  • virtual SoDetail * createLineSegmentDetail (SoRayPickAction *action, const SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2, SoPickedPoint *pp) โ€” line segment detail, two verts.
  • virtual SoDetail * createPointDetail (SoRayPickAction *action, const SoPrimitiveVertex *v, SoPickedPoint *pp) โ€” point detail, one vert.
  • void invokeTriangleCallbacks (SoAction *const action, const SoPrimitiveVertex *const v1, const SoPrimitiveVertex *const v2, const SoPrimitiveVertex *const v3) โ€” invoke the triangle callbacks.
  • void invokeLineSegmentCallbacks (SoAction *const action, const SoPrimitiveVertex *const v1, const SoPrimitiveVertex *const v2) โ€” invoke the line segment callbacks.
  • void invokePointCallbacks (SoAction *const action, const SoPrimitiveVertex *const v) โ€” invoke the point callbacks.
  • void beginShape (SoAction *const action, const TriangleShape shapetype, SoDetail *const detail=NULL) โ€” begin the shape, detail=NULL.
  • void shapeVertex (const SoPrimitiveVertex *const v) โ€” the shape vertex.
  • void endShape (void) โ€” end the shape.
  • void generateVertex (SoPrimitiveVertex *const pv, const SbVec3f &point, const SbBool useTexFunc, const SoTextureCoordinateElement *const tce, const float s, const float t, const SbVec3f &normal) โ€” generate a vertex with s, t and a normal.
  • void generateVertex (SoPrimitiveVertex *const pv, const SbVec3f &point, const SbBool useTexFunc, const SoTextureCoordinateElement *const tce, const float s, const float t, const float r, const SbVec3f &normal) โ€” same but with the extra float r.
  • SbBool startVertexArray (SoGLRenderAction *action, const SoCoordinateElement *coords, const SbVec3f *pervertexnormals, const SbBool texpervertex, const SbBool colorpervertex) โ€” start the vertex array.
  • void finishVertexArray (SoGLRenderAction *action, const SbBool vbo, const SbBool normpervertex, const SbBool texpervertex, const SbBool colorpervertex) โ€” finish the vertex array.

๐ŸŒˆ Protected Member Functions inherited from SoNode ๐ŸŒˆ

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

โญ Protected Member Functions inherited from SoFieldContainer โญ

  • SoFieldContainer (void) โ€” constructor.
  • ~SoFieldContainer () โ€” destructor.

๐Ÿฆ‹ Protected Member Functions inherited from SoBase ๐Ÿฆ‹

  • SoBase (void) โ€” constructor.
  • virtual ~SoBase () โ€” destructor.
  • virtual void destroy (void) โ€” destroy.
  • SbBool hasMultipleWriteRefs (void) const โ€” does she have multiple write refs? maybe. ๐Ÿ‘€
  • SbBool writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) const โ€” write the header.
  • void writeFooter (SoOutput *out) const โ€” write the footer.
  • virtual const char * getFileFormatName (void) const โ€” get the file format name.

๐ŸŒธ Static Protected Member Functions ๐ŸŒธ

Okay bestie, these are the lil behind-the-scenes helpers that only subclasses get to touch:

  • static const SoFieldData ** getFieldDataPtr (void) โ€” hands back a pointer to the class-wide field data pointer. ๐Ÿคซ

Static Protected Member Functions inherited from SoVRMLIndexedLine

  • static const SoFieldData ** getFieldDataPtr (void)

Static Protected Member Functions inherited from SoVRMLVertexLine

  • static const SoFieldData ** getFieldDataPtr (void)

Static Protected Member Functions inherited from SoVRMLGeometry

  • 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 โœจ

Everything else you get for free from the ancestors, no cap. ๐Ÿ‘‘

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
    }

Public Attributes inherited from SoVRMLIndexedLine

  • SoMFInt32 coordIndex
  • SoMFInt32 colorIndex

Public Attributes inherited from SoVRMLVertexLine

  • SoSFNode coord
  • SoSFNode color
  • SoSFBool colorPerVertex

Protected Types inherited from SoBase

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

Protected Attributes inherited from SoNode

  • uint32_t uniqueId

Protected Attributes inherited from SoFieldContainer

  • SbBool isBuiltIn

Static Protected Attributes inherited from SoNode

  • static uint32_t nextUniqueId = 0
  • static int nextActionMethodIndex = 0

๐Ÿ’– Detailed Description ๐Ÿ’–

The SoVRMLIndexedLineSet class is used to represent a generic 3D line shape. Literally just vibes made of lines. ๐ŸŽ€

The detailed class documentation is taken verbatim from the VRML97 standard (ISO/IEC 14772-1:1997). It is copyright The Web3D Consortium, and is used by permission of the Consortium:

IndexedLineSet {
  eventIn       MFInt32 set_colorIndex
  eventIn       MFInt32 set_coordIndex
  exposedField  SFNode  color             NULL
  exposedField  SFNode  coord             NULL
  field         MFInt32 colorIndex        []     # [-1, inf)
  field         SFBool  colorPerVertex    TRUE
  field         MFInt32 coordIndex        []     # [-1, inf)
}

The IndexedLineSet node represents a 3D geometry formed by constructing polylines from 3D vertices specified in the coord field. So it's basically connect-the-dots but make it 3D. โœ๏ธ IndexedLineSet uses the indices in its coordIndex field to specify the polylines by connecting vertices from the coord field. An index of "-1" indicates that the current polyline has ended and the next one begins โ€” it's giving "ok we're done here, next one bestie". ๐Ÿซถ The last polyline may be (but does not have to be) followed by a "-1". IndexedLineSet is specified in the local coordinate system and is affected by the transformations of its ancestors.

The coord field specifies the 3D vertices of the line set and contains a Coordinate node. Lines are not lit, are not texture-mapped, and do not participate in collision detection. The width of lines is implementation dependent and each line segment is solid (i.e., not dashed). If the color field is not NULL, it shall contain a Color node. The colours are applied to the line(s) as follows:

  • If colorPerVertex is FALSE:
    • If the colorIndex field is not empty, one colour is used for each polyline of the IndexedLineSet. There shall be at least as many indices in the colorIndex field as there are polylines in the IndexedLineSet. If the greatest index in the colorIndex field is N, there shall be N+1 colours in the Color node. The colorIndex field shall not contain any negative entries.
    • If the colorIndex field is empty, the colours from the Color node are applied to each polyline of the IndexedLineSet in order. There shall be at least as many colours in the Color node as there are polylines.
  • If colorPerVertex is TRUE:
    • If the colorIndex field is not empty, colours are applied to each vertex of the IndexedLineSet in exactly the same manner that the coordIndex field is used to supply coordinates for each vertex from the Coordinate node. The colorIndex field shall contain at least as many indices as the coordIndex field and shall contain end-of-polyline markers (-1) in exactly the same places as the coordIndex field. If the greatest index in the colorIndex field is N, there shall be N+1 colours in the Color node.
    • If the colorIndex field is empty, the coordIndex field is used to choose colours from the Color node. If the greatest index in the coordIndex field is N, there shall be N+1 colours in the Color node.

If the color field is NULL and there is a Material defined for the Appearance affecting this IndexedLineSet, the emissiveColor of the Material shall be used to draw the lines. Details on lighting equations as they affect IndexedLineSet nodes are described in 4.14, Lighting model (http://www.web3d.org/x3d/specifications/vrml/ISO-IEC-14772-VRML97/part1/concepts.html#4.14).


๐Ÿ”ฅ Member Function Documentation ๐Ÿ”ฅ

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

Returns the type identification of an object derived from a class inheriting SoBase. This is used for run-time type checking and "downward" casting. It's the "wait, what ARE you actually" check. ๐Ÿ‘€

Usage example:

void foo(SoNode * node)
{
  if (node->getTypeId() == SoFile::getClassTypeId()) {
    SoFile * filenode = (SoFile *)node;  // safe downward cast, knows the type
  }
  else if (node->getTypeId().isOfType(SoGroup::getClassTypeId())) {
    SoGroup * group = (SoGroup *)node;  // safe downward cast, knows the type
  }
}

For application programmers wanting to extend the library with new nodes, engines, nodekits, draggers or others: this method needs to be overridden in all subclasses. This is typically done as part of setting up the full type system for extension classes, which is usually accomplished by using the pre-defined macros available through for instance Inventor/nodes/SoSubNode.h (SO_NODE_INIT_CLASS and SO_NODE_CONSTRUCTOR for node classes), Inventor/engines/SoSubEngine.h (for engine classes) and so on.

For more information on writing Coin extensions, see the class documentation of the toplevel superclasses for the various class groups.

Reimplemented from SoVRMLIndexedLine.

const SoFieldData * SoVRMLIndexedLineSet::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. Simple as that. ๐Ÿ’…

Reimplemented from SoVRMLIndexedLine.

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

Action method for the SoGLRenderAction.

This is called during rendering traversals. Nodes influencing the rendering state in any way or who wants to throw geometry primitives at OpenGL overrides this method. Main character energy, honestly. ๐Ÿ‘‘

Reimplemented from SoVRMLVertexLine.

References SoVRMLVertexLine::color, SoShape::finishVertexArray(), SoGLRenderAction::getCacheContext(), SoNode::getNodeId(), SbColor::getPackedValue(), SoAction::getState(), SoVRMLVertexLine::GLRender(), SoState::pop(), SoState::push(), SoVRMLVertexLine::shouldGLRender(), and SoShape::startVertexArray().

void SoVRMLIndexedLineSet::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. Counting era. ๐Ÿงฎ

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

Reimplemented from SoShape.

References SoGetPrimitiveCountAction::addNumLines(), SoGetPrimitiveCountAction::canApproximateCount(), and SoShape::shouldPrimitiveCount().

void SoVRMLIndexedLineSet::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. Boxing, but make it geometric. ๐Ÿ“ฆ

Nodes influencing how geometry nodes calculates their bounding box also overrides this method to change the relevant state variables.

Reimplemented from SoVRMLVertexLine.

References SoNode::getBoundingBox(), and SoAction::getState().

void SoVRMLIndexedLineSet::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().) Rude to ignore that, bestie. ๐Ÿ™ˆ

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.

References SoShape::beginShape(), SoVRMLVertexLine::doAction(), SoShape::endShape(), SoPrimitiveVertex::getMaterialIndex(), SoAction::getState(), SoLineDetail::incLineIndex(), SoLineDetail::incPartIndex(), SoState::pop(), SoState::push(), SoPointDetail::setCoordinateIndex(), SoPrimitiveVertex::setDetail(), SoPointDetail::setMaterialIndex(), SoPrimitiveVertex::setMaterialIndex(), SoPrimitiveVertex::setPoint(), and SoShape::shapeVertex().


๐Ÿฆ‹ Author ๐Ÿฆ‹

Generated automatically by Doxygen for Coin from the source code.


And that's the whole page, bestie!! ๐ŸŽ€โœจ This lil slice of documentation came straight out of Coin, Version 2.5.0, and it's the SoVRMLIndexedLineSet(3) page โ€” Doxygen spat it out automatically from the source code, so no human author to thank, just the machines doing their thing. ๐Ÿซถ Go make some iconic lines with it. ๐Ÿ’–

๐Ÿ“ฆ where this page comes from