Provided by: inventor-doc_2.1.5-10+dfsg-2.1build2_all bug

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

                                                                                               SoLightKit(3IV)()