SoLightKit — light nodekit class
Contents
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)