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

SoLightKit — light nodekit class

Catalog Parts

       ┌─────────────────────────────────────────────────────────────┐
       │                          Allparts                          │
       │                                                     NULLby │
       │ PartNamePartTypeDefaultTypeDefault │
       │                                                             │
       │ callbackList   NodeKitListPart   --                   yes   │
       │ transform      Transform         --                   yes   │
       │ light          Light             DirectionalLight     no    │
       │ icon           Node              Cube                 yes   │
       │                                                             │
       └─────────────────────────────────────────────────────────────┘
       ┌────────────────────────────────────────────────────────────────┐
       │       Extrainformationforlistpartsfromabovetable        │
       │                                                                │
       │ PartNameContainerTypePermissibleTypes              │
       │                                                                │
       │ callbackList   Separator        Callback, EventCallback        │
       │                                                                │
       └────────────────────────────────────────────────────────────────┘

Description

       This nodekit class is used to create light nodes that have a local transformation and a geometry icon  to
       represent  the  light  source. SoLightKit adds three public parts to the basic nodekit: transform, light,
       and icon.

       SoLightKit creates an SoDirectionalLight as the light part by default -  all  other  parts  are  NULL  at
       creation.

       You can move the light relative to the rest of the scene by creating and editing the transform part.

       You can add a geometrical representation for the light by setting the icon part to be any scene graph you
       like.

       SoLightKit  also adds two private parts. An SoTransformSeparator contains the effect of transform to move
       only the light and icon, while allowing the light to illuminate the rest of the scene. The second private
       part is an SoSeparator, which keeps property nodes within the icon geometry from affecting  the  rest  of
       the scene. It also serves to cache the icon even when the light or transform is changing.

       SoLightKit  is  derived  from  SoBaseKit  and  thus also includes a callbackList part for adding callback
       nodes.

File Format/Defaults

LightKit{callbackListNULLtransformNULLlightDirectionalLight{}iconNULL}

Inherits From

       SoBase > SoFieldContainer > SoNode > SoBaseKit > SoLightKit

Methods

SoLightKit()
          Constructor.

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

     staticSoTypegetClassTypeId()
          Returns type identifier for this class.

Name

       SoLightKit — light nodekit class

Parts

(SoTransform)transform
          This part positions and orients the light and icon relative to the rest of the scene.  Its  effect  is
          kept  local to this nodekit by a private part of type SoTransformSeparator. The transform part is NULL
          by default. If you ask for transform using getPart(), an SoTransform will be returned. But you may set
          the part to be any subclass of SoTransform. For example, set the transform to be  an  SoDragPointManip
          and  the light to be an SoPointLight. Then you can move the light by dragging the manipulator with the
          mouse.

     (SoLight)light
          The  light  node  for  this  nodekit.  This  can  be  set  to  any  node  derived  from  SoLight.   An
          SoDirectionalLight  is  created  by  default,  and  it is also the type of light returned when the you
          request that the nodekit build a light for you.

     (SoNode)icon
          This part is a user-supplied scene graph that represents the light source. It is NULL by default —  an
          SoCube is created by the lightkit when a method requires it to build the part itself.

See Also

SoAppearanceKit,SoBaseKit,SoCameraKit,SoNodeKit,SoNodeKitDetail,SoNodeKitListPart,SoNodeKitPath,SoNodekitCatalog,SoSceneKit,SoSeparatorKit,SoShapeKit,SoWrapperKitSoLightKit(3IV)()

Synopsis

#include<Inventor/nodekits/SoLightKit.h>

          Parts from class SoLightKit:

     (SoTransform)transform(SoLight)light(SoNode)icon

          Parts from class SoBaseKit:

     (SoNodeKitListPart)callbackList

          Methods from class SoLightKit:

                         SoLightKit()staticconstSoNodekitCatalog*getClassNodekitCatalog()conststaticSoTypegetClassTypeId()

          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