SOWRAPPERKIT(3iv)
π SoWrapperKit(3IV) π
okay bestie, sit down, hydrate, because today we're talking about SoWrapperKit from section 3IV of the manuals β the wrapper nodekit class, and honestly? she's giving β¨glow-upβ¨ energy. π¦
πΈ NAME πΈ
SoWrapperKit β the wrapper nodekit class. that's it, that's the name, she's literally just a little kit that wraps stuff. iconic. π
𧬠INHERITS FROM π§¬
the family tree is long, bestie, buckle up:
SoBase>SoFieldContainer>SoNode>SoBaseKit>SoSeparatorKit>SoWrapperKit
so yeah, she comes from a whole dynasty. royalty, basically. π
π SYNOPSIS π
first things first, you gotta let the compiler know she exists:
#include <Inventor/nodekits/SoWrapperKit.h>
β¨ Fields from class SoSeparatorKit β¨
SoSFEnum renderCaching
SoSFEnum boundingBoxCaching
SoSFEnum renderCulling
SoSFEnum pickCulling
π Parts from class SoWrapperKit π
(SoTransform) localTransform
(SoSeparator) contents
π§ 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 SoWrapperKit π
SoWrapperKit()
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. SoWrapperKit is derived from SoSeparatorKit, right? and what she adds β her whole main character moment β is the capability to wrap an arbitrary scene graph (non-nodekit, so like, the messy kind) within an SoSeparatorKit, so that it may be used along with other shape kits in a hierarchy. no cap. π«Ά
there are two additional parts included in SoWrapperKit: localTransform and contents.
the part contents is an SoSeparator node beneath which any arbitrary scene graph can be added. this is especially useful for importing scene graphs of unknown structure (non-nodekits) into nodekit format. it's giving "let me translate your chaos into my aesthetic". π
and since an SoWrapperKit is a class descended from SoSeparatorKit, it may be put into another SoSeparatorKit's childList. she's social like that. she fits in. π¦
π§© PARTS π§©
(SoTransform)localTransformβ this part is anSoTransformnode that is used to affect the scene graph defined in thecontentspart. this part is NULL by default and is automatically created if requested. she's lowkey shy until you ask. π(SoSeparator)contentsβ this part is anSoSeparatornode that contains a user-supplied scene graph. this scene graph can contain any nodes. this part is NULL by default and anSoSeparatoris automatically created if the user asks the nodekit to build the part. so she will show up, she's just waiting on you, bestie. β¨
π οΈ METHODS π οΈ
SoWrapperKit()β Constructor. the birth. the origin story. βstatic const SoNodekitCatalog * getClassNodekitCatalog() constβ returns anSoNodekitCatalogfor the classSoWrapperKit. it's the blueprint, the vibe check, the whole layout. πstatic SoType getClassTypeId()β returns the type identifier for this class. her ID card, fr fr. π
π CATALOG PARTS π
π All parts π
every single one, and yes they're all NULL by default. all of them. periodt.
callbackListβ part typeNodeKitListPart, default type--, NULL by default: yespickStyleβ part typePickStyle, default type--, NULL by default: yesappearanceβ part typeAppearanceKit, default type--, NULL by default: yesunitsβ part typeUnits, default type--, NULL by default: yestransformβ part typeTransform, default type--, NULL by default: yestexture2Transformβ part typeTexture2Transform, default type--, NULL by default: yeschildListβ part typeNodeKitListPart, default type--, NULL by default: yeslocalTransformβ part typeTransform, default type--, NULL by default: yescontentsβ part typeSeparator, default type--, NULL by default: yes
π Extra information for list parts from the table above π
the tea on the list parts specifically:
callbackListβ container type:Separator, permissible types:Callback,EventCallbackchildListβ container type:Separator, permissible types:ShapeKit,SeparatorKit
π FILE FORMAT/DEFAULTS π
here's exactly what she looks like on paper, don't change a single character:
WrapperKit {
renderCaching AUTO
boundingBoxCaching AUTO
renderCulling AUTO
pickCulling AUTO
callbackList NULL
pickStyle NULL
appearance NULL
units NULL
transform NULL
texture2Transform NULL
childList NULL
localTransform NULL
contents NULL
}
π SEE ALSO π
go read these too, they're all in the friend group:
SoAppearanceKit, SoBaseKit, SoCameraKit, SoLightKit, SoNodeKit, SoNodeKitDetail, SoNodeKitListPart, SoNodeKitPath, SoNodekitCatalog, SoSceneKit, SoSeparatorKit, SoShapeKit
π reminder bestie:localTransformandcontentsare both NULL by default, andlocalTransformonly gets auto-created if requested. don't come for me when your scene graph does nothing because you never asked her to build the part. π
and that's the whole page, no notes, you ate that. π«Άβ¨
SoWrapperKit(3IV) β that's the manual name, section 3IV, and this is the page footer energy: source SoWrapperKit(3IV), version tag (3IV)(), and no date listed on the page itself. byeee, go wrap something π
ππ¦
π¦ where this page comes from
- debian bookworm: inventor-doc 2.1.5-10+dfsg-2 Β· LGPL-2.0-or-later
- debian trixie: inventor-doc 2.1.6+ds-2 Β· LGPL-2.0-or-later
- ubuntu jammy: inventor-doc 2.1.5-10-24
- ubuntu noble: inventor-doc 2.1.5-10+dfsg-2.1build2 Β· LGPL-2.0-or-later
- ubuntu questing: inventor-doc 2.1.6+ds-2
- ubuntu resolute: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- ubuntu stonking: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms