SOSCENEKIT(3iv)
πΈ NAME πΈ
SoSceneKit β scene nodekit class π
okay so quick vibe check: this is the SoSceneKit(3IV) page, and it's literally the nodekit that pulls your cameras, your lights and your objects into one whole scene. main character energy, no cap.
π¦ INHERITS FROM π¦
SoBase > SoFieldContainer > SoNode > SoBaseKit > SoSceneKit
it's giving "deep family tree" and honestly? iconic lineage.
β¨ SYNOPSIS β¨
#include <Inventor/nodekits/SoSceneKit.h>
π Parts from class SoSceneKit
(SoNodeKitListPart) cameraList
(SoNodeKitListPart) lightList
(SoNodeKitListPart) childList
π Parts from class SoBaseKit
(SoNodeKitListPart) callbackList
π Methods from class SoSceneKit
SoSceneKit()
static const SoNodekitCatalog *
getClassNodekitCatalog() const
int getCameraNumber()
void setCameraNumber(int camNum)
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 bestie, this nodekit is the one that organizes camera nodekits (SoCameraKit), light nodekits (SoLightKit), and object nodekits (SoShapeKit, SoSeparatorKit, and SoWrapperKit) into a whole scene. a scene is composed of a list of cameras, a list of lights, and a list of children. there are three parts created by this nodekit: cameraList, lightList, and childList. that's the trio. the holy trinity. π«Ά
the cameraList part is a list part of SoCameraKit nodes. the list itself is an SoNodeKitListPart, and since only one camera can be active at a time, the container of the list part is an SoSwitch node. use setCameraNumber(), and the scene kit will set the switch to make that camera active. so it's giving "one camera on aux at a time" π₯
the lightList part is a list of SoLightKit nodes. the lightList is used to illuminate the objects contained in the childList part. literally the lighting department. β¨
the childList part contains a set of SoSeparatorKit nodes. you can add any kind of SoSeparatorKit to this list, including SoShapeKit and SoWrapperKit. since each SoSeparatorKit in turn contains a childList, this part is used to describe a hierarchical scene. (see the reference page for SoSeparatorKit). all members of childList are lit by the lights in lightList and rendered by the active camera in cameraList. it's a whole ecosystem fr fr. π
π PARTS π
(SoNodeKitListPart)cameraListβ this part is anSoNodeKitListPart. it has a container that is anSoSwitchnode. the list may contain onlySoCameraKitnodekits. the active child of theSoSwitchis the active camera. this part isNULLby default, but is automatically created whenever you add a camera, as withsetPart("cameraList[0]", myNewCamera).(SoNodeKitListPart)lightListβ this part is anSoNodeKitListPartthat uses an defines anSoGroupas its container. the list may contain onlySoLightKitnodekits. addSoLightKitsto this list and they will light the members of thechildListof thisSoSceneKit. this part isNULLby default, but is automatically created when you add a light. π‘(SoNodeKitListPart)childListβ this part is anSoNodeKitListPartthat uses anSoGroupfor its container. the list may contain onlySoSeparatorKitnodekits or nodekits derived fromSoSeparatorKit(e.g.,SoShapeKitandSoWrapperKit). these children represent the objects in the scene. this part isNULLby default, but is automatically created whenever you add a child to thechildList. also, when asked to build a member of thechildList, the scenekit will build anSoShapeKitby default. so if thechildListpart isNULL, and you call:getPart("childList[0]", TRUE). the scene kit will create thechildListand add anSoShapeKitas the new element in the list. π
π METHODS π
SoSceneKit()β constructor. the classic. the origin story. β¨static const SoNodekitCatalog * getClassNodekitCatalog() constβ returns anSoNodekitCatalogfor the classSoSceneKit.int getCameraNumber()andvoid setCameraNumber(int camNum)β gets and sets current camera index. this index refers to which child is active in thecameraListpart (SoSwitchnode). πΈstatic SoType getClassTypeId()β returns type identifier for this class.
π CATALOG PARTS π
All parts
callbackListβ part type:NodeKitListPartβ default type:--βNULLby default: yescameraListβ part type:NodeKitListPartβ default type:--βNULLby default: yeslightListβ part type:NodeKitListPartβ default type:--βNULLby default: yeschildListβ part type:NodeKitListPartβ default type:--βNULLby default: yes
Extra information for list parts from above table
callbackListβ container type:Separatorβ permissible types:Callback,EventCallbackcameraListβ container type:Switchβ permissible types:CameraKitlightListβ container type:Groupβ permissible types:LightKitchildListβ container type:Groupβ permissible types:ShapeKit,SeparatorKit
π FILE FORMAT/DEFAULTS π
SceneKit {
callbackList NULL
cameraList NodeKitListPart {
containerTypeName "Switch" childTypeNames "CameraKit" containerNode Switch {
whichChild 0 CameraKit {
camera PerspectiveCamera {
}
}
}
}
lightList NULL
childList NULL
}
π«Ά SEE ALSO π«Ά
SoAppearanceKit, SoBaseKit, SoCameraKit, SoLightKit, SoNodeKit, SoNodeKitDetail, SoNodeKitListPart, SoNodeKitPath, SoNodekitCatalog, SoSeparatorKit, SoShapeKit, SoWrapperKit
ok that's the whole page, nothing skipped, every flag and signature intact π―
and that's a wrap on the SoSceneKit(3IV) page, bestie β source and version is the SoSceneKit(3IV)() footer, and yeah the date slot is literally empty, we're leaving it blank and mysterious on purpose πβ¨ go build your scene, you got this πππ¦
π¦ 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