1SoSceneKit(3IV)() SoSceneKit(3IV)()
2
3
4
6 SoSceneKit — scene nodekit class
7
9 SoBase > SoFieldContainer > SoNode > SoBaseKit > SoSceneKit
10
12 #include <Inventor/nodekits/SoSceneKit.h>
13
14 Parts from class SoSceneKit:
15
16 (SoNodeKitListPart) cameraList
17 (SoNodeKitListPart) lightList
18 (SoNodeKitListPart) childList
19
20 Parts from class SoBaseKit:
21
22 (SoNodeKitListPart) callbackList
23
24 Methods from class SoSceneKit:
25
26 SoSceneKit()
27 static const SoNodekitCatalog *
28 getClassNodekitCatalog() const
29 int getCameraNumber()
30 void setCameraNumber(int camNum)
31 static SoType getClassTypeId()
32
33 Methods from class SoBaseKit:
34
35 virtual const SoNodekitCatalog *
36 getNodekitCatalog() const
37 virtual SoNode * getPart(const SbName &partName, SbBool
38 makeIfNeeded)
39 SbString getPartString(const SoBase *part)
40 virtual SoNodeKitPath * createPathToPart(const SbName &partName, SbBool
41 makeIfNeeded, const SoPath *pathToExtend =
42 NULL)
43 virtual SbBool setPart(const SbName &partName, SoNode *newPart)
44 SbBool set(char *partName, char *parameters)
45 SbBool set(char *nameValuePairs)
46 static SbBool isSearchingChildren()
47 static void setSearchingChildren(SbBool newVal)
48
49 Methods from class SoNode:
50
51 void setOverride(SbBool state)
52 SbBool isOverride() const
53 SoNode * copy(SbBool copyConnections = FALSE) const
54 virtual SbBool affectsState() const
55 static SoNode * getByName(const SbName &name)
56 static int getByName(const SbName &name, SoNodeList &list)
57
58 Methods from class SoFieldContainer:
59
60 void setToDefaults()
61 SbBool hasDefaultValues() const
62 SbBool fieldsAreEqual(const SoFieldContainer *fc) const
63 void copyFieldValues(const SoFieldContainer *fc, SbBool
64 copyConnections = FALSE)
65 void get(SbString &fieldDataString)
66 virtual int getFields(SoFieldList &resultList) const
67 virtual SoField * getField(const SbName &fieldName) const
68 SbBool getFieldName(const SoField *field, SbName &fieldName)
69 const
70 SbBool isNotifyEnabled() const
71 SbBool enableNotify(SbBool flag)
72
73 Methods from class SoBase:
74
75 void ref()
76 void unref() const
77 void unrefNoDelete() const
78 void touch()
79 virtual SoType getTypeId() const
80 SbBool isOfType(SoType type) const
81 virtual void setName(const SbName &name)
82 virtual SbName getName() const
83
84 Macros from class SoBaseKit:
85
86 SO_GET_PART(kit, partName, partClass)
87 SO_CHECK_PART(kit, partName, partClass)
88
89
91 This nodekit is used to organize camera, (SoCameraKit), light,
92 (SoLightKit), and object, (SoShapeKit, SoSeparatorKit, and SoWrap‐
93 perKit) nodekits into a scene. A scene is composed of a list of cam‐
94 eras, a list of lights, and a list of children. There are three parts
95 created by this nodekit: cameraList, lightList, and childList.
96
97 The cameraList part is a list part of SoCameraKit nodes. The list
98 itself is an SoNodeKitListPart, and since only one camera can be active
99 at a time, the container of the list part is an SoSwitch node. Use set‐
100 CameraNumber(), and the scene kit will set the switch to make that cam‐
101 era active.
102
103 The lightList part is a list of SoLightKit nodes. The lightList is used
104 to illuminate the objects contained in the childList part.
105
106 The childList part contains a set of SoSeparatorKit nodes. You can add
107 any kind of SoSeparatorKit to this list, including SoShapeKit and
108 SoWrapperKit. Since each SoSeparatorKit in turn contains a childList,
109 this part is used to describe a hierarchical scene. (See the reference
110 page for SoSeparatorKit). All members of childList are lit by the
111 lights in lightList and rendered by the active camera in cameraList.
112
114 (SoNodeKitListPart) cameraList
115 This part is an SoNodeKitListPart It has a container that is an
116 SoSwitch node. The list may contain only SoCameraKit nodekits. The
117 active child of the SoSwitch is the active camera. This part is NULL
118 by default, but is automatically created whenever you add a camera,
119 as with setPart("cameraList[0]", myNewCamera) .
120
121 (SoNodeKitListPart) lightList
122 This part is an SoNodeKitListPart that uses an defines an SoGroup as
123 its container The list may contain only SoLightKit nodekits. Add
124 SoLightKits to this list and they will light the members of the
125 childList of this SoSceneKit. This part is NULL by default, but is
126 automatically created when you add a light.
127
128 (SoNodeKitListPart) childList
129 This part is an SoNodeKitListPart that uses an SoGroup for its con‐
130 tainer. The list may contain only SoSeparatorKit nodekits or nodek‐
131 its derived from SoSeparatorKit (e.g., SoShapeKit and SoWrapperKit).
132 These children represent the objects in the scene. This part is NULL
133 by default, but is automatically created whenever you add a child to
134 the childList. Also, when asked to build a member of the childList,
135 the scenekit will build an SoShapeKit by default. So if the
136 childList part is NULL, and you call: getPart("childList[0]", TRUE)
137 . the scene kit will create the childList and add an SoShapeKit as
138 the new element in the list.
139
140
142 SoSceneKit()
143 Constructor.
144
145 static const SoNodekitCatalog *
146 getClassNodekitCatalog() const
147 Returns an SoNodekitCatalog for the class SoSceneKit.
148
149 int getCameraNumber()
150 void setCameraNumber(int camNum)
151 Gets and sets current camera index. This index refers to which child
152 is active in the cameraList part (SoSwitch node).
153
154 static SoType getClassTypeId()
155 Returns type identifier for this class.
156
157
159 ┌────────────────────────────────────────────────────────┐
160 │ All parts │
161 │ NULL by │
162 │Part Name Part Type Default Type Default │
163 │ │
164 │callbackList NodeKitListPart -- yes │
165 │cameraList NodeKitListPart -- yes │
166 │lightList NodeKitListPart -- yes │
167 │childList NodeKitListPart -- yes │
168 │ │
169 └────────────────────────────────────────────────────────┘
170 ┌───────────────────────────────────────────────────────────────┐
171 │ Extra information for list parts from above table │
172 │ │
173 │Part Name Container Type Permissible Types │
174 │ │
175 │callbackList Separator Callback, EventCallback │
176 │cameraList Switch CameraKit │
177 │lightList Group LightKit │
178 │childList Group ShapeKit, SeparatorKit │
179 │ │
180 └───────────────────────────────────────────────────────────────┘
182 SceneKit {
183 callbackList NULL
184 cameraList NodeKitListPart {
185 containerTypeName "Switch" childTypeNames "CameraKit" containerNode Switch {
186 whichChild 0 CameraKit {
187 camera PerspectiveCamera {
188 }
189 }
190 }
191 }
192
193 lightList NULL
194 childList NULL
195 }
196
198 SoAppearanceKit, SoBaseKit, SoCameraKit, SoLightKit, SoNodeKit, SoN‐
199 odeKitDetail, SoNodeKitListPart, SoNodeKitPath, SoNodekitCatalog,
200 SoSeparatorKit, SoShapeKit, SoWrapperKit
201
202
203
204
205 SoSceneKit(3IV)()