table of contents
SoSceneKit(3IV)() | SoSceneKit(3IV)() |
NAME¶
SoSceneKit — scene nodekit class
INHERITS FROM¶
SoBase > SoFieldContainer > SoNode > SoBaseKit > SoSceneKit
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¶
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 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.
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.
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.
METHODS¶
SoSceneKit()
Constructor.
static const SoNodekitCatalog * getClassNodekitCatalog()
const
Returns an SoNodekitCatalog for the class SoSceneKit.
int getCameraNumber()
void setCameraNumber(int camNum)
Gets and sets current camera index. This index refers to which child is active
in the cameraList part (SoSwitch node).
static SoType getClassTypeId()
Returns type identifier for this class.
CATALOG PARTS¶
All parts | |||
NULL by | |||
Part Name | Part Type | Default Type | Default |
callbackList | NodeKitListPart | -- | yes |
cameraList | NodeKitListPart | -- | yes |
lightList | NodeKitListPart | -- | yes |
childList | NodeKitListPart | -- | yes |
Extra information for list parts from above table | ||
Part Name | Container Type | Permissible Types |
callbackList | Separator | Callback, EventCallback |
cameraList | Switch | CameraKit |
lightList | Group | LightKit |
childList | Group | 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