1SoLightKit(3IV)() SoLightKit(3IV)()
2
3
4
6 SoLightKit — light nodekit class
7
9 SoBase > SoFieldContainer > SoNode > SoBaseKit > SoLightKit
10
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
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
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
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
149 ┌────────────────────────────────────────────────────────────┐
150 │ All parts │
151 │ NULL by │
152 │Part 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 ┌───────────────────────────────────────────────────────────────┐
161 │ Extra information for list parts from above table │
162 │ │
163 │Part Name Container Type Permissible Types │
164 │ │
165 │callbackList Separator Callback, EventCallback │
166 │ │
167 └───────────────────────────────────────────────────────────────┘
169 LightKit {
170 callbackList NULL
171 transform NULL
172 light DirectionalLight {
173 }
174
175 icon NULL
176 }
177
179 SoAppearanceKit, SoBaseKit, SoCameraKit, SoNodeKit, SoNodeKitDetail,
180 SoNodeKitListPart, SoNodeKitPath, SoNodekitCatalog, SoSceneKit, SoSepa‐
181 ratorKit, SoShapeKit, SoWrapperKit
182
183
184
185
186 SoLightKit(3IV)()