public class SoSceneKit extends SoBaseKit
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 .
NOTES:
SoCameraKit
. To allow the viewer to find this camera the application must explicitly allow searching inside nodekits by calling the SoBaseKit
static method setSearchingChildren. If the viewer does not find a camera in the scene graph it will create one automatically and attach to the created one.
SoCameraKit
, the viewer will not call its viewAll() method automatically. The application must make this call.
(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.
File format/default:
SceneKit {
callbackList | NULL | |||
cameraList NodeKitListPart { | ||||
containerTypeName | "Switch" | |||
childTypeNames | "CameraKit" | |||
containerNode | Switch { | |||
whichChild 0 | ||||
CameraKit { | ||||
camera PerspectiveCamera {} | ||||
} | ||||
} | ||||
} | ||||
lightList | NULL | |||
childList | NULL |
All Parts
Part Name | Part Type | Default Type | NULL 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 | Possible Types |
callbackList | Separator | Callback, EventCallback |
See also:
SoAppearanceKit
, SoBaseKit
, SoCameraKit
, SoLightKit
, SoNodeKit, SoNodeKitDetail
, SoNodeKitListPart
, SoNodeKitPath, SoNodekitCatalog
, SoSeparatorKit
, SoShapeKit
, SoWrapperKit
Inventor.ConstructorCommand
boundingBoxIgnoring
VERBOSE_LEVEL, ZeroHandle
Constructor and Description |
---|
SoSceneKit()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
int |
getCameraNumber()
Gets current camera index.
|
static SoNodekitCatalog |
getClassNodekitCatalog()
Returns the
SoNodekitCatalog for this class. |
void |
setCameraNumber(int camNum)
Sets current camera index.
|
getNodekitCatalog, getPart, getPart, getPartString, getViewportIsEnabled, getViewportOrigin, getViewportSize, isSearchingChildren, set, set, setPart, setSearchingChildren
affectsState, callback, copy, copy, distribute, doAction, getAlternateRep, getBoundingBox, getByName, getMatrix, getPrimitiveCount, getRenderUnitID, GLRender, GLRenderBelowPath, GLRenderInPath, GLRenderOffPath, grabEventsCleanup, grabEventsSetup, handleEvent, isBoundingBoxIgnoring, isOverride, pick, rayPick, search, setOverride, touch, write
copyFieldValues, copyFieldValues, enableNotify, fieldsAreEqual, get, getAllFields, getEventIn, getEventOut, getField, getFieldName, hasDefaultValues, isNotifyEnabled, setToDefaults
dispose, getEXTERNPROTO, getName, getPROTO, isDisposable, isSynchronizable, setName, setSynchronizable
getAddress, getNativeResourceHandle, startInternalThreads, stopInternalThreads
public static SoNodekitCatalog getClassNodekitCatalog()
SoNodekitCatalog
for this class.public void setCameraNumber(int camNum)
SoSwitch
node).public int getCameraNumber()
SoSwitch
node).Generated on January 23, 2025, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com