SOSEPARATORKIT(3iv)

πŸ’… SoSeparatorKit(3IV) πŸ’…

okay bestie, this is the manual page for SoSeparatorKit(3IV) β€” and we're about to make it make sense. no cap, it's giving nodekit royalty. πŸ‘‘


✨ NAME ✨

SoSeparatorKit β€” separator nodekit class. that's the whole vibe. πŸŽ€


🌸 INHERITS FROM 🌸

SoBase > SoFieldContainer > SoNode > SoBaseKit > SoSeparatorKit

so it's literally descended from a whole line of iconic base classes. periodt.


πŸ¦‹ SYNOPSIS πŸ¦‹

#include <Inventor/nodekits/SoSeparatorKit.h>
enum CacheEnabled {
     SoSeparatorKit::OFF   Never build or use a cache
     SoSeparatorKit::ON    Always try to build a cache
     SoSeparatorKit::AUTO  Automatic caching
}

Fields from class SoSeparatorKit:

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

Parts from class SoSeparatorKit:

  • (SoPickStyle) pickStyle
  • (SoAppearanceKit) appearance
  • (SoUnits) units
  • (SoTransform) transform
  • (SoTexture2Transform) texture2Transform
  • (SoNodeKitListPart) childList

Parts from class SoBaseKit:

  • (SoNodeKitListPart) callbackList

Methods from class SoSeparatorKit:

  • SoSeparatorKit()
  • static const SoNodekitCatalog * getClassNodekitCatalog() const
  • static SoType getClassTypeId()

Methods from class SoBaseKit:

  • virtual const SoNodekitCatalog * getNodekitCatalog() const
  • 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 *newPart)
  • SbBool set(char *partName, char *parameters)
  • SbBool set(char *nameValuePairs)
  • static SbBool isSearchingChildren()
  • static void setSearchingChildren(SbBool newVal)

Methods from class SoNode:

  • void setOverride(SbBool state)
  • SbBool isOverride() const
  • SoNode * copy(SbBool copyConnections = FALSE) const
  • virtual SbBool affectsState() const
  • static SoNode * getByName(const SbName &name)
  • static int getByName(const SbName &name, SoNodeList &list)

Methods from class SoFieldContainer:

  • void setToDefaults()
  • SbBool hasDefaultValues() const
  • SbBool fieldsAreEqual(const SoFieldContainer *fc) const
  • void copyFieldValues(const SoFieldContainer *fc, SbBool copyConnections = FALSE)
  • void get(SbString &fieldDataString)
  • virtual int getFields(SoFieldList &resultList) const
  • virtual SoField * getField(const SbName &fieldName) const
  • SbBool getFieldName(const SoField *field, SbName &fieldName) const
  • SbBool isNotifyEnabled() const
  • SbBool enableNotify(SbBool flag)

Methods from class SoBase:

  • void ref()
  • void unref() const
  • void unrefNoDelete() const
  • void touch()
  • virtual SoType getTypeId() const
  • SbBool isOfType(SoType type) const
  • virtual void setName(const SbName &name)
  • virtual SbName getName() const

Macros from class SoBaseKit:

  • SO_GET_PART(kit, partName, partClass)
  • SO_CHECK_PART(kit, partName, partClass)

πŸ’– DESCRIPTION πŸ’–

so SoSeparatorKit is a nodekit that's used for creating nodekit hierarchies. it contains a transform part, a childList part, and a few others in its catalog. the transform part (an SoTransform node) affects all of the children in the childList. each of these children must be an SoSeparatorKit or from a class that is derived from SoSeparatorKit (e.g., SoShapeKit and SoWrapperKit). since all members of the childList are in turn SoSeparatorKits, and each contains a transform, these nested lists allow you to create a hierarchy of motion, in which each transform affects an entire subgraph of nodekits. it's giving fractal energy, fr fr. 🌈

the other parts added to the catalog for the SoSeparatorKit are pickStyle, appearance, units and texture2Transform. furthermore, since SoSeparator is derived from SoBaseKit, it inherits the callbackList part. this is a list of SoCallback and/or SoEventCallback nodes which enable the SoSeparatorKit to perform special callbacks whenever an action is applied to it. πŸ”₯

by creating the pickStyle part, a user can alter the pick style for the entire nodekit hierarchy. the appearance part is an SoAppearanceKit nodekit. note that all parts contained in the SoAppearanceKit catalog can be accessed as if they were part of the SoSeparatorKit. for example:

myMtl = mySepKit->getPart("material",TRUE)

and

mySepKit->setPart("material",myMtl)

see SoBaseKit for further explanation. bestie, it's all connected. 🫢


πŸ‘‘ FIELDS πŸ‘‘

  • SoSFEnum renderCaching β€” Set render caching mode. Default is AUTO. πŸ’…
  • SoSFEnum boundingBoxCaching β€” Set bounding box caching mode. Default is ON. Setting this value to AUTO is equivalent to ON β€” automatic culling is not implemented. not me side-eyeing that limitation. 😭
  • SoSFEnum renderCulling β€” Set render culling mode. Default is OFF. Setting this value to AUTO is equivalent to ON β€” automatic culling is not implemented. same energy, no cap.
  • SoSFEnum pickCulling β€” Set pick culling mode. Default is AUTO. ⭐

πŸŽ€ PARTS πŸŽ€

  • (SoPickStyle) pickStyle β€” An SoPickStyle property node that can be used to set the picking style of its children. This part is NULL by default, but is created automatically if necessary. lowkey shy but shows up when needed. πŸ™ˆ
  • (SoAppearanceKit) appearance β€” An SoAppearanceKit nodekit which can be used to set the appearance properties of its children. This part is NULL by default, but is created automatically if necessary. main character appearance energy. πŸ’–
  • (SoUnits) units β€” An SoUnits node which can be used to set the types of units, (e.g., feet), of its children. This part is NULL by default, but is created automatically if necessary. we love a unit moment. πŸ¦‹
  • (SoTransform) transform β€” An SoTransform node which can be used to set the overall position, orientation, and scale of its children. This part is NULL by default, but is created automatically if necessary. it's giving glow-up for your whole subgraph. ✨
  • (SoTexture2Transform) texture2Transform β€” An SoTexture2Transform node which can be used to apply a transformation to any textures used by its children. This part is NULL by default, but is created automatically if necessary. texture slay. πŸ’…
  • (SoNodeKitListPart) childList β€” This part contains the children nodekits of this SoSeparatorKit. This part is a list part and can have multiple children. This part is NULL by default, but is created automatically when the first child is added to the childList. Also, when asked to build a member of the childList, the separatorKit will build an SoShapeKit by default. So if the childList part is NULL, and you call: getPart("childList[0]", TRUE), the separator kit will create the childList and add an SoShapeKit as the new element in the list. bestie, it literally auto-populates. iconic. πŸ‘‘

🌟 METHODS 🌟

  • SoSeparatorKit() β€” Constructor. hi hello welcome to the function. πŸŽ€
  • static const SoNodekitCatalog * getClassNodekitCatalog() const β€” Returns an SoNodekitCatalog for the class SoSeparatorKit. it's the blueprint, the map, the catalog. πŸ—ΊοΈ
  • static SoType getClassTypeId() β€” Returns type identifier for this class. you are seen, you are typed. πŸ’œ

πŸ”₯ CATALOG PARTS πŸ”₯

okay so here's the full parts table, exactly as it appears, no edits, no cap:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                           All parts                            β”‚
β”‚                                                        NULL by β”‚
β”‚ Part Name           Part Type           Default Type   Default β”‚
β”‚                                                                β”‚
β”‚ callbackList        NodeKitListPart     --               yes   β”‚
β”‚ pickStyle           PickStyle           --               yes   β”‚
β”‚ appearance          AppearanceKit       --               yes   β”‚
β”‚ units               Units               --               yes   β”‚
β”‚ transform           Transform           --               yes   β”‚
β”‚ texture2Transform   Texture2Transform   --               yes   β”‚
β”‚ childList           NodeKitListPart     --               yes   β”‚
β”‚                                                                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

and the extra info for the list parts from above table:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚       Extra information for list parts from above table        β”‚
β”‚                                                                β”‚
β”‚ Part Name      Container Type   Permissible Types              β”‚
β”‚                                                                β”‚
β”‚ callbackList   Separator        Callback, EventCallback        β”‚
β”‚ childList      Separator        ShapeKit, SeparatorKit         β”‚
β”‚                                                                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

periodt. πŸ’…


🌈 FILE FORMAT/DEFAULTS 🌈

SeparatorKit {
     renderCaching       AUTO
     boundingBoxCaching  AUTO
     renderCulling       AUTO
     pickCulling         AUTO
     callbackList        NULL
     pickStyle           NULL
     appearance          NULL
     units               NULL
     transform           NULL
     texture2Transform   NULL
     childList           NULL
}

look at those defaults, all cozy and NULL. πŸ“


πŸ’œ SEE ALSO πŸ’œ

SoAppearanceKit, SoBaseKit, SoCameraKit, SoLightKit, SoNodeKit, SoNodeKitDetail, SoNodeKitListPart, SoNodeKitPath, SoNodekitCatalog, SoSceneKit, SoShapeKit, SoWrapperKit

go read those too, bestie. the lore is deep. 🧚


and that's the whole page, fr fr. this was the SoSeparatorKit(3IV)() manual β€” source/version and date folded into the footer, but we're saying it with love at the very end: SoSeparatorKit(3IV)(). stay iconic. πŸ’–βœ¨πŸŽ€