Component for editing directional lights. More...
#include <Inventor/Qt/SoQtDirectionalLightEditor.h>
Public Member Functions | |
SoQtDirectionalLightEditor (QWidget *parent=qApp->activeWindow(), const char *name=NULL, SbBool buildInsideParent=TRUE) | |
~SoQtDirectionalLightEditor () | |
void | attach (SoPath *pathToLight) |
void | detach () |
SbBool | isAttached () |
void | setLight (const SoDirectionalLight &newLight) |
const SoDirectionalLight & | getLight () const |
void | addLightChangedCallback (SoQtDirectionalLightEditorCB *f, void *userData=NULL) |
void | removeLightChangedCallback (SoQtDirectionalLightEditorCB *f, void *userData=NULL) |
virtual void | show () |
virtual void | hide () |
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.
SoQtComponent, SoDirectionalLight
SoQtDirectionalLightEditor::SoQtDirectionalLightEditor | ( | QWidget * | parent = qApp->activeWindow() , |
|
const char * | name = NULL , |
|||
SbBool | buildInsideParent = TRUE | |||
) |
Constructor.
SoQtDirectionalLightEditor::~SoQtDirectionalLightEditor | ( | ) |
Destructor.
void SoQtDirectionalLightEditor::addLightChangedCallback | ( | SoQtDirectionalLightEditorCB * | 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 SoQtDirectionalLightEditor::attach | ( | SoPath * | pathToLight | ) |
Attaches the editor to a directional light.
When attached, changes made in the editor directly affect the attached light.
void SoQtDirectionalLightEditor::detach | ( | ) |
Detaches the editor from a directional light.
const SoDirectionalLight& SoQtDirectionalLightEditor::getLight | ( | ) | const [inline] |
Gets the current light values.
virtual void SoQtDirectionalLightEditor::hide | ( | ) | [virtual] |
This hides the component.
Reimplemented from SoQtComponent.
SbBool SoQtDirectionalLightEditor::isAttached | ( | ) | [inline] |
Returns TRUE if the editor is attached.
void SoQtDirectionalLightEditor::removeLightChangedCallback | ( | SoQtDirectionalLightEditorCB * | f, | |
void * | userData = NULL | |||
) | [inline] |
Removes the lightChanged callback.
void SoQtDirectionalLightEditor::setLight | ( | const SoDirectionalLight & | newLight | ) |
Sets new light values.
virtual void SoQtDirectionalLightEditor::show | ( | ) | [virtual] |
This shows the component.
Reimplemented from SoQtComponent.