SoSceneKit(3IV)

SoSceneKit - scene nodekit class

As shipped in IRIX 6.5.30. Added in IRIX 6.5.22.

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

                                      Callback, EventCallback
      callbackList   Separator
                                      CameraKit
      cameraList     Switch
                                      LightKit
      lightList      Group
                                      ShapeKit, SeparatorKit
      childList      Group

     ________________________________________________________________
     |







                                                                     |









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