SoLightKit(3IV)

SoLightKit - light nodekit class

As shipped in IRIX 6.5.22. Added in IRIX 6.5.22.

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

                                      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