---
name: "SoXtDirectionalLightEditor"
section: "3iv"
platform: "linux"
package: "inventor-doc"
version: "2.1.6+ds-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SoXtDirectionalLightEditor"
---

# SoXtDirectionalLightEditor(3iv)

component for editing directional lights

## NAME

SoXtDirectionalLightEditor — component for editing directional lights

## INHERITS FROM

SoXtComponent \> SoXtDirectionalLightEditor

## SYNOPSIS

**#include \<Inventor/Xt/SoXtDirectionalLightEditor.h\>**

**typedef void**	**SoXtDirectionalLightEditorCB(void \*userData, const SoDirectionalLight \*light)**

Methods from class SoXtDirectionalLightEditor:

	**SoXtDirectionalLightEditor(Widget parent = NULL, const char \*name = NULL, SbBool buildInsideParent = TRUE)**\
 	**~SoXtDirectionalLightEditor()**\
 **void**	**attach(SoPath \*pathToLight)**\
 **void**	**detach()**\
 **SbBool**	**isAttached()**\
 **void**	**addLightChangedCallback(SoXtDirectionalLightEditorCB \*f, void \*userData = NULL)**\
 **void**	**removeLightChangedCallback(SoXtDirectionalLightEditorCB \*f, void \*userData = NULL)**\
 **void**	**setLight(const SoDirectionalLight &newLight)**\
 **const SoDirectionalLight &**	**getLight() const**

Methods from class SoXtComponent:

**virtual void**	**show()**\
 **virtual void**	**hide()**\
 **SbBool**	**isVisible()**\
 **Widget**	**getWidget() const**\
 **SbBool**	**isTopLevelShell() const**\
 **Widget**	**getShellWidget() const**\
 **Widget**	**getParentWidget() const**\
 **void**	**setSize(const SbVec2s &size)**\
 **SbVec2s**	**getSize()**\
 **Display \***	**getDisplay()**\
 **void**	**setTitle(const char \*newTitle)**\
 **const char \***	**getTitle() const**\
 **void**	**setIconTitle(const char \*newIconTitle)**\
 **const char \***	**getIconTitle() const**\
 **void**	**setWindowCloseCallback(SoXtComponentCB \*func, void \*data = NULL)**\
 **static SoXtComponent \***	**getComponent(Widget w)**\
 **const char \***	**getWidgetName() const**\
 **const char \***	**getClassName() const**

## 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.

## METHODS

	**SoXtDirectionalLightEditor(Widget parent = NULL, const char \*name = NULL, SbBool buildInsideParent = TRUE)**\
 	**~SoXtDirectionalLightEditor()**\
 Constructor and destructor.

**void**	**attach(SoPath \*pathToLight)**\
 **void**	**detach()**\
 Attach/detach the editor to/from a directional light. When attached, changes made in the editor directly affect the attached light.

**SbBool**	**isAttached()**\
 Returns TRUE if the editor is attached.

**void**	**addLightChangedCallback(SoXtDirectionalLightEditorCB \*f, void \*userData = NULL)**\
 **void**	**removeLightChangedCallback(SoXtDirectionalLightEditorCB \*f, void \*userData = NULL)**\
 Additional way of using the directional light editor, by registering a callback and setting the light.

**void**	**setLight(const SoDirectionalLight &newLight)**\
 **const SoDirectionalLight &**	**getLight() const**\
 Set new light values, and get the current light values.

## SEE ALSO

**SoXtComponent, SoDirectionalLight**
