1SoLightKit(3IV)()                                            SoLightKit(3IV)()
2
3
4

NAME

6       SoLightKit — light nodekit class
7

INHERITS FROM

9       SoBase > SoFieldContainer > SoNode > SoBaseKit > SoLightKit
10

SYNOPSIS

12       #include <Inventor/nodekits/SoLightKit.h>
13
14          Parts from class SoLightKit:
15
16     (SoTransform)       transform
17     (SoLight)           light
18     (SoNode)            icon
19
20          Parts from class SoBaseKit:
21
22     (SoNodeKitListPart)  callbackList
23
24          Methods from class SoLightKit:
25
26                         SoLightKit()
27     static const SoNodekitCatalog *
28                         getClassNodekitCatalog() const
29     static SoType       getClassTypeId()
30
31          Methods from class SoBaseKit:
32
33     virtual const SoNodekitCatalog *
34                              getNodekitCatalog() const
35     virtual   SoNode   *         getPart(const   SbName   &partName,   SbBool
36                                   makeIfNeeded)
37     SbString                 getPartString(const SoBase *part)
38     virtual SoNodeKitPath *  createPathToPart(const SbName &partName,  SbBool
39                                   makeIfNeeded,  const SoPath *pathToExtend =
40                                   NULL)
41     virtual SbBool           setPart(const SbName &partName, SoNode *newPart)
42     SbBool                   set(char *partName, char *parameters)
43     SbBool                   set(char *nameValuePairs)
44     static SbBool            isSearchingChildren()
45     static void              setSearchingChildren(SbBool newVal)
46
47          Methods from class SoNode:
48
49     void                setOverride(SbBool state)
50     SbBool              isOverride() const
51     SoNode *            copy(SbBool copyConnections = FALSE) const
52     virtual SbBool      affectsState() const
53     static SoNode *     getByName(const SbName &name)
54     static int          getByName(const SbName &name, SoNodeList &list)
55
56          Methods from class SoFieldContainer:
57
58     void                setToDefaults()
59     SbBool              hasDefaultValues() const
60     SbBool              fieldsAreEqual(const SoFieldContainer *fc) const
61     void                copyFieldValues(const  SoFieldContainer  *fc,  SbBool
62                              copyConnections = FALSE)
63     void                get(SbString &fieldDataString)
64     virtual int         getFields(SoFieldList &resultList) const
65     virtual SoField *   getField(const SbName &fieldName) const
66     SbBool              getFieldName(const SoField *field, SbName &fieldName)
67                              const
68     SbBool              isNotifyEnabled() const
69     SbBool              enableNotify(SbBool flag)
70
71          Methods from class SoBase:
72
73     void                ref()
74     void                unref() const
75     void                unrefNoDelete() const
76     void                touch()
77     virtual SoType      getTypeId() const
78     SbBool              isOfType(SoType type) const
79     virtual void        setName(const SbName &name)
80     virtual SbName      getName() const
81
82          Macros from class SoBaseKit:
83
84     SO_GET_PART(kit, partName, partClass)
85     SO_CHECK_PART(kit, partName, partClass)
86
87

DESCRIPTION

89       This nodekit class is used to create light  nodes  that  have  a  local
90       transformation  and  a  geometry  icon  to  represent the light source.
91       SoLightKit adds three public parts to  the  basic  nodekit:  transform,
92       light, and icon.
93
94       SoLightKit creates an SoDirectionalLight as the light part by default -
95       all other parts are NULL at creation.
96
97       You can move the light relative to the rest of the  scene  by  creating
98       and editing the transform part.
99
100       You  can  add a geometrical representation for the light by setting the
101       icon part to be any scene graph you like.
102
103       SoLightKit also adds two private parts.  An  SoTransformSeparator  con‐
104       tains  the  effect  of transform to move only the light and icon, while
105       allowing the light to illuminate the rest of the scene. The second pri‐
106       vate part is an SoSeparator, which keeps property nodes within the icon
107       geometry from affecting the rest of the scene. It also serves to  cache
108       the icon even when the light or transform is changing.
109
110       SoLightKit is derived from SoBaseKit and thus also includes a callback‐
111       List part for adding callback nodes.
112

PARTS

114     (SoTransform)       transform
115          This part positions and orients the light and icon relative  to  the
116          rest  of  the  scene.  Its effect is kept local to this nodekit by a
117          private part of type SoTransformSeparator.  The  transform  part  is
118          NULL  by  default.  If  you  ask  for  transform using getPart(), an
119          SoTransform will be returned. But you may set the  part  to  be  any
120          subclass  of  SoTransform.  For  example, set the transform to be an
121          SoDragPointManip and the light to be an SoPointLight. Then  you  can
122          move the light by dragging the manipulator with the mouse.
123
124     (SoLight)           light
125          The light node for this nodekit. This can be set to any node derived
126          from SoLight. An SoDirectionalLight is created by default, and it is
127          also  the  type  of  light  returned  when  the you request that the
128          nodekit build a light for you.
129
130     (SoNode)            icon
131          This part is a user-supplied scene graph that represents  the  light
132          source. It is NULL by default — an SoCube is created by the lightkit
133          when a method requires it to build the part itself.
134
135

METHODS

137                         SoLightKit()
138          Constructor.
139
140     static const SoNodekitCatalog *
141                         getClassNodekitCatalog() const
142          Returns an SoNodekitCatalog for the class SoLightKit.
143
144     static SoType       getClassTypeId()
145          Returns type identifier for this class.
146
147

CATALOG PARTS

149       ┌────────────────────────────────────────────────────────────┐
150All parts                          
151NULL by 
152Part Name      Part Type         Default Type       Default 
153       │                                                            │
154       │callbackList   NodeKitListPart   --                   yes   │
155       │transform      Transform         --                   yes   │
156       │light          Light             DirectionalLight     no    │
157       │icon           Node              Cube                 yes   │
158       │                                                            │
159       └────────────────────────────────────────────────────────────┘
160       ┌───────────────────────────────────────────────────────────────┐
161Extra information for list parts from above table        
162       │                                                               │
163Part Name      Container Type   Permissible Types              
164       │                                                               │
165       │callbackList   Separator        Callback, EventCallback        │
166       │                                                               │
167       └───────────────────────────────────────────────────────────────┘

FILE FORMAT/DEFAULTS

169       LightKit {
170          callbackList  NULL
171          transform     NULL
172          light         DirectionalLight {
173          }
174
175          icon          NULL
176     }
177

SEE ALSO

179       SoAppearanceKit, SoBaseKit,  SoCameraKit,  SoNodeKit,  SoNodeKitDetail,
180       SoNodeKitListPart, SoNodeKitPath, SoNodekitCatalog, SoSceneKit, SoSepa‐
181       ratorKit, SoShapeKit, SoWrapperKit
182
183
184
185
186                                                             SoLightKit(3IV)()
Impressum