SoLightKit(3IV)NAMESoLightKit (SoLtKit) - light nodekit class
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoBaseKit > SoLightKitSYNOPSIS
#include <Inventor_c/nodekits/SoLightKit.h>
typedef SoLightKit SoLtKit
Parts from class SoLightKit:
(SoTransform) transform
(SoLight) light
(SoNode) icon
Parts from class SoBaseKit:
(SoNodeKitListPart) callbackList
Functions from class SoLightKit:
SoLightKit * SoLtKitCreate()
const SoNodekitCatalog * SoLtKitGetClassNkitCat()
SoType SoLtKitGetClassTypeId()
Functions from class SoBaseKit:
const SoNodekitCatalog * SoLtKitGetCat(const SoLtKit *this)
SoNode * SoLtKitGetPart(SoLtKit *this, const char
*partName, SbBool makeIfNeeded)
SbString SoLtKitGetPartString(SoLtKit *this, const
SoBase *part)
SoNodeKitPath * SoLtKitCreatePathToPart(SoLtKit *this, const
char *partName, SbBool makeIfNeeded, const
SoPath *pathToExtend = NULL)
SbBool SoLtKitSetPart(SoLtKit *this, const char
*partName, SoNode *newPart)
SbBool SoLtKitSet(SoLtKit *this, char *partName, char
*parameters)
SbBool SoLtKitSet2(SoLtKit *this, char
*nameValuePairs)
SbBool SoLtKitIsSearchingChildren()
void SoLtKitSetSearchingChildren(SbBool newVal)
Functions from class SoNode:
void SoLtKitSetOverride(SoLtKit *this, SbBool state)
SbBool SoLtKitIsOverride(const SoLtKit *this)
SoNode * SoLtKitCopy(const SoLtKit *this, SbBool
copyConnections = FALSE)
Page 1SoLightKit(3IV)
SbBool SoLtKitAffectsState(const SoLtKit *this)
SoNode * SoLtKitGetByName(const char *name)
int SoLtKitGetByNameList(const char *name, SoNodeList
*list)
Functions from class SoFieldContainer:
void SoLtKitSetToDflts(SoLtKit *this)
SbBool SoLtKitHasDfltVals(const SoLtKit *this)
SbBool SoLtKitFldsAreEq(const SoLtKit *this, const
SoFieldContainer *fc)
void SoLtKitCopyFieldVals(SoLtKit *this, const
SoFieldContainer *fc, SbBool copyConnections =
FALSE)
void SoLtKitGet(SoLtKit *this, SbString *fieldDataString)
int SoLtKitGetFields(const SoLtKit *this, SoFieldList
*resultList)
SoField * SoLtKitGetField(const SoLtKit *this, const char
*fieldName)
SbBool SoLtKitGetFieldName(const SoLtKit *this, const
SoField *field, SbName *fieldName)
SbBool SoLtKitIsNotifyEnabled(const SoLtKit *this)
SbBool SoLtKitEnableNotify(SoLtKit *this, SbBool flag)
Functions from class SoBase:
void SoLtKitRef(SoLtKit *this)
void SoLtKitUnref(const SoLtKit *this)
void SoLtKitUnrefNoDelete(const SoLtKit *this)
void SoLtKitTouch(SoLtKit *this)
SoType SoLtKitGetTypeId(const SoLtKit *this)
SbBool SoLtKitIsOfType(const SoLtKit *this, SoType type)
void SoLtKitSetName(SoLtKit *this, const char *name)
SbName SoLtKitGetName(const SoLtKit *this)
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
Page 2SoLightKit(3IV)
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.
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 SoKitGetPart(), 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.
FUNCTIONSSoLightKit * SoLtKitCreate()
Constructor.
const SoNodekitCatalog * SoLtKitGetClassNkitCat()
Returns an SoNodekitCatalog for the class SoLightKit.
SoType SoLtKitGetClassTypeId()
Returns type identifier for this class.
CATALOG PARTSPage 3SoLightKit(3IV)
_____________________________________________________________
All parts
NULL by
Part Name Part Type Default Type Default
callbackList NodeKitListPart -- yes
transform Transform -- yes
light Light DirectionalLight no
icon Node Cube yes
_____________________________________________________________
|
|
________________________________________________________________
Extra information for list parts from above table
Part Name Container Type Permissible Types
Callback, EventCallback
callbackList Separator
________________________________________________________________
|
|
FILE FORMAT/DEFAULTS
LightKit {
callbackList NULL
transform NULL
light DirectionalLight {
}
icon NULL
}
SEE ALSO
SoAppearanceKit, SoBaseKit, SoCameraKit, SoNodeKit, SoNodeKitDetail,
SoNodeKitListPart, SoNodeKitPath, SoNodekitCatalog, SoSceneKit,
SoSeparatorKit, SoShapeKit, SoWrapperKit
Page 4