SoXtDirectionalLightEditor — component for editing directional lights
Contents
Description
This class is used to edit an SoDirectionalLight node (color, intensity, and direction are changed). In
addition to directly editing directional light nodes, the editor can also be used with callbacks which
will be called whenever the light is changed. The component consists of a render area and a value slider
in the main window, with controls to display a color picker. In the render area there appears a sphere
representing the world, and a directional light manipulator representing the direction of the light.
Picking on the manipulator and moving the mouse provides direct manipulation of the light direction. The
color picker is used to edit the color, and the value slider edits the intensity.
The editor can currently be attached to only one light at a time. Attaching to two different lights will
automatically detach the first one before attaching the second.
Inherits From
SoXtComponent > SoXtDirectionalLightEditor
Methods
SoXtDirectionalLightEditor(Widgetparent=NULL,constchar*name=NULL,SbBoolbuildInsideParent=TRUE)~SoXtDirectionalLightEditor()
Constructor and destructor.
voidattach(SoPath*pathToLight)voiddetach()
Attach/detach the editor to/from a directional light. When attached, changes made in the editor
directly affect the attached light.
SbBoolisAttached()
Returns TRUE if the editor is attached.
voidaddLightChangedCallback(SoXtDirectionalLightEditorCB*f,void*userData=NULL)voidremoveLightChangedCallback(SoXtDirectionalLightEditorCB*f,void*userData=NULL)
Additional way of using the directional light editor, by registering a callback and setting the light.
voidsetLight(constSoDirectionalLight&newLight)constSoDirectionalLight&getLight()const
Set new light values, and get the current light values.
Name
SoXtDirectionalLightEditor — component for editing directional lights
See Also
SoXtComponent,SoDirectionalLightSoXtDirectionalLightEditor(3IV)()
Synopsis
#include<Inventor/Xt/SoXtDirectionalLightEditor.h>typedefvoidSoXtDirectionalLightEditorCB(void*userData,constSoDirectionalLight*light)
Methods from class SoXtDirectionalLightEditor:
SoXtDirectionalLightEditor(Widgetparent=NULL,constchar*name=NULL,SbBoolbuildInsideParent=TRUE)~SoXtDirectionalLightEditor()voidattach(SoPath*pathToLight)voiddetach()SbBoolisAttached()voidaddLightChangedCallback(SoXtDirectionalLightEditorCB*f,void*userData=NULL)voidremoveLightChangedCallback(SoXtDirectionalLightEditorCB*f,void*userData=NULL)voidsetLight(constSoDirectionalLight&newLight)constSoDirectionalLight&getLight()const
Methods from class SoXtComponent:
virtualvoidshow()virtualvoidhide()SbBoolisVisible()WidgetgetWidget()constSbBoolisTopLevelShell()constWidgetgetShellWidget()constWidgetgetParentWidget()constvoidsetSize(constSbVec2s&size)SbVec2sgetSize()Display*getDisplay()voidsetTitle(constchar*newTitle)constchar*getTitle()constvoidsetIconTitle(constchar*newIconTitle)constchar*getIconTitle()constvoidsetWindowCloseCallback(SoXtComponentCB*func,void*data=NULL)staticSoXtComponent*getComponent(Widgetw)constchar*getWidgetName()constconstchar*getClassName()const