SoNodeVisualize(3)

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

πŸŽ€ SoNodeVisualize(3) πŸŽ€ β€” straight outta the Coin manual, section 3

okay so bestie, welcome to the SoNodeVisualize(3) page. it's giving ✨profiler annex nodekit energy✨ and we're gonna read the whole thing together, no skimming, no skipping. let's go πŸ’–


🌸 NAME 🌸

SoNodeVisualize β€” the class that is, and I quote, yet to be documented. yes really. iconic mystery behavior. we still love her 🫢


πŸ¦‹ SYNOPSIS πŸ¦‹

okay first things first, you gotta pull in the header, like:

#include <Inventor/annex/Profiler/nodekits/SoNodeVisualize.h>

and fun fact: she Inherits SoBaseKit. so everything SoBaseKit can do, she can do too (and SoBaseKit itself is inheriting from SoNode, SoFieldContainer and SoBase, so it's a whole chain of slay πŸ’…).


πŸ’œ Public Member Functions πŸ’œ

these are the ones that are all hers, the main character moves πŸ‘‘

  • virtual SoType getTypeId (void) const β€” hands you the SoType of this thing.
  • virtual const SoNodekitCatalog * getNodekitCatalog (void) const β€” gives you back the nodekit catalog pointer.
  • SoNodeVisualize * visualize (SoNode *) β€” takes a SoNode * and visualizes it, returning a SoNodeVisualize *.
  • bool clicked () β€” tells you if something got clicked, as a bool.
  • void setAlternate (bool alternating=true) β€” sets the alternate thing; defaults to true if you don't pass anything.
  • bool nodeHasChildren () β€” bool answer to "does this node have children tho?"
  • unsigned int nodeNumChildren () β€” how many children, as an unsigned int.
  • bool isAlternating () const β€” are we alternating? bool, const, no notes.
  • virtual void handleEvent (SoHandleEventAction *action) β€” handles an event via a SoHandleEventAction *.
  • void traverse (SoProfilerStats *stats) β€” traverses, taking a SoProfilerStats *.

🧚 Public Member Functions inherited from SoBaseKit 🧚

she didn't invent these, she just vibes with them:

  • SoBaseKit (void) β€” constructor, no args.
  • virtual SoNode * getPart (const SbName &partname, SbBool makeifneeded) β€” grabs a part by name.
  • SbString getPartString (const SoBase *part) β€” gives you the part string.
  • virtual SoNodeKitPath * createPathToPart (const SbName &partname, SbBool makeifneeded, const SoPath *pathtoextend=NULL) β€” builds a nodekit path to a part; pathtoextend defaults to NULL.
  • virtual SbBool setPart (const SbName &partname, SoNode *from) β€” sets a part.
  • SbBool set (const char *namevaluepairliststring) β€” sets from a name/value pair list string.
  • SbBool set (const char *partnamestring, const char *parameterstring) β€” sets from a part name string plus a parameter string.
  • virtual void doAction (SoAction *action) β€” runs the action.
  • virtual void callback (SoCallbackAction *action) β€” the callback action one.
  • virtual void GLRender (SoGLRenderAction *action) β€” GL render time.
  • virtual void getBoundingBox (SoGetBoundingBoxAction *action) β€” bounding box action.
  • virtual void getMatrix (SoGetMatrixAction *action) β€” matrix action.
  • virtual void rayPick (SoRayPickAction *action) β€” ray pick action.
  • virtual void search (SoSearchAction *action) β€” search action.
  • virtual void write (SoWriteAction *action) β€” write action.
  • virtual void getPrimitiveCount (SoGetPrimitiveCountAction *action) β€” primitive count action.
  • virtual SoChildList * getChildren (void) const β€” children list, const.
  • void printDiagram (void) β€” prints the diagram.
  • void printSubDiagram (const SbName &rootname, int level) β€” prints a sub-diagram from a root name and a level.
  • void printTable (void) β€” prints the table.
  • virtual void addWriteReference (SoOutput *out, SbBool isfromfield=FALSE) β€” adds a write reference; isfromfield defaults to FALSE.
  • SbBool forceChildDrivenWriteRefs (SoOutput *out) β€” forces child-driven write refs.

⭐ Public Member Functions inherited from SoNode ⭐

  • void setOverride (const SbBool state) β€” sets the override state.
  • SbBool isOverride (void) const β€” are we overridden? const bool.
  • void setNodeType (const NodeType type) β€” sets the node type.
  • NodeType getNodeType (void) const β€” gets the node type.
  • virtual SoNode * copy (SbBool copyconnections=FALSE) const β€” copies; copyconnections defaults to FALSE.
  • virtual SbBool affectsState (void) const β€” does it affect state?
  • 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 pick (SoPickAction *action) β€” pick action.
  • virtual void audioRender (SoAudioRenderAction *action) β€” audio render action.
  • virtual void grabEventsSetup (void) β€” sets up event grabbing.
  • virtual void grabEventsCleanup (void) β€” cleans up event grabbing.
  • virtual void startNotify (void) β€” starts notify.
  • virtual void notify (SoNotList *l) β€” notifies with a SoNotList *.
  • SbUniqueId getNodeId (void) const β€” grabs the node id.
  • virtual void writeInstance (SoOutput *out) β€” writes the instance.
  • virtual SoFieldContainer * copyThroughConnection (void) const β€” copies through connection.

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

  • void setToDefaults (void) β€” resets everything to defaults.
  • SbBool hasDefaultValues (void) const β€” does it have default values?
  • SbBool fieldsAreEqual (const SoFieldContainer *container) const β€” are the fields equal to another container's?
  • void copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE) β€” copies field values; copyconnections defaults to FALSE.
  • SbBool set (const char *const fielddata) β€” sets from field data.
  • void get (SbString &fielddata) β€” gets field data into an SbString &.
  • virtual int getFields (SoFieldList &l) const β€” fills a field list.
  • virtual int getAllFields (SoFieldList &l) const β€” fills a list with all the fields.
  • virtual SoField * getField (const SbName &name) const β€” grabs a field by name.
  • virtual SoField * getEventIn (const SbName &name) const β€” grabs an event in by name.
  • virtual SoField * getEventOut (const SbName &name) const β€” grabs an event out by name.
  • SbBool getFieldName (const SoField *const field, SbName &name) const β€” gets the name of a field.
  • SbBool enableNotify (const SbBool flag) β€” toggles notify.
  • SbBool isNotifyEnabled (void) const β€” is notify on?
  • SbBool set (const char *fielddata, SoInput *input) β€” sets from field data with an input.
  • void get (SbString &fielddata, SoOutput *out) β€” gets field data with an output.
  • virtual SbBool validateNewFieldValue (SoField *field, void *newval) β€” validates a new field value.
  • SbBool getIsBuiltIn (void) const β€” is it built in?
  • virtual void getFieldsMemorySize (size_t &managed, size_t &unmanaged) const β€” reports field memory size in managed and unmanaged buckets.
  • 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 β€” refs it up.
  • void unref (void) const β€” unrefs it.
  • void unrefNoDelete (void) const β€” unrefs without deleting.
  • int32_t getRefCount (void) const β€” how many refs we got, as an int32_t.
  • void touch (void) β€” touches it.
  • SbBool isOfType (SoType type) const β€” Returns TRUE if the type of this object is either of the same type or inherited from type.
  • virtual SbName getName (void) const β€” gets the name.
  • virtual void setName (const SbName &newname) β€” sets the name.
  • void addAuditor (void *const auditor, const SoNotRec::Type type) β€” adds an auditor of a given type.
  • void removeAuditor (void *const auditor, const SoNotRec::Type type) β€” removes that auditor.
  • const SoAuditorList & getAuditors (void) const β€” hands you the auditor list.
  • SbBool shouldWrite (void) β€” should it write?
  • void assertAlive (void) const β€” asserts it's alive.

πŸ”₯ Static Public Member Functions πŸ”₯

  • static SoType getClassTypeId (void) β€” class type id, static style.
  • static const SoNodekitCatalog * getClassNodekitCatalog (void) β€” the class-level nodekit catalog.
  • static void initClass (void) β€” initializes the class.
  • static void cleanClass (void) β€” cleans up the class.
  • static SoNodeVisualize * visualizeTree (SoNode *node, int depth=-1) β€” visualizes a whole tree; depth defaults to -1.

🌈 Static Public Member Functions inherited from SoBaseKit 🌈

  • static SoType getClassTypeId (void) β€” class type id.
  • static void initClass (void) β€” initializes the class.
  • static const SoNodekitCatalog * getClassNodekitCatalog (void) β€” the class nodekit catalog.
  • static SbBool isSearchingChildren (void) β€” is it searching children?
  • static void setSearchingChildren (const SbBool newval) β€” sets the searching-children flag.

πŸ‘‘ Static Public Member Functions inherited from SoNode πŸ‘‘

  • static uint32_t getCompatibilityTypes (const SoType &nodetype) β€” compatibility types, as a uint32_t.
  • static SoType getClassTypeId (void) β€” class type id.
  • static SoNode * getByName (const SbName &name) β€” grab a node by name.
  • static int getByName (const SbName &name, SoNodeList &l) β€” grab nodes by name into a list, returns an int.
  • 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) β€” plural version, inits all the classes.
  • static SbUniqueId getNextNodeId (void) β€” the next node id.
  • static int getActionMethodIndex (const SoType type) β€” the action method index for a type.
  • static void getBoundingBoxS (SoAction *action, SoNode *node) β€” static bounding box.
  • 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 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) β€” Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
  • static SoType getClassTypeId (void) β€” This static method returns the SoType object associated with objects of this class.
  • static void cleanupClass (void) β€” cleans up the class.
  • static void initCopyDict (void) β€” inits the copy dictionary.
  • static void addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy) β€” registers an original and its copy.
  • static SoFieldContainer * checkCopy (const SoFieldContainer *orig) β€” checks a copy.
  • static SoFieldContainer * findCopy (const SoFieldContainer *orig, const SbBool copyconnections) β€” finds a copy, with a copyconnections flag.
  • static void copyDone (void) β€” copying is done, wrap it up.

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

  • static void initClass (void) β€” Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
  • static SoType getClassTypeId (void) β€” This static method returns the SoType object associated with objects of this class.
  • static void addName (SoBase *const base, const char *const name) β€” adds a name to a base.
  • static void removeName (SoBase *const base, const char *const name) β€” removes that name.
  • static void incrementCurrentWriteCounter (void) β€” bumps the current write counter.
  • static void decrementCurrentWriteCounter (void) β€” bumps it back down.
  • static SoBase * getNamedBase (const SbName &name, SoType type) β€” grabs a named base of a type.
  • static int getNamedBases (const SbName &name, SoBaseList &baselist, SoType type) β€” grabs named bases into a list, returns an int.
  • static SbBool read (SoInput *input, SoBase *&base, SoType expectedtype) β€” reads a base.
  • static void setInstancePrefix (const SbString &c) β€” sets the instance prefix.
  • static void setTraceRefs (SbBool trace) β€” toggles ref tracing.
  • static SbBool getTraceRefs (void) β€” are refs being traced?
  • static SbBool connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname) β€” connects a route from one node/field to another.
  • static SbBool readRoute (SoInput *input) β€” reads a route.

🧚 Protected Member Functions 🧚

these are the backstage ones, for the class and her subclasses only, iykyk 🀫

  • virtual const SoFieldData * getFieldData (void) const β€” gets the field data.
  • SoNodeVisualize (void) β€” the constructor.
  • virtual ~SoNodeVisualize () β€” the destructor.
  • SbVec2s getWidth () β€” gets the width as an SbVec2s.
  • void setupChildCatalog (SoNode *node, int depth) β€” sets up the child catalog for a node at a depth.
  • void visualizeSubTree (SoNode *node, int depth=-1) β€” visualizes a sub-tree; depth defaults to -1.
  • void recalculate () β€” recalcs.
  • SbVec2s recalculateWidth () β€” recalcs the width, returns SbVec2s.
  • SoNodeVisualize * getSoNodeVisualizeRoot () β€” gets the root SoNodeVisualize.
  • void internalAlternating (bool alternating, int direction) β€” internal alternating with a direction.
  • void reset () β€” resets.
  • SoNodeList * getChildGeometry () β€” gets the child geometry list.

🌸 Protected Member Functions inherited from SoBaseKit 🌸

  • virtual ~SoBaseKit () β€” destructor.
  • virtual SoNode * addToCopyDict (void) const β€” adds to the copy dictionary.
  • virtual void copyContents (const SoFieldContainer *fromfc, SbBool copyconnections) β€” copies contents from another field container.
  • SoGroup * getContainerNode (const SbName &listname, SbBool makeifneeded=TRUE) β€” gets a container node; makeifneeded defaults to TRUE.
  • virtual SoNode * getAnyPart (const SbName &partname, SbBool makeifneeded, SbBool leafcheck=FALSE, SbBool publiccheck=FALSE) β€” gets any part; leafcheck and publiccheck default to FALSE.
  • virtual SoNodeKitPath * createPathToAnyPart (const SbName &partname, SbBool makeifneeded, SbBool leafcheck=FALSE, SbBool publiccheck=FALSE, const SoPath *pathtoextend=NULL) β€” builds a path to any part; leafcheck and publiccheck default to FALSE, pathtoextend defaults to NULL.
  • virtual SbBool setAnyPart (const SbName &partname, SoNode *from, SbBool anypart=TRUE) β€” sets any part; anypart defaults to TRUE.
  • void createNodekitPartsList (void) β€” creates the nodekit parts list.
  • void createFieldList (void) β€” creates the field list.
  • virtual void createDefaultParts (void) β€” creates the default parts.
  • const SoNodekitParts * getNodekitPartsList (void) const β€” gets the nodekit parts list.
  • const SbList< SoSFNode * > & getCatalogInstances (void) const β€” gets the catalog instances list.
  • void catalogError (void) β€” a catalog oopsie handler.
  • virtual SbBool setUpConnections (SbBool onoff, SbBool doitalways=FALSE) β€” sets up connections; doitalways defaults to FALSE.
  • virtual SbBool readInstance (SoInput *in, unsigned short flags) β€” reads an instance.
  • virtual void setDefaultOnNonWritingFields (void) β€” sets defaults on non-writing fields.
  • void countMyFields (SoOutput *out) β€” counts my fields.
  • virtual SbBool setPart (const int partNum, SoNode *node) β€” sets a part by number.

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

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

πŸŽ€ Protected Member Functions inherited from SoFieldContainer πŸŽ€

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

⭐ Protected Member Functions inherited from SoBase ⭐

  • SoBase (void) β€” constructor.
  • virtual ~SoBase () β€” destructor.
  • virtual void destroy (void) β€” destroys it.
  • SbBool hasMultipleWriteRefs (void) const β€” does it have multiple write refs?
  • SbBool writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) const β€” writes the header.
  • void writeFooter (SoOutput *out) const β€” writes the footer.
  • virtual const char * getFileFormatName (void) const β€” gets the file format name.
  • virtual SoNotRec createNotRec (void) β€” creates a notification record.

πŸ”₯ Static Protected Member Functions πŸ”₯

  • static const SoFieldData ** getFieldDataPtr (void) β€” pointer to the field data pointer, yes really.
  • static const SoNodekitCatalog ** getClassNodekitCatalogPtr (void) β€” pointer to the class nodekit catalog pointer.

okay bestie that's the whole SYNOPSIS section and we are not done β€” there's more page coming πŸ’– don't go anywhere 🫢

Static Protected Member Functions inherited from SoBaseKit

  • static const SoFieldData ** getFieldDataPtr (void)
  • static const SoNodekitCatalog ** getClassNodekitCatalogPtr (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)

πŸ”’ Protected Attributes

Bestie these are the internals, the behind-the-scenes girlies. All twelve of them, no skips:

  • SoSFNode topSeparator
  • SoSFNode childrenVisible
  • SoSFNode color
  • SoSFNode texture
  • SoSFNode textureTransform
  • SoSFNode shape
  • SoSFNode rotSwitch
  • SoSFNode rotation
  • SoSFNode childGeometry
  • SoSFNode translation
  • SoSFNode lines
  • SoSFNode lineSep

Protected Attributes inherited from SoBaseKit

  • SoSFNode callbackList
  • SoChildList * children
  • SbBool connectionsSetUp

Protected Attributes inherited from SoNode

  • SbUniqueId uniqueId

Protected Attributes inherited from SoFieldContainer

  • SbBool isBuiltIn

✨ Additional Inherited Members ✨

The lore your girl carries with her from the ancestors πŸ’…

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 }

Protected Types inherited from SoBase

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

Static Protected Attributes inherited from SoNode

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

πŸ“– Detailed Description

Okay so the SoNodeVisualize class is yet to be documented. That's it. That's the whole vibe rn. 😭

FIXME: write doc.

Not me reading a manual page that just says "yeah idk yet" πŸ’€ iconic honestly.


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

SoNodeVisualize::SoNodeVisualize (void ) [protected]

Constructor πŸ’–

Girl, heads up: this constructor is not public, because it sets the class up in an internally inconsistent way. That's on purpose though β€” it's also what makes sure we don't try to analyze ourself, which, as we all know, may do strange things to our state. Very "don't look at your own reflection in the mirror at 3am" of it, lowkey.

FIXME: Should perhaps make a public constructor which takes the same parameters as visualize tree

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

Destructor ✨ bye bestie, you slayed while you were here 🫢


🌸 Member Function Documentation 🌸

SoType SoNodeVisualize::getClassTypeId (void ) [static]

This static method returns the SoType object associated with objects of this class. It's the "which one of the girlies are you" question, answered at compile-time-ish speed πŸ’…

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

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

Reimplemented from SoBaseKit.

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

Okay so this API member is considered internal to the library β€” it is not likely to be of interest to the application programmer. That's not me being shady, that's literally what it says. 🫣

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

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

Returns a pointer to the class-wide field data storage object for this instance. And if there are no fields present? Returns NULL. Yes bestie, NULL. That's the whole answer, no notes. 🌸

Reimplemented from SoBaseKit.

const SoNodekitCatalog * SoNodeVisualize::getClassNodekitCatalog (void ) [static]

Returns the nodekit catalog which defines the layout of this class' kit. It's the blueprint, the floor plan, the Pinterest board πŸ“Œ

const SoNodekitCatalog * SoNodeVisualize::getNodekitCatalog (void ) const [virtual]

Returns the nodekit catalog which defines the layout of this class' kit. (Same energy, but for this instance instead of the whole class, iykyk.)

Reimplemented from SoBaseKit.

const SoNodekitCatalog ** SoNodeVisualize::getClassNodekitCatalogPtr (void ) [static], [protected]

Returns the pointer to the pointer of the nodekit catalog for this class. Pointer to a pointer. P to the P. It's giving inception, it's giving layers, it's giving don't-touch-this-unless-you-know 🌈

void SoNodeVisualize::initClass (void ) [static]

Standard initialization for node catalog. Do the setup, get the girl ready for the party ✨

void SoNodeVisualize::cleanClass (void ) [static]

Static cleanup. We love a girl who cleans up after herself πŸ§ΉπŸ’–

bool SoNodeVisualize::clicked ()

Changes the state of a node with children. Click, and the whole family reacts. Very main character of it πŸ‘‘

void SoNodeVisualize::setAlternate (bool alternate = true)

Turns on the alternating direction state for all children. Every single one of them. No child left behind πŸŽ€

bool SoNodeVisualize::nodeHasChildren ()

Does the associated node have any children? Yes or no, that's the whole question, very direct, we respect it ⭐

unsigned int SoNodeVisualize::nodeNumChildren ()

Number of children of the associated node. A count. A number. A census of the little ones πŸ¦‹

void SoNodeVisualize::handleEvent (SoHandleEventAction * action) [virtual]

Checks for intersection with the shape part of the node. Is somebody clicking on this? We're checking, bestie. We're always checking. πŸ‘€

Reimplemented from SoBaseKit.

SbVec2s SoNodeVisualize::getWidth () [protected]

Returns the size of a bounding box for this subtree. How big is the whole situation? This big. πŸ“

void SoNodeVisualize::visualizeSubTree (SoNode * node, int depth = -1) [protected]

Visualizes a subtree, stops at depth 1. (Yes, literally "stops at depth 1" β€” that's what it says, and I'm not about to change a manual page's mind on it, fr fr.)

If no argument given, visualizes everything. The whole tree. Every branch. The audacity. 🌳

⚠️ WARNING: Although the default is to visualize everything, it is recommended to set a limit on how deep you want to traverse. If you go to deep, the memory requirements, and recalculation may become so heavy it grinds to a halt. Additionally it is difficult to see, when there is too much information on the screen at once.

No cap on that warning either. Unlimited depth is not the flex you think it is β€” your machine will simply pass away πŸ’€πŸ™ˆ

SbVec2s SoNodeVisualize::recalculateWidth () [protected]

Calculates the size of a bounding box for this subtree. Like getWidth() but doing the math fresh, the girl is doing the work herself πŸ’ͺ

SoNodeVisualize * SoNodeVisualize::getSoNodeVisualizeRoot () [protected]

Returns the uppermost connected parent. The top of the family tree. The original. The mother of the house πŸ‘‘

void SoNodeVisualize::internalAlternating (bool alternate, int direction) [protected]

Traverses all nodes, and turns on the alternating state,

May need a recalculation afterwards πŸ”

void SoNodeVisualize::reset () [protected]

Resets the data structure in anticipation of a reanalysis.

This puts the structure in the same inconsistent state as the empty constructor. Yeah, the weird inconsistent one from earlier. It's intentional. It's a feature. It's giving controlled chaos 🌈


πŸ‘‘ Author

Generated automatically by Doxygen for Coin from the source code. Not a human, not a bestie, just a very diligent robot who does not know how to write docs for SoNodeVisualize yet. Respect tho πŸ’–


That's the whole page babes β€” this was Coin version 4.0.10, dated Thu Jun 25 2026 00:00:00, filed under SoNodeVisualize(3). Go visualize responsibly, and please set a depth limit, I am begging πŸŽ€βœ¨πŸ«Ά

πŸ“¦ where this page comes from