Component for editing directional lights. More...
#include <Inventor/Xt/SoXtDirectionalLightEditor.h>
Public Member Functions | |
SoXtDirectionalLightEditor (SoWidget parent=NULL, const char *name=NULL, SbBool buildInsideParent=TRUE) | |
~SoXtDirectionalLightEditor () | |
void | attach (SoPath *pathToLight) |
void | detach () |
SbBool | isAttached () |
void | setLight (const SoDirectionalLight &newLight) |
const SoDirectionalLight & | getLight () const |
void | addLightChangedCallback (SoXtDirectionalLightEditorCB *f, void *userData=NULL) |
void | removeLightChangedCallback (SoXtDirectionalLightEditorCB *f, void *userData=NULL) |
virtual void | show () |
virtual void | hide () |
Component for editing directional lights.
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.
!!------------------------------------------------ !! Drectional Light Editor !! !!------------------------------------------------ *IvDirectLightTitle.labelString: Dir Light Editor *IvDirectLightIconTitle.labelString: Dir Light Ed *IvDirectLightInten.labelString: Inten *IvDirectLightColorEditor.labelString: Directional Light Color *IvDLMenuBar.IvEdit.labelString: Edit *IvDLMenuBar*IvControlPullDown*IvColorEditor.labelString: Color Editor *IvDLMenuBar*IvControlPullDown*IvCopy.labelString: Copy *IvDLMenuBar*IvControlPullDown*IvPaste.labelString: Paste *IvDLMenuBar*IvControlPullDown*IvHelp.labelString: Help
SoXtComponent, SoDirectionalLight
SoXtDirectionalLightEditor::SoXtDirectionalLightEditor | ( | SoWidget | parent = NULL , |
|
const char * | name = NULL , |
|||
SbBool | buildInsideParent = TRUE | |||
) |
Constructor.
SoXtDirectionalLightEditor::~SoXtDirectionalLightEditor | ( | ) |
Destructor.
void SoXtDirectionalLightEditor::addLightChangedCallback | ( | SoXtDirectionalLightEditorCB * | f, | |
void * | userData = NULL | |||
) | [inline] |
Adds lightChanged callback.
This is an additional way of using the directional light editor, by registering a callback and setting the light.
void SoXtDirectionalLightEditor::attach | ( | SoPath * | pathToLight | ) |
Attaches the editor to a directional light.
When attached, changes made in the editor directly affect the attached light.
void SoXtDirectionalLightEditor::detach | ( | ) |
Detaches the editor from a directional light.
const SoDirectionalLight& SoXtDirectionalLightEditor::getLight | ( | ) | const [inline] |
Gets the current light values.
virtual void SoXtDirectionalLightEditor::hide | ( | ) | [virtual] |
This hides the component.
Reimplemented from SoXtComponent.
SbBool SoXtDirectionalLightEditor::isAttached | ( | ) | [inline] |
Returns TRUE if the editor is attached.
void SoXtDirectionalLightEditor::removeLightChangedCallback | ( | SoXtDirectionalLightEditorCB * | f, | |
void * | userData = NULL | |||
) | [inline] |
Removes the lightChanged callback.
void SoXtDirectionalLightEditor::setLight | ( | const SoDirectionalLight & | newLight | ) |
Sets new light values.
virtual void SoXtDirectionalLightEditor::show | ( | ) | [virtual] |
This shows the component.
Reimplemented from SoXtComponent.