1SoSceneKit(3IV)()                                            SoSceneKit(3IV)()
2
3
4

NAME

6       SoSceneKit — scene nodekit class
7

INHERITS FROM

9       SoBase > SoFieldContainer > SoNode > SoBaseKit > SoSceneKit
10

SYNOPSIS

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

DESCRIPTION

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

PARTS

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

METHODS

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

CATALOG PARTS

159       ┌────────────────────────────────────────────────────────┐
160All parts                        
161NULL by 
162Part 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       ┌───────────────────────────────────────────────────────────────┐
171Extra information for list parts from above table        
172       │                                                               │
173Part 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       └───────────────────────────────────────────────────────────────┘

FILE FORMAT/DEFAULTS

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

SEE ALSO

198       SoAppearanceKit, SoBaseKit, SoCameraKit,  SoLightKit,  SoNodeKit,  SoN‐
199       odeKitDetail,   SoNodeKitListPart,   SoNodeKitPath,   SoNodekitCatalog,
200       SoSeparatorKit, SoShapeKit, SoWrapperKit
201
202
203
204
205                                                             SoSceneKit(3IV)()
Impressum