SoSeparatorKit(3)

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

πŸ’– SoSeparatorKit(3) β€” Coin manual, part 1 πŸ’–

okay bestie, grab your matcha because we're diving into the separator kit that runs the shape subgraph. no cap. 🫢


✨ NAME ✨

SoSeparatorKit β€” this class provides a typical set of nodes to influence a shape subgraph. like it's the backstage crew for your shape's main character moment. πŸ’…


🌸 SYNOPSIS 🌸

#include <Inventor/nodekits/SoSeparatorKit.h>

Inherits SoBaseKit.

Inherited by SoShapeKit, and SoWrapperKit.


πŸŽ€ Public Types πŸŽ€

  • enum CacheEnabled { OFF, ON, AUTO } β€” your cache vibe check: OFF, ON, or AUTO. pick your fighter. ✨

πŸ¦‹ Public Types inherited from SoNode πŸ¦‹

these are the node type flags you get from SoNode. they're giving legacy era energy but you need them. πŸ‘‘

enum NodeType { INVENTOR = 0x0000, VRML1 = 0x0001, VRML2 = 0x0002,
    INVENTOR_1 = 0x0004, INVENTOR_2_0 = 0x0008, INVENTOR_2_1 = 0x0010,
    INVENTOR_2_5 = 0x0020, INVENTOR_2_6 = 0x0040, COIN_1_0 = 0x0080,
    COIN_2_0 = 0x0100, EXTENSION = 0x0200, COIN_2_2 = 0x0400, COIN_2_3 =
    0x0800, COIN_2_4 = 0x1000, INVENTOR_5_0 = 0x2000, COIN_2_5 = 0x4000,
    COIN_3_0 = 0x8000, INVENTOR_6_0 = 0x10000, COIN_4_0 = 0x20000 }

πŸ’… Public Member Functions πŸ’…

these are the ones that are literally yours, bestie. πŸ’–

virtual SoType getTypeId (void) const
virtual const SoNodekitCatalog * getNodekitCatalog (void) const
SoSeparatorKit (void)

πŸ‘‘ Public Member Functions inherited from SoBaseKit πŸ‘‘

you also get all of these from SoBaseKit. it's giving rich auntie energy. πŸ’…

SoBaseKit (void)
virtual SoNode * getPart (const SbName &partname, SbBool makeifneeded)
SbString getPartString (const SoBase *part)
virtual SoNodeKitPath * createPathToPart (const SbName &partname, SbBool
    makeifneeded, const SoPath *pathtoextend=NULL)
virtual SbBool setPart (const SbName &partname, SoNode *from)
SbBool set (const char *namevaluepairliststring)
SbBool set (const char *partnamestring, const char *parameterstring)
virtual void doAction (SoAction *action)
virtual void callback (SoCallbackAction *action)
virtual void GLRender (SoGLRenderAction *action)
virtual void getBoundingBox (SoGetBoundingBoxAction *action)
virtual void getMatrix (SoGetMatrixAction *action)
virtual void handleEvent (SoHandleEventAction *action)
virtual void rayPick (SoRayPickAction *action)
virtual void search (SoSearchAction *action)
virtual void write (SoWriteAction *action)
virtual void getPrimitiveCount (SoGetPrimitiveCountAction *action)
virtual SoChildList * getChildren (void) const
void printDiagram (void)
void printSubDiagram (const SbName &rootname, int level)
void printTable (void)
virtual void addWriteReference (SoOutput *out, SbBool isfromfield=FALSE)
SbBool forceChildDrivenWriteRefs (SoOutput *out)

🌈 Public Member Functions inherited from SoNode 🌈

more inherited goodies from SoNode. it's a whole mood. πŸ¦‹

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 SbBool affectsState (void) const
virtual void GLRenderBelowPath (SoGLRenderAction *action)
virtual void GLRenderInPath (SoGLRenderAction *action)
virtual void GLRenderOffPath (SoGLRenderAction *action)
virtual void pick (SoPickAction *action)
virtual void audioRender (SoAudioRenderAction *action)
virtual void grabEventsSetup (void)
virtual void grabEventsCleanup (void)
virtual void startNotify (void)
virtual void notify (SoNotList *l)
SbUniqueId getNodeId (void) const
virtual void writeInstance (SoOutput *out)
virtual SoFieldContainer * copyThroughConnection (void) const

πŸ“ Public Member Functions inherited from SoFieldContainer πŸ“

field container energy. you inherit all of this. πŸ“

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

base class blessings. πŸ’œ

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
  • SbBool isOfType (SoType type) const β€” Returns TRUE if the type of this object is either of the same type or inherited from type. so like, if you're checking the family tree, it says yes if it matches or is a descendant. 🌈

⭐ Static Public Member Functions ⭐

static, so you can call them on the class itself. periodt. πŸ’…

static SoType getClassTypeId (void)
static const SoNodekitCatalog * getClassNodekitCatalog (void)
static void initClass (void)

✨ Static Public Member Functions inherited from SoBaseKit ✨

static SoType getClassTypeId (void)
static void initClass (void)
static const SoNodekitCatalog * getClassNodekitCatalog (void)
static SbBool isSearchingChildren (void)
static void setSearchingChildren (const SbBool newval)

🌸 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 SbUniqueId 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 void initClass (void) β€” Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. it's the "get ready" button. πŸ’–

πŸŽ€ 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 void initClass (void) β€” Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. same vibe as above. ✨
  • static SoType getClassTypeId (void) β€” This static method returns the SoType object associated with objects of this class. like a class ID card. πŸͺͺ

πŸ¦‹ 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)
  • 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. iconic. πŸ’…
  • static SoType getClassTypeId (void) β€” This static method returns the SoType object associated with objects of this class. yes, again. πŸ”₯

πŸ’… Public Attributes πŸ’…

  • SoSFEnum renderCaching
  • SoSFEnum boundingBoxCaching
  • SoSFEnum renderCulling
  • SoSFEnum pickCulling

πŸ‘‘ Protected Member Functions πŸ‘‘

virtual const SoFieldData * getFieldData (void) const
virtual ~SoSeparatorKit ()
virtual void setDefaultOnNonWritingFields (void)
virtual SbBool setUpConnections (SbBool onoff, SbBool doitalways=FALSE)

🌈 Protected Member Functions inherited from SoBaseKit 🌈

virtual ~SoBaseKit ()
virtual SoNode * addToCopyDict (void) const
virtual void copyContents (const SoFieldContainer *fromfc, SbBool
    copyconnections)
SoGroup * getContainerNode (const SbName &listname, SbBool
    makeifneeded=TRUE)
virtual SoNode * getAnyPart (const SbName &partname, SbBool
    makeifneeded, SbBool leafcheck=FALSE, SbBool publiccheck=FALSE)
virtual SoNodeKitPath * createPathToAnyPart (const SbName &partname,
    SbBool makeifneeded, SbBool leafcheck=FALSE, SbBool
    publiccheck=FALSE, const SoPath *pathtoextend=NULL)
virtual SbBool setAnyPart (const SbName &partname, SoNode *from, SbBool
    anypart=TRUE)
void createNodekitPartsList (void)
void createFieldList (void)
virtual void createDefaultParts (void)
const SoNodekitParts * getNodekitPartsList (void) const
const SbList< SoSFNode * > & getCatalogInstances (void) const
void catalogError (void)
virtual SbBool readInstance (SoInput *in, unsigned short flags)
void countMyFields (SoOutput *out)
virtual SbBool setPart (const int partNum, SoNode *node)

πŸ“ Protected Member Functions inherited from SoNode πŸ“

SoNode (void)
virtual ~SoNode ()

πŸ’œ 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
virtual SoNotRec createNotRec (void)

✨ Static Protected Member Functions ✨

static const SoFieldData ** getFieldDataPtr (void)
static const SoNodekitCatalog ** getClassNodekitCatalogPtr (void)

🫢 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

  • SoSFNode appearance
  • SoSFNode childList
  • SoSFNode pickStyle
  • SoSFNode texture2Transform
  • SoSFNode topSeparator
  • SoSFNode transform
  • SoSFNode units

🌸 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

🧚 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 tea on SoSeparatorKit: it's the class that hands you a whole little starter pack of nodes to influence a shape subgraph. like, everything you'd want to tweak a shape's vibe, pre-assembled. no cap. 🫢

Here's the nodekit structure β€” the entries that are new versus the parent class are marked with that little arrow prefix:

       CLASS SoSeparatorKit
       -->"this"
             "callbackList"
       -->   "topSeparator"
       -->      "pickStyle"
       -->      "appearance"
       -->      "units"
       -->      "transform"
       -->      "texture2Transform"
       -->      "childList"

(If you wanna know how that output formatting actually works, go peek at SoBaseKit::printDiagram() β€” it's all there. πŸ¦‹)

And now the detailed information on catalog parts, bestie:

       CLASS SoSeparatorKit
       PVT   "this",  SoSeparatorKit  ---
             "callbackList",  SoNodeKitListPart [ SoCallback, SoEventCallback ]
       PVT   "topSeparator",  SoSeparator  ---
             "pickStyle",  SoPickStyle  ---
             "appearance",  SoAppearanceKit  ---
             "units",  SoUnits  ---
             "transform",  SoTransform  ---
             "texture2Transform",  SoTexture2Transform  ---
             "childList",  SoNodeKitListPart [ SoShapeKit, SoSeparatorKit ]

(Yeah and for this one, SoBaseKit::printTable() is your girl for the output formatting details. ✨)


🌟 Member Enumeration Documentation 🌟

πŸŽ€ enum SoSeparatorKit::CacheEnabled

It's literally carrying the same values with the same semantics as the enum that has the same name over in SoSeparator. So if you want the real rundown, go read the docs for SoSeparator::CacheEnabled. πŸ’…


πŸ’… Constructor & Destructor Documentation πŸ’…

πŸ’– SoSeparatorKit::SoSeparatorKit (void )

Constructor. it makes one. iconic behaviour honestly.

πŸ¦‹ SoSeparatorKit::~SoSeparatorKit () [protected], [virtual]

Destructor. it cleans up after itself. main character exit. ✨


🌈 Member Function Documentation 🌈

⭐ SoType SoSeparatorKit::getClassTypeId (void ) [static]

This static method hands you back the SoType object that's associated with objects of this class. iykyk.

πŸ’œ SoType SoSeparatorKit::getTypeId (void ) const [virtual]

Returns the type identification of an object derived from a class that inherits SoBase. This is what makes runtime type checking and "downward" casting possible. periodt.

Reimplemented from SoBaseKit.

Reimplemented in SoShapeKit, and SoWrapperKit.

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

ok so this API member is considered internal to the library, because it's not likely to be of interest to the application programmer. ngl it's giving backstage pass only.

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

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

Gives you a pointer to the class-wide field data storage object for this instance. And if there are no fields present? It returns NULL. simple as that.

Reimplemented from SoBaseKit.

Reimplemented in SoShapeKit, and SoWrapperKit.

πŸŽ€ const SoNodekitCatalog * SoSeparatorKit::getClassNodekitCatalog (void ) [static]

Returns the nodekit catalog which defines the layout of this class' kit. the blueprint bestie. 🫢

✨ const SoNodekitCatalog * SoSeparatorKit::getNodekitCatalog (void ) const [virtual]

Returns the nodekit catalog which defines the layout of this class' kit.

Reimplemented from SoBaseKit.

Reimplemented in SoShapeKit, and SoWrapperKit.

πŸ¦‹ const SoNodekitCatalog ** SoSeparatorKit::getClassNodekitCatalogPtr (void ) [static], [protected]

Returns the pointer to the pointer of the nodekit catalog for this class. yes, a double pointer. it's giving inception but make it nodekits.

πŸ‘‘ void SoSeparatorKit::initClass (void ) [static]

Does the initialization that's common for all objects of the SoSeparatorKit class. That includes setting up the type system, among other things. the whole backstage setup before the show. πŸ’…

πŸ’– void SoSeparatorKit::setDefaultOnNonWritingFields (void ) [protected], [virtual]

heads up bestie: this method is unlikely to be of interest to the application programmer who doesn't want to extend the library with new custom nodekits or draggers. But if you are writing extensions, go read the info in the SoBaseKit class documentation. fr fr.

So this is a virtual method, and the code in it should call SoField::setDefault() with argument TRUE on part fields that should not be written upon scene graph export operations.

This is typically done when:

  1. field value is NULL and part is NULL by default
  2. it is a leaf SoGroup or SoSeparator node with no children
  3. it is a leaf listpart with no children and an SoGroup or SoSeparator container
  4. it is a non-leaf part and it is of SoGroup type and all fields are at their default values

Subclasses should usually override this to do additional settings for new member fields. And from the subclass, do remember to call "upwards" to your superclass' setDefaultOnNonWritingFields() method. don't leave your parent hanging. 😭

Reimplemented from SoBaseKit.

Reimplemented in SoShapeKit.

🌟 SbBool SoSeparatorKit::setUpConnections (SbBool onoff, SbBool doitalways = FALSE) [protected], [virtual]

Sets up all internal connections for instances of this class.

(This method will usually not be of interest to the application programmer, unless you want to extend the library with new custom nodekits or dragger classes. If that's you, see the SoBaseKit class documentation. 🫢)

Reimplemented from SoBaseKit.


πŸŽ€ Member Data Documentation πŸŽ€

πŸ’œ SoSFEnum SoSeparatorKit::renderCaching

See documentation for SoSeparator::renderCaching.

🌸 SoSFEnum SoSeparatorKit::boundingBoxCaching

See documentation for SoSeparator::boundingBoxCaching.

πŸ¦‹ SoSFEnum SoSeparatorKit::renderCulling

See documentation for SoSeparator::renderCulling.

✨ SoSFEnum SoSeparatorKit::pickCulling

See documentation for SoSeparator::pickCulling.


πŸ’… Author πŸ’…

Generated automatically by Doxygen for Coin from the source code. the robot wrote it, we just vibed it up. πŸ€–βœ¨


aaaand that's a wrap bestie!! πŸŽ€ this whole page is living in version 4.0.10, stamped Thu Jun 25 2026 00:00:00, and it's filed under SoSeparatorKit(3). go forth and build your shape subgraphs, you absolute icon. πŸ’–πŸ«ΆπŸ‘‘

πŸ“¦ where this page comes from