SoSceneKit — scene nodekit class
Contents
Catalog Parts
┌─────────────────────────────────────────────────────────┐
│ Allparts │
│ NULLby │
│ PartNamePartTypeDefaultTypeDefault │
│ │
│ callbackList NodeKitListPart -- yes │
│ cameraList NodeKitListPart -- yes │
│ lightList NodeKitListPart -- yes │
│ childList NodeKitListPart -- yes │
│ │
└─────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────┐
│ Extrainformationforlistpartsfromabovetable │
│ │
│ PartNameContainerTypePermissibleTypes │
│ │
│ callbackList Separator Callback, EventCallback │
│ cameraList Switch CameraKit │
│ lightList Group LightKit │
│ childList Group ShapeKit, SeparatorKit │
│ │
└────────────────────────────────────────────────────────────────┘
Description
This nodekit is used to organize camera, (SoCameraKit), light, (SoLightKit), and object, (SoShapeKit,
SoSeparatorKit, and SoWrapperKit) nodekits into a 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.
The cameraList part is a listpart of SoCameraKit nodes. The list itself is an SoNodeKitListPart, and
since only one camera can be active at a time, the container of the listpart is an SoSwitch node. Use
setCameraNumber(), and the scene kit will set the switch to make that camera active.
The lightList part is a list of SoLightKit nodes. The lightList is used to illuminate the objects
contained in the childList part.
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.
File Format/Defaults
SceneKit{callbackListNULLcameraListNodeKitListPart{containerTypeName"Switch"childTypeNames"CameraKit"containerNodeSwitch{whichChild0CameraKit{cameraPerspectiveCamera{}}}}lightListNULLchildListNULL}Inherits From
SoBase > SoFieldContainer > SoNode > SoBaseKit > SoSceneKit
Methods
SoSceneKit()
Constructor.
staticconstSoNodekitCatalog*getClassNodekitCatalog()const
Returns an SoNodekitCatalog for the class SoSceneKit.
intgetCameraNumber()voidsetCameraNumber(intcamNum)
Gets and sets current camera index. This index refers to which child is active in the cameraList part
(SoSwitch node).
staticSoTypegetClassTypeId()
Returns type identifier for this class.
Name
SoSceneKit — scene nodekit class
Parts
(SoNodeKitListPart)cameraList
This part is an SoNodeKitListPart It has a container that is an SoSwitch node. The list may contain
only SoCameraKit nodekits. The active child of the SoSwitch is the active camera. This part is NULL by
default, but is automatically created whenever you add a camera, as with setPart("cameraList[0]",myNewCamera) .
(SoNodeKitListPart)lightList
This part is an SoNodeKitListPart that uses an defines an SoGroup as its container The list may
contain only SoLightKit nodekits. Add SoLightKits to this list and they will light the members of the
childList of this SoSceneKit. This part is NULL by default, but is automatically created when you add
a light.
(SoNodeKitListPart)childList
This part is an SoNodeKitListPart that uses an SoGroup for its container. The list may contain only
SoSeparatorKit nodekits or nodekits derived from SoSeparatorKit (e.g., SoShapeKit and SoWrapperKit).
These children represent the objects in the scene. This part is NULL by default, but is automatically
created whenever you add a child to the childList. Also, when asked to build a member of the
childList, the scenekit will build an SoShapeKit by default. So if the childList part is NULL, and you
call: getPart("childList[0]",TRUE) . the scene kit will create the childList and add an SoShapeKit as
the new element in the list.
See Also
SoAppearanceKit,SoBaseKit,SoCameraKit,SoLightKit,SoNodeKit,SoNodeKitDetail,SoNodeKitListPart,SoNodeKitPath,SoNodekitCatalog,SoSeparatorKit,SoShapeKit,SoWrapperKitSoSceneKit(3IV)()
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()staticconstSoNodekitCatalog*getClassNodekitCatalog()constintgetCameraNumber()voidsetCameraNumber(intcamNum)staticSoTypegetClassTypeId()
Methods from class SoBaseKit:
virtualconstSoNodekitCatalog*getNodekitCatalog()constvirtualSoNode*getPart(constSbName&partName,SbBoolmakeIfNeeded)SbStringgetPartString(constSoBase*part)virtualSoNodeKitPath*createPathToPart(constSbName&partName,SbBoolmakeIfNeeded,constSoPath*pathToExtend=NULL)virtualSbBoolsetPart(constSbName&partName,SoNode*newPart)SbBoolset(char*partName,char*parameters)SbBoolset(char*nameValuePairs)staticSbBoolisSearchingChildren()staticvoidsetSearchingChildren(SbBoolnewVal)
Methods from class SoNode:
voidsetOverride(SbBoolstate)SbBoolisOverride()constSoNode*copy(SbBoolcopyConnections=FALSE)constvirtualSbBoolaffectsState()conststaticSoNode*getByName(constSbName&name)staticintgetByName(constSbName&name,SoNodeList&list)
Methods from class SoFieldContainer:
voidsetToDefaults()SbBoolhasDefaultValues()constSbBoolfieldsAreEqual(constSoFieldContainer*fc)constvoidcopyFieldValues(constSoFieldContainer*fc,SbBoolcopyConnections=FALSE)voidget(SbString&fieldDataString)virtualintgetFields(SoFieldList&resultList)constvirtualSoField*getField(constSbName&fieldName)constSbBoolgetFieldName(constSoField*field,SbName&fieldName)constSbBoolisNotifyEnabled()constSbBoolenableNotify(SbBoolflag)
Methods from class SoBase:
voidref()voidunref()constvoidunrefNoDelete()constvoidtouch()virtualSoTypegetTypeId()constSbBoolisOfType(SoTypetype)constvirtualvoidsetName(constSbName&name)virtualSbNamegetName()const
Macros from class SoBaseKit:
SO_GET_PART(kit,partName,partClass)SO_CHECK_PART(kit,partName,partClass)