table of contents
SoLightKit(3IV)() | SoLightKit(3IV)() |
NAME¶
SoLightKit — light nodekit class
INHERITS FROM¶
SoBase > SoFieldContainer > SoNode > SoBaseKit > SoLightKit
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()
static const SoNodekitCatalog * getClassNodekitCatalog()
const
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 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.
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.
METHODS¶
SoLightKit()
Constructor.
static const SoNodekitCatalog * getClassNodekitCatalog()
const
Returns an SoNodekitCatalog for the class SoLightKit.
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 |
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 |
callbackList | Separator | Callback, EventCallback |
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