logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SoSceneKit — scene nodekit class

Catalog Parts

       ┌─────────────────────────────────────────────────────────┐
       │                        Allparts                        │
       │                                                 NULLby │
       │ PartNamePartTypeDefaultTypeDefault │
       │                                                         │
       │ callbackList   NodeKitListPart   --               yes   │
       │ cameraList     NodeKitListPart   --               yes   │
       │ lightList      NodeKitListPart   --               yes   │
       │ childList      NodeKitListPart   --               yes   │
       │                                                         │
       └─────────────────────────────────────────────────────────┘
       ┌────────────────────────────────────────────────────────────────┐
       │       Extrainformationforlistpartsfromabovetable        │
       │                                                                │
       │ PartNameContainerTypePermissibleTypes              │
       │                                                                │
       │ callbackList   Separator        Callback, EventCallback        │
       │ cameraList     Switch           CameraKit                      │
       │ lightList      Group            LightKit                       │
       │ childList      Group            ShapeKit, SeparatorKit         │
       │                                                                │
       └────────────────────────────────────────────────────────────────┘

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 listpart of SoCameraKit nodes. The list itself  is  an  SoNodeKitListPart,  and
       since  only  one  camera can be active at a time, the container of the listpart 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.

File Format/Defaults

SceneKit{callbackListNULLcameraListNodeKitListPart{containerTypeName"Switch"childTypeNames"CameraKit"containerNodeSwitch{whichChild0CameraKit{cameraPerspectiveCamera{}}}}lightListNULLchildListNULL}

Inherits From

       SoBase > SoFieldContainer > SoNode > SoBaseKit > SoSceneKit

Methods

SoSceneKit()
          Constructor.

     staticconstSoNodekitCatalog*getClassNodekitCatalog()const
          Returns an SoNodekitCatalog for the class SoSceneKit.

     intgetCameraNumber()voidsetCameraNumber(intcamNum)
          Gets  and sets current camera index. This index refers to which child is active in the cameraList part
          (SoSwitch node).

     staticSoTypegetClassTypeId()
          Returns type identifier for this class.

Name

       SoSceneKit — scene nodekit class

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.

See Also

SoAppearanceKit,SoBaseKit,SoCameraKit,SoLightKit,SoNodeKit,SoNodeKitDetail,SoNodeKitListPart,SoNodeKitPath,SoNodekitCatalog,SoSeparatorKit,SoShapeKit,SoWrapperKitSoSceneKit(3IV)()

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()staticconstSoNodekitCatalog*getClassNodekitCatalog()constintgetCameraNumber()voidsetCameraNumber(intcamNum)staticSoTypegetClassTypeId()

          Methods from class SoBaseKit:

     virtualconstSoNodekitCatalog*getNodekitCatalog()constvirtualSoNode*getPart(constSbName&partName,SbBoolmakeIfNeeded)SbStringgetPartString(constSoBase*part)virtualSoNodeKitPath*createPathToPart(constSbName&partName,SbBoolmakeIfNeeded,constSoPath*pathToExtend=NULL)virtualSbBoolsetPart(constSbName&partName,SoNode*newPart)SbBoolset(char*partName,char*parameters)SbBoolset(char*nameValuePairs)staticSbBoolisSearchingChildren()staticvoidsetSearchingChildren(SbBoolnewVal)

          Methods from class SoNode:

     voidsetOverride(SbBoolstate)SbBoolisOverride()constSoNode*copy(SbBoolcopyConnections=FALSE)constvirtualSbBoolaffectsState()conststaticSoNode*getByName(constSbName&name)staticintgetByName(constSbName&name,SoNodeList&list)

          Methods from class SoFieldContainer:

     voidsetToDefaults()SbBoolhasDefaultValues()constSbBoolfieldsAreEqual(constSoFieldContainer*fc)constvoidcopyFieldValues(constSoFieldContainer*fc,SbBoolcopyConnections=FALSE)voidget(SbString&fieldDataString)virtualintgetFields(SoFieldList&resultList)constvirtualSoField*getField(constSbName&fieldName)constSbBoolgetFieldName(constSoField*field,SbName&fieldName)constSbBoolisNotifyEnabled()constSbBoolenableNotify(SbBoolflag)

          Methods from class SoBase:

     voidref()voidunref()constvoidunrefNoDelete()constvoidtouch()virtualSoTypegetTypeId()constSbBoolisOfType(SoTypetype)constvirtualvoidsetName(constSbName&name)virtualSbNamegetName()const

          Macros from class SoBaseKit:

     SO_GET_PART(kit,partName,partClass)SO_CHECK_PART(kit,partName,partClass)

See Also