SoVRMLVertexLine(3)
okay so bestie π welcome to SoVRMLVertexLine(3), fresh out of the Library Functions Manual. This is part 1 of 2, so don't go anywhere, we are literally only getting started. π
β¨ NAME β¨
SoVRMLVertexLine β the class is a superclass for line based VRML geometry. That's it, that's the whole job description: it's the mom friend that other line-based VRML geometry nodes inherit from. π
πΈ SYNOPSIS πΈ
#include <Inventor/VRMLnodes/SovRMLVertexLine.h>
Inherits SoVRMLGeometry.
Inherited by SoVRMLIndexedLine.
π Public Member Functions
virtual SoType getTypeId (void) constβ hands you back this node'sSoType, standard issue.virtual void doAction (SoAction *action)β runs an action on the node, the classic entry point.virtual void GLRender (SoGLRenderAction *action)β the GL render handler.virtual void getBoundingBox (SoGetBoundingBoxAction *action)β the bounding box action handler.virtual void callback (SoCallbackAction *action)β the callback action handler.virtual void pick (SoPickAction *action)β the pick action handler.virtual void notify (SoNotList *list)β the notify chain, aka when the fields start gossiping π¬
π¦ Public Member Functions inherited from SoVRMLGeometry
virtual void search (SoSearchAction *action)β search action, inherited and thriving.virtual void copyContents (const SoFieldContainer *from, SbBool copyConn)β copies contents over, with thecopyConnflag doing its thing.
π Public Member Functions inherited from SoShape
virtual SbBool affectsState (void) constβ returns anSbBooltelling you whether it affects state.virtual void rayPick (SoRayPickAction *action)β the ray pick handler.virtual void computeBBox (SoAction *action, SbBox3f &box, SbVec3f ¢er)=0β see that=0at the end? bestie that's a pure virtual, subclasses have to bring their own. π€virtual void getPrimitiveCount (SoGetPrimitiveCountAction *action)β the primitive count action handler.const SoBoundingBoxCache * getBoundingBoxCache (void) constβ gives you the bounding box cache pointer.
β Public Member Functions inherited from SoNode
void setOverride (const SbBool state)β sets override tostate.SbBool isOverride (void) constβ asks whether override is on.void setNodeType (const NodeType type)β sets the node type.NodeType getNodeType (void) constβ gets the node type.virtual SoNode * copy (SbBool copyconnections=0) constβ makes a copy,copyconnectionsdefaults to0.virtual void GLRenderBelowPath (SoGLRenderAction *action)β GL render, below path edition.virtual void GLRenderInPath (SoGLRenderAction *action)β GL render, in path edition.virtual void GLRenderOffPath (SoGLRenderAction *action)β GL render, off path edition.virtual void getMatrix (SoGetMatrixAction *action)β the get matrix action handler.virtual void handleEvent (SoHandleEventAction *action)β the handle event action handler.virtual void write (SoWriteAction *action)β the write action handler.virtual void audioRender (SoAudioRenderAction *action)β the audio render action handler.virtual void grabEventsSetup (void)β event grabbing, setup half.virtual void grabEventsCleanup (void)β event grabbing, cleanup half.virtual void startNotify (void)β kicks off the notify.uint32_t getNodeId (void) constβ returns the node id as auint32_t.virtual void writeInstance (SoOutput *out)β writes the instance out toout.virtual SoNode * addToCopyDict (void) constβ adds itself to the copy dictionary.virtual SoFieldContainer * copyThroughConnection (void) constβ copies through the connection.
π Public Member Functions inherited from SoFieldContainer
void setToDefaults (void)β resets everything back to defaults.SbBool hasDefaultValues (void) constβ checks whether it's all still defaults.SbBool fieldsAreEqual (const SoFieldContainer *container) constβ compares fields with anothercontainer.void copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=0)β copies field values fromcontainer,copyconnectionsdefaults to0.SbBool set (const char *const fielddata)β sets fromfielddata.void get (SbString &fielddata)β gets the field data intofielddata.virtual int getFields (SoFieldList &l) constβ fillslwith the fields.virtual int getAllFields (SoFieldList &l) constβ fillslwith all the fields, no skips.virtual SoField * getField (const SbName &name) constβ grabs the field calledname.virtual SoField * getEventIn (const SbName &name) constβ grabs the event in calledname.virtual SoField * getEventOut (const SbName &name) constβ grabs the event out calledname.SbBool getFieldName (const SoField *const field, SbName &name) constβ reverse lookup, field to name.SbBool enableNotify (const SbBool flag)β toggles notification withflag.SbBool isNotifyEnabled (void) constβ asks whether notification is on.SbBool set (const char *fielddata, SoInput *in)β theSoInputflavour ofset.void get (SbString &fielddata, SoOutput *out)β theSoOutputflavour ofget.virtual SbBool validateNewFieldValue (SoField *field, void *newval)β validates a new value forfield.virtual void addWriteReference (SoOutput *out, SbBool isfromfield=0)β adds a write reference,isfromfielddefaults to0.SbBool getIsBuiltIn (void) constβ is it built in, yes or no.void setUserData (void *userdata) constβ stashesuserdata.void * getUserData (void) constβ gets the stashed user data back.
π Public Member Functions inherited from SoBase
void ref (void) constβ bumps the ref count. π«Άvoid unref (void) constβ drops the ref count.void unrefNoDelete (void) constβ drops the ref count but doesn't delete.int32_t getRefCount (void) constβ tells you the ref count.void touch (void)β touches it, classic.SbBool isOfType (SoType type) constβ type check againsttype.virtual SbName getName (void) constβ gets the name.virtual void setName (const SbName &newname)β sets the name tonewname.void addAuditor (void *const auditor, const SoNotRec::Type type)β adds an auditor oftype.void removeAuditor (void *const auditor, const SoNotRec::Type type)β removes that auditor.const SoAuditorList & getAuditors (void) constβ hands back the auditor list.SbBool shouldWrite (void)β should it write, or should it not.void assertAlive (void) constβ asserts that it's alive, dramatic but valid.
π Static Public Member Functions
static SoType getClassTypeId (void)β the class type id, static edition.static void initClass (void)β initialises the class.
πΈ Static Public Member Functions inherited from SoVRMLGeometry
static SoType getClassTypeId (void)β same deal, from the geometry side.static void initClass (void)β initialises that class.
π Static Public Member Functions inherited from SoShape
static SoType getClassTypeId (void)β class type id.static void initClass (void)β initialises the class.static void getScreenSize (SoState *const state, const SbBox3f &boundingbox, SbVec2s &rectsize)β screen size for aboundingbox, intorectsize.static float getDecimatedComplexity (SoState *state, float complexity)β decimated complexity as afloat.
β¨ Static Public Member Functions inherited from SoNode
static uint32_t getCompatibilityTypes (const SoType &nodetype)β compatibility types fornodetype.static SoType getClassTypeId (void)β class type id.static SoNode * getByName (const SbName &name)β looks up a node byname.static int getByName (const SbName &name, SoNodeList &l)β the list-filling flavour, intol.static void initClass (void)β initialises the class.static void initClasses (void)β initialises the classes, plural, she's doing overtime.static uint32_t getNextNodeId (void)β the next node id.static int getActionMethodIndex (const SoType type)β the action method index fortype.static void getBoundingBoxS (SoAction *action, SoNode *node)β theSvariant, bounding box.static void GLRenderS (SoAction *action, SoNode *node)β theSvariant, GL render.static void callbackS (SoAction *action, SoNode *node)β theSvariant, callback.static void getMatrixS (SoAction *action, SoNode *node)β theSvariant, get matrix.static void handleEventS (SoAction *action, SoNode *node)β theSvariant, handle event.static void pickS (SoAction *action, SoNode *node)β theSvariant, pick.static void rayPickS (SoAction *action, SoNode *node)β theSvariant, ray pick.static void searchS (SoAction *action, SoNode *node)β theSvariant, search.static void writeS (SoAction *action, SoNode *node)β theSvariant, write.static void audioRenderS (SoAction *action, SoNode *node)β theSvariant, audio render.static void getPrimitiveCountS (SoAction *action, SoNode *node)β theSvariant, primitive count.
π¦ Static Public Member Functions inherited from SoFieldContainer
static void initClass (void)β initialises the class.static SoType getClassTypeId (void)β class type id.static void initCopyDict (void)β sets up the copy dictionary.static void addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy)β registerscopyas a copy oforig.static SoFieldContainer * checkCopy (const SoFieldContainer *orig)β checksorigagainst the copy dict.static SoFieldContainer * findCopy (const SoFieldContainer *orig, const SbBool copyconnections)β finds the copy oforig, honouringcopyconnections.static void copyDone (void)β copy time is over, wrap it up.
β Static Public Member Functions inherited from SoBase
static void initClass (void)β initialises the class.static SoType getClassTypeId (void)β class type id.static void addName (SoBase *const base, const char *const name)β attachesnametobase.static void removeName (SoBase *const base, const char *const name)β detaches it.static void incrementCurrentWriteCounter (void)β bumps the current write counter.static void decrementCurrentWriteCounter (void)β drops the current write counter.static SoBase * getNamedBase (const SbName &name, SoType type)β grabs the named base oftype.static int getNamedBases (const SbName &name, SoBaseList &baselist, SoType type)β grabs them intobaselist.static SbBool read (SoInput *in, SoBase *&base, SoType expectedtype)β reads frominintobase, expectingexpectedtype.static void setInstancePrefix (const SbString &c)β sets the instance prefix toc.static void setTraceRefs (SbBool trace)β turns ref tracing on or off.static SbBool getTraceRefs (void)β asks whether ref tracing is on.static SbBool connectRoute (SoInput *in, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname)β wires a route from the from-node/from-field to the to-node/to-field.static SbBool readRoute (SoInput *in)β reads a route fromin.
π Public Attributes
SoSFNode coordβ anSoSFNodefield namedcoord.SoSFNode colorβ anSoSFNodefield namedcolor.SoSFBool colorPerVertexβ anSoSFBoolfield namedcolorPerVertex.
π₯ Protected Member Functions
virtual const SoFieldData * getFieldData (void) constβ the field data pointer.SoVRMLVertexLine (void)β the constructor, protected business.virtual ~SoVRMLVertexLine ()β the destructor.virtual SbBool shouldGLRender (SoGLRenderAction *action)β should it GL render? returns anSbBool.
π Protected Member Functions inherited from SoVRMLGeometry
SoVRMLGeometry (void)β the constructor.virtual ~SoVRMLGeometry ()β the destructor.void setupShapeHints (SoState *state, const SbBool ccw, const SbBool solid)β sets up shape hints withccwandsolid.virtual SoChildList * getChildren (void) constβ hands back the child list.
π§ Protected Member Functions inherited from SoShape
SoShape (void)β the constructor.virtual ~SoShape ()β the destructor.float getComplexityValue (SoAction *action)β the complexity value as afloat.virtual void generatePrimitives (SoAction *action)=0β another=0, pure virtual, subclasses must implement it bestie, no skipping. πvoid beginSolidShape (SoGLRenderAction *action)β begins a solid shape.void endSolidShape (SoGLRenderAction *action)β ends a solid shape.void GLRenderBoundingBox (SoGLRenderAction *action)β renders the bounding box.SbBool shouldPrimitiveCount (SoGetPrimitiveCountAction *action)β should it count primitives?SbBool shouldRayPick (SoRayPickAction *const action)β should it ray pick?void computeObjectSpaceRay (SoRayPickAction *const action)β computes the object space ray.void computeObjectSpaceRay (SoRayPickAction *const action, const SbMatrix &matrix)β same, but with amatrix.virtual SoDetail * createTriangleDetail (SoRayPickAction *action, const SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2, const SoPrimitiveVertex *v3, SoPickedPoint *pp)β makes triangle detail fromv1,v2,v3.virtual SoDetail * createLineSegmentDetail (SoRayPickAction *action, const SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2, SoPickedPoint *pp)β makes line segment detail fromv1,v2.virtual SoDetail * createPointDetail (SoRayPickAction *action, const SoPrimitiveVertex *v, SoPickedPoint *pp)β makes point detail fromv.void invokeTriangleCallbacks (SoAction *const action, const SoPrimitiveVertex *const v1, const SoPrimitiveVertex *const v2, const SoPrimitiveVertex *const v3)β fires the triangle callbacks.void invokeLineSegmentCallbacks (SoAction *const action, const SoPrimitiveVertex *const v1, const SoPrimitiveVertex *const v2)β fires the line segment callbacks.void invokePointCallbacks (SoAction *const action, const SoPrimitiveVertex *const v)β fires the point callbacks.void beginShape (SoAction *const action, const TriangleShape shapetype, SoDetail *const detail=NULL)β begins a shape ofshapetype,detaildefaults toNULL.void shapeVertex (const SoPrimitiveVertex *const v)β feeds a shape vertexv.void endShape (void)β ends 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)β generates a vertex atpointwiths,tandnormal.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)β the four-coordinate flavour, withs,t,r.SbBool startVertexArray (SoGLRenderAction *action, const SoCoordinateElement *coords, const SbVec3f *pervertexnormals, const SbBool texpervertex, const SbBool colorpervertex)β starts the vertex array with all those flags.void finishVertexArray (SoGLRenderAction *action, const SbBool vbo, const SbBool normpervertex, const SbBool texpervertex, const SbBool colorpervertex)β finishes it off,vboand friends included.
π Protected Member Functions inherited from SoNode
SoNode (void)β the constructor.virtual ~SoNode ()β the destructor.virtual SbBool readInstance (SoInput *in, unsigned short flags)β reads an instance withflags.
π Protected Member Functions inherited from SoFieldContainer
SoFieldContainer (void)β the constructor.~SoFieldContainer ()β the destructor.
π¦ Protected Member Functions inherited from SoBase
SoBase (void)β the constructor.virtual ~SoBase ()β the destructor.virtual void destroy (void)β the destroy hook.SbBool hasMultipleWriteRefs (void) constβ does it have multiple write refs?SbBool writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) constβ writes the header,isgroupandisenginestyle.void writeFooter (SoOutput *out) constβ writes the footer.virtual const char * getFileFormatName (void) constβ the file format name.
π Static Protected Member Functions
static const SoFieldData ** getFieldDataPtr (void)β the field data pointer pointer.
π« Static Protected Member Functions inherited from SoVRMLGeometry
static const SoFieldData ** getFieldDataPtr (void)β same one, geometry flavour.
π§ Static Protected Member Functions inherited from SoShape
static const SoFieldData ** getFieldDataPtr (void)β and same again, shape flavour.
and bestie, that is literally only part 1 β there's more of this page coming, so stay tuned π
β¨ Static Protected Member Functions inherited from SoNode β¨
bestie these are the static protected lil helpers that SoNode passes down the family tree, and they're so useful when you're doing type-system surgery:
static const SoFieldData ** getFieldDataPtr (void)β hands you the field-data pointer, no drama.static void setNextActionMethodIndex (int index)β sets where the next action method index lives. you're the boss of the numbering now πstatic int getNextActionMethodIndex (void)β reads that index back out. peek, don't touch.static void incNextActionMethodIndex (void)β bumps it by one. tiny step, big vibes.static void setCompatibilityTypes (const SoType &nodetype, const uint32_t bitmask)β tell the library which compatibilitynodetypegoes with whichbitmask. very β¨legacy-supportβ¨ of you.
π Static Protected Member Functions inherited from SoBase π
and these three came all the way from SoBase, the great-grandparent of everything:
static uint32_t getCurrentWriteCounter (void)β returns the current write counter as auint32_t.static void staticDataLock (void)β lock the static data. protect the bag πstatic void staticDataUnlock (void)β unlock it again. thank u, next.
π«Ά Additional Inherited Members π«Ά
π 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
}
π Protected Types inherited from SoBase
enum BaseFlags { IS_ENGINE = 0x01, IS_GROUP = 0x02 }
π Protected Attributes inherited from SoNode
uint32_t uniqueIdβ every node gets its own. main character energy, one of one π
π Protected Attributes inherited from SoFieldContainer
SbBool isBuiltInβ yes or no, is this thing built in?
π Static Protected Attributes inherited from SoNode
static uint32_t nextUniqueId = 0β the counter that hands out thoseuniqueIds. starts at0.static int nextActionMethodIndex = 0β same deal for action method indexes. also starts at0.
πΈ Detailed Description πΈ
SoVRMLVertexLine is the superclass for line based VRML geometry. it's giving "I'm the blueprint, the subclasses do the actual drawing" and honestly? iconic.
π Constructor & Destructor Documentation π
SoVRMLVertexLine::SoVRMLVertexLine (void ) [protected]
Constructor. it builds the thing π«Ά
It references color, colorPerVertex, coord, and SoVRMLVertexLine().
It's referenced by getFieldData(), and SoVRMLVertexLine().
SoVRMLVertexLine::~SoVRMLVertexLine () [protected], [virtual]
Destructor. it tears the thing back down. clean up your room bestie π§Ή
β¨ Member Function Documentation β¨
SoType SoVRMLVertexLine::getTypeId (void ) const [virtual]
Returns the type identification of an object derived from a class inheriting SoBase. this is literally the backbone of run-time type checking and "downward" casting, no cap.
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
}
}
okay so for the application programmers out there who want to extend the library with new nodes, engines, nodekits, draggers or whatever else β this method needs to be overridden in all subclasses. it's 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. iykyk π
Reimplemented from SoVRMLGeometry.
Reimplemented in SoVRMLIndexedLine, and SoVRMLIndexedLineSet.
const SoFieldData * SoVRMLVertexLine::getFieldData (void ) const [protected], [virtual]
Returns a pointer to the class-wide field data storage object for this instance. if there are no fields present, it returns NULL. that's it, that's the whole job π
Reimplemented from SoVRMLGeometry.
Reimplemented in SoVRMLIndexedLine, and SoVRMLIndexedLineSet.
References SoVRMLVertexLine().
void SoVRMLVertexLine::doAction (SoAction * action) [virtual]
This function performs the typical operation of a node for any action. the generalist. the "I got you for whatever" of node methods π
Reimplemented from SoNode.
References color, coord, SoNode::doAction(), and SoNode::SoNode().
Referenced by SoVRMLIndexedLineSet::generatePrimitives().
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 just want to throw geometry primitives at OpenGL, override this method. periodt.
Reimplemented from SoShape.
Reimplemented in SoVRMLIndexedLineSet.
References color, coord, SoNode::GLRender(), and SoNode::SoNode().
Referenced by SoVRMLIndexedLineSet::GLRender().
void SoVRMLVertexLine::getBoundingBox (SoGetBoundingBoxAction * action) [virtual]
Action method for the SoGetBoundingBoxAction.
Calculates bounding box and center coordinates for the 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. very considerate of it honestly π«Ά
Nodes influencing how geometry nodes calculate their bounding box also override this method to change the relevant state variables.
Reimplemented from SoShape.
Reimplemented in SoVRMLIndexedLineSet.
References SoNode::getBoundingBox().
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. lowkey the "tell me everything" button π
Reimplemented from SoShape.
References SoNode::callback().
void SoVRMLVertexLine::pick (SoPickAction * action) [virtual]
Action method for SoPickAction.
Does common processing for SoPickAction action instances.
Reimplemented from SoNode.
References SoNode::pick().
void SoVRMLVertexLine::notify (SoNotList * l) [virtual]
Notifies all auditors for this instance when changes are made. the group chat is getting a message, fr fr π£
Reimplemented from SoVRMLGeometry.
Reimplemented in SoVRMLIndexedLine.
References SoVRMLGeometry::notify().
Referenced by SoVRMLIndexedLine::notify().
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. (translation: bestie, this is not for you, it's for the library's own business π)
Reimplemented from SoVRMLGeometry.
References coord, and SoVRMLGeometry::shouldGLRender().
Referenced by SoVRMLIndexedLineSet::GLRender().
π¦ Member Data Documentation π¦
SoSFNode SoVRMLVertexLine::coord
Should contain an SoVRMLCoordinate node. yes, that one. the coordinates go here π«
Referenced by SoVRMLIndexedLine::computeBBox(), doAction(), GLRender(), shouldGLRender(), and SoVRMLVertexLine().
SoSFNode SoVRMLVertexLine::color
Can contain an SoVRMLColor node if multiple colors are wanted. one color per line is for cowards, this is the multi-color option π
Referenced by doAction(), SoVRMLIndexedLineSet::GLRender(), GLRender(), and SoVRMLVertexLine().
SoSFBool SoVRMLVertexLine::colorPerVertex
When TRUE, colors will be bound per vertex, otherwise per line. Default value is TRUE.
yes, the default is TRUE, so per-vertex is the vibe unless you say otherwise β¨
Referenced by SoVRMLVertexLine().
π Author π
Generated automatically by Doxygen for Coin from the source code. (it wasn't a human, it was the machine, and honestly it ate π )
and that's the whole page bestie! this was Coin, Version 2.5.0, page SoVRMLVertexLine(3) β go forth and render some lines, you absolute legend πΈππ¦
π¦ where this page comes from
- fedora 43: Coin2-devel 2.5.0-52.fc43 Β· GPL-2.0-only
- fedora 43: Coin2-devel 2.5.0-52.fc43 Β· GPL-2.0-only
- fedora 44: Coin2-devel 2.5.0-54.fc44 Β· GPL-2.0-only
- fedora 44: Coin2-devel 2.5.0-54.fc44 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms