SoVRMLVertexLine(3)

πŸ“¦ version 3.1.3, in fedora 43, fedora 44

✨ SoVRMLVertexLine ✨

okay bestie so this is a page from the Library Functions Manual, and it's the one for SoVRMLVertexLine(3). Heads up: this page is long β€” like, unreasonably long β€” so it comes in 2 parts. This is part 1. Don't go anywhere, more is coming πŸ’…


🌸 NAME 🌸

SoVRMLVertexLine β€” the class that's the superclass for line based VRML geometry. That's the whole vibe. It's the parent of the line-gang, and its whole job is being the blueprint the other line classes inherit from 🧚


✨ SYNOPSIS ✨

#include <Inventor/VRMLnodes/SovRMLVertexLine.h>

Inherits SoVRMLGeometry.

Inherited by SoVRMLIndexedLine.


πŸ’– Public Member Functions πŸ’–

  • virtual SoType getTypeId (void) const
  • virtual void doAction (SoAction *action)
  • virtual void GLRender (SoGLRenderAction *action)
  • virtual void getBoundingBox (SoGetBoundingBoxAction *action)
  • virtual void callback (SoCallbackAction *action)
  • virtual void pick (SoPickAction *action)
  • virtual void notify (SoNotList *list)

🫢 Public Member Functions inherited from SoVRMLGeometry

  • virtual void search (SoSearchAction *action)
  • virtual void copyContents (const SoFieldContainer *from, SbBool copyConn)

🫢 Public Member Functions inherited from SoShape

  • virtual SbBool affectsState (void) const
  • virtual void rayPick (SoRayPickAction *action)
  • virtual void computeBBox (SoAction *action, SbBox3f &box, SbVec3f &center)=0
  • virtual void getPrimitiveCount (SoGetPrimitiveCountAction *action)
  • const SoBoundingBoxCache * getBoundingBoxCache (void) const

🫢 Public Member Functions inherited from SoNode

  • void setOverride (const SbBool state)
  • SbBool isOverride (void) const
  • void setNodeType (const NodeType type)
  • NodeType getNodeType (void) const
  • virtual SoNode * copy (SbBool copyconnections=FALSE) const
  • virtual void GLRenderBelowPath (SoGLRenderAction *action)
  • virtual void GLRenderInPath (SoGLRenderAction *action)
  • virtual void GLRenderOffPath (SoGLRenderAction *action)
  • virtual void getMatrix (SoGetMatrixAction *action)
  • virtual void handleEvent (SoHandleEventAction *action)
  • virtual void write (SoWriteAction *action)
  • virtual void audioRender (SoAudioRenderAction *action)
  • virtual void grabEventsSetup (void)
  • virtual void grabEventsCleanup (void)
  • virtual void startNotify (void)
  • uint32_t getNodeId (void) const
  • virtual void writeInstance (SoOutput *out)
  • virtual SoNode * addToCopyDict (void) const
  • virtual SoFieldContainer * copyThroughConnection (void) const

🫢 Public Member Functions inherited from SoFieldContainer

  • void setToDefaults (void)
  • SbBool hasDefaultValues (void) const
  • SbBool fieldsAreEqual (const SoFieldContainer *container) const
  • void copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE)
  • SbBool set (const char *const fielddata)
  • void get (SbString &fielddata)
  • virtual int getFields (SoFieldList &l) const
  • virtual int getAllFields (SoFieldList &l) const
  • virtual SoField * getField (const SbName &name) const
  • virtual SoField * getEventIn (const SbName &name) const
  • virtual SoField * getEventOut (const SbName &name) const
  • SbBool getFieldName (const SoField *const field, SbName &name) const
  • SbBool enableNotify (const SbBool flag)
  • SbBool isNotifyEnabled (void) const
  • SbBool set (const char *fielddata, SoInput *input)
  • void get (SbString &fielddata, SoOutput *out)
  • virtual SbBool validateNewFieldValue (SoField *field, void *newval)
  • virtual void addWriteReference (SoOutput *out, SbBool isfromfield=FALSE)
  • SbBool getIsBuiltIn (void) const
  • virtual void getFieldsMemorySize (size_t &managed, size_t &unmanaged) const
  • void setUserData (void *userdata) const
  • void * getUserData (void) const

🫢 Public Member Functions inherited from SoBase

  • void ref (void) const
  • void unref (void) const
  • void unrefNoDelete (void) const
  • int32_t getRefCount (void) const
  • void touch (void)
  • SbBool isOfType (SoType type) const
  • virtual SbName getName (void) const
  • virtual void setName (const SbName &newname)
  • void addAuditor (void *const auditor, const SoNotRec::Type type)
  • void removeAuditor (void *const auditor, const SoNotRec::Type type)
  • const SoAuditorList & getAuditors (void) const
  • SbBool shouldWrite (void)
  • void assertAlive (void) const

🌈 Static Public Member Functions 🌈

  • static SoType getClassTypeId (void)
  • static void initClass (void)

⭐ Static Public Member Functions inherited from SoVRMLGeometry

  • static SoType getClassTypeId (void)
  • static void initClass (void)

⭐ Static Public Member Functions inherited from SoShape

  • static SoType getClassTypeId (void)
  • static void initClass (void)
  • static void getScreenSize (SoState *const state, const SbBox3f &boundingbox, SbVec2s &rectsize)
  • static float getDecimatedComplexity (SoState *state, float complexity)

⭐ Static Public Member Functions inherited from SoNode

  • static uint32_t getCompatibilityTypes (const SoType &nodetype)
  • static SoType getClassTypeId (void)
  • static SoNode * getByName (const SbName &name)
  • static int getByName (const SbName &name, SoNodeList &l)
  • static void initClass (void)
  • static void initClasses (void)
  • static uint32_t getNextNodeId (void)
  • static int getActionMethodIndex (const SoType type)
  • static void getBoundingBoxS (SoAction *action, SoNode *node)
  • static void GLRenderS (SoAction *action, SoNode *node)
  • static void callbackS (SoAction *action, SoNode *node)
  • static void getMatrixS (SoAction *action, SoNode *node)
  • static void handleEventS (SoAction *action, SoNode *node)
  • static void pickS (SoAction *action, SoNode *node)
  • static void rayPickS (SoAction *action, SoNode *node)
  • static void searchS (SoAction *action, SoNode *node)
  • static void writeS (SoAction *action, SoNode *node)
  • static void audioRenderS (SoAction *action, SoNode *node)
  • static void getPrimitiveCountS (SoAction *action, SoNode *node)

⭐ Static Public Member Functions inherited from SoFieldContainer

  • static void initClass (void)
  • static SoType getClassTypeId (void)
  • static void cleanupClass (void)
  • static void initCopyDict (void)
  • static void addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy)
  • static SoFieldContainer * checkCopy (const SoFieldContainer *orig)
  • static SoFieldContainer * findCopy (const SoFieldContainer *orig, const SbBool copyconnections)
  • static void copyDone (void)

⭐ Static Public Member Functions inherited from SoBase

  • static void initClass (void)
  • static SoType getClassTypeId (void)
  • static void addName (SoBase *const base, const char *const name)
  • static void removeName (SoBase *const base, const char *const name)
  • static void incrementCurrentWriteCounter (void)
  • static void decrementCurrentWriteCounter (void)
  • static SoBase * getNamedBase (const SbName &name, SoType type)
  • static int getNamedBases (const SbName &name, SoBaseList &baselist, SoType type)
  • static SbBool read (SoInput *input, SoBase *&base, SoType expectedtype)
  • static void setInstancePrefix (const SbString &c)
  • static void setTraceRefs (SbBool trace)
  • static SbBool getTraceRefs (void)
  • static SbBool connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname)
  • static SbBool readRoute (SoInput *input)

πŸŽ€ Public Attributes πŸŽ€

  • SoSFNode coord
  • SoSFNode color
  • SoSFBool colorPerVertex
these three are the actual fields your VRML file gets to poke at, bestie. coord and color are nodes, and colorPerVertex is a lil boolean deciding whether the color is per-vertex or not πŸ‘‘

πŸ’œ Protected Member Functions πŸ’œ

  • virtual const SoFieldData * getFieldData (void) const
  • SoVRMLVertexLine (void)
  • virtual ~SoVRMLVertexLine ()
  • virtual SbBool shouldGLRender (SoGLRenderAction *action)

πŸ¦‹ Protected Member Functions inherited from SoVRMLGeometry

  • SoVRMLGeometry (void)
  • virtual ~SoVRMLGeometry ()
  • void setupShapeHints (SoState *state, const SbBool ccw, const SbBool solid)
  • virtual SoChildList * getChildren (void) const

πŸ¦‹ Protected Member Functions inherited from SoShape

  • SoShape (void)
  • virtual ~SoShape ()
  • float getComplexityValue (SoAction *action)
  • virtual void generatePrimitives (SoAction *action)=0
  • 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 SoTextureCoordinateElement *const tce, const float s, const float t, const SbVec3f &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)
  • 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

  • SoNode (void)
  • virtual ~SoNode ()
  • virtual SbBool readInstance (SoInput *in, unsigned short flags)

πŸ¦‹ Protected Member Functions inherited from SoFieldContainer

  • SoFieldContainer (void)
  • virtual ~SoFieldContainer ()

πŸ¦‹ Protected Member Functions inherited 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

πŸ“ Static Protected Member Functions πŸ“

  • static const SoFieldData ** getFieldDataPtr (void)

🧚 Static Protected Member Functions inherited from SoVRMLGeometry

  • static const SoFieldData ** getFieldDataPtr (void)

okay that's the whole inheritance tree laid out, and it's giving ancestry dot com fr fr πŸ’€ stay tuned for part 2 bestie, we're not done yet 🫢

✨ Static Protected Member Functions inherited from SoShape ✨

  • static const SoFieldData ** getFieldDataPtr (void) β€” yeah she's inherited, she's protected, she's static, she just vibes there handing you a pointer-to-pointer of SoFieldData. πŸ’…

🌸 Static Protected Member Functions inherited from SoNode 🌸

  • static const SoFieldData ** getFieldDataPtr (void) β€” same energy, different superclass. Bestie really said "copy my whole personality".
  • static void setNextActionMethodIndex (int index) β€” sets the next action method index. Takes an int called index, obviously.
  • static int getNextActionMethodIndex (void) β€” returns that next action method index as an int. The getter to the setter, iconic duo.
  • static void incNextActionMethodIndex (void) β€” increments the next action method index. no args, no notes, just vibes and a +1. ✨
  • static void setCompatibilityTypes (const SoType &nodetype, const uint32_t bitmask) β€” takes an SoType reference (nodetype) and a uint32_t (bitmask) and sets the compatibility types. that's it, that's the whole thing.

πŸ¦‹ Static Protected Member Functions inherited from SoBase πŸ¦‹

  • static uint32_t getCurrentWriteCounter (void) β€” returns the current write counter as a uint32_t. lowkey obsessed with how simple this one is.
  • static void staticDataLock (void) β€” locks the static data. πŸ”’
  • static void staticDataUnlock (void) β€” unlocks the static data. πŸ”“ the way these two are literally a matched set.

πŸŽ€ Additional Inherited Members πŸŽ€

πŸ’– Public Types inherited from SoShape πŸ’–

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

all nine of them, in order, no skips. periodt. πŸ‘‘

πŸ’œ 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 }

okay the hex math here? gorgeous. every one of these is a bitmask flag, not a little counter, so they stack. 🧚

🌈 Protected Types inherited from SoBase 🌈

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

two flags, two vibes.

⭐ Protected Attributes inherited from SoNode ⭐

  • uint32_t uniqueId β€” a uint32_t called uniqueId. she's unique, she said it herself.

πŸ“ Protected Attributes inherited from SoFieldContainer πŸ“

  • SbBool isBuiltIn β€” an SbBool named isBuiltIn. built in, or not. a whole identity crisis in one variable.

πŸ”₯ Static Protected Attributes inherited from SoNode πŸ”₯

  • static uint32_t nextUniqueId = 1 β€” starts at 1. not 0. remember that.
  • static int nextActionMethodIndex = 0 β€” starts at 0. a little contrast moment for you.

πŸ‘‘ Detailed Description πŸ‘‘

The SoVRMLVertexLine class is a superclass for line based VRML geometry.

bestie it's a superclass. it doesn't do the drawing, it just sets the stage for the line-based VRML geometry that inherits from it. main character energy, honestly.

πŸŽ€ Constructor & Destructor Documentation πŸŽ€

πŸ’… SoVRMLVertexLine::SoVRMLVertexLine (void ) β€” [protected]

Constructor.

πŸ’… SoVRMLVertexLine::~SoVRMLVertexLine () β€” [protected], [virtual]

Destructor.


✨ Member Function Documentation ✨

πŸ’– SoType SoVRMLVertexLine::getTypeId (void ) const β€” [virtual]

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

Usage example:

void foo(SoNode * node)
{
  if (node->getTypeId() == SoFile::getClassTypeId()) {
    SoFile * filenode = (SoFile *)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 SoVRMLGeometry.

Reimplemented in SoVRMLIndexedLine, and SoVRMLIndexedLineSet.

so if you're extending Coin, you have to override this one. no skipping, babe. 😭

πŸ’œ const SoFieldData * SoVRMLVertexLine::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 SoVRMLGeometry.

Reimplemented in SoVRMLIndexedLine, and SoVRMLIndexedLineSet.

πŸ¦‹ void SoVRMLVertexLine::doAction (SoAction * action) β€” [virtual]

This function performs the typical operation of a node for any action.

Reimplemented from SoNode.

🌸 void SoVRMLVertexLine::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.

Reimplemented from SoShape.

Reimplemented in SoVRMLIndexedLineSet.

⭐ void SoVRMLVertexLine::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 calculates their bounding box also overrides this method to change the relevant state variables.

Reimplemented from SoShape.

Reimplemented in SoVRMLIndexedLineSet.

πŸ“ void SoVRMLVertexLine::callback (SoCallbackAction * action) β€” [virtual]

Action method for SoCallbackAction.

Simply updates the state according to how the node behaves for the render action, so the application programmer can use the SoCallbackAction for extracting information about the scene graph.

Reimplemented from SoShape.

πŸ”₯ void SoVRMLVertexLine::pick (SoPickAction * action) β€” [virtual]

Action method for SoPickAction.

Does common processing for SoPickAction action instances.

Reimplemented from SoNode.

🌈 void SoVRMLVertexLine::notify (SoNotList * l) β€” [virtual]

Notifies all auditors for this instance when changes are made.

Reimplemented from SoVRMLGeometry.

Reimplemented in SoVRMLIndexedLine, and SoVRMLIndexedLineSet.

🧚 SbBool SoVRMLVertexLine::shouldGLRender (SoGLRenderAction * action) β€” [protected], [virtual]

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

Reimplemented from SoVRMLGeometry.

ngl bestie this one is literally labeled "not for you". internal business. stay out of her DMs. πŸ™ˆ

πŸ’œ Member Data Documentation πŸ’œ

🌸 SoSFNode SoVRMLVertexLine::coord

Should contain an SoVRMLCoordinate node.

πŸŽ€ SoSFNode SoVRMLVertexLine::color

Can contain an SoVRMLColor node if multiple colors are wanted.

✨ SoSFBool SoVRMLVertexLine::colorPerVertex

When TRUE, colors will be bound per vertex, otherwise per line. Default value is TRUE.

so default? per vertex. if you want per line you gotta go change it yourself. πŸ’…

πŸ’– Author πŸ’–

Generated automatically by Doxygen for Coin from the source code.


okay that's the whole page, bestie, we made it to the end 🫢 this one was generated automatically by Doxygen for Coin from the source code, and it's from Coin Version 3.1.3, dated with the SoVRMLVertexLine(3) manpage tag. slay. βœ¨πŸ’…

πŸ“¦ where this page comes from