Component which lets you edit a material interactively. More...
#include <Inventor/Qt/SoQtMaterialEditor.h>
Public Types | |
enum | UpdateFrequency { CONTINUOUS , AFTER_ACCEPT } |
Update frequency. More... | |
Public Member Functions | |
SoQtMaterialEditor (QWidget *parent=qApp->activeWindow(), const char *name=NULL, SbBool buildInsideParent=TRUE) | |
Constructor. | |
~SoQtMaterialEditor () | |
Destructor. | |
void | attach (SoMaterial *material, int index=0) |
Attaches the editor to a material node and edits the material of the given index. | |
void | detach () |
Detaches the editor from the material node. | |
SbBool | isAttached () |
Returns TRUE if the editor is attached. | |
void | addMaterialChangedCallback (SoQtMaterialEditorCB *f, void *userData=NULL) |
Additional way of using the material editor, by registering a callback which will be called whenever the material changes (check the UpdateFrequency to find when the callbacks will be called). | |
void | removeMaterialChangedCallback (SoQtMaterialEditorCB *f, void *userData=NULL) |
Removes the material changed callback. | |
void | setUpdateFrequency (SoQtMaterialEditor::UpdateFrequency freq) |
Sets the update frequency. | |
SoQtMaterialEditor::UpdateFrequency | getUpdateFrequency () |
Gets the update frequency. | |
virtual void | show () |
This shows the component. | |
virtual void | hide () |
This hides the component. | |
void | setMaterial (const SoMaterial &mtl) |
Sets a new material value. | |
const SoMaterial & | getMaterial () const |
Gets the current material value. | |
Public Member Functions inherited from SoQtComponent | |
SbBool | isVisible () |
Returns TRUE if this component is mapped onto the screen. | |
virtual QWidget * | getWidget () const |
This returns the base widget handle for this component. | |
SbBool | isTopLevelShell () const |
Returns TRUE if this component is a top level shell component (has its own window). | |
QWidget * | getShellWidget () const |
Returns the topLevelShell widget handle (NULL if the topLevelShell hasn't been created by this component). | |
QWidget * | getParentWidget () const |
Returns the parent widget handle. | |
void | setSize (const SbVec2s &size) |
Convenience routine on the widget handle. | |
SbVec2s | getSize () |
Convenience routine on the widget handle. | |
virtual SbBool | setFullScreen (const SbBool enable) |
Switches the viewer into (or out of) fullscreen mode. | |
SbBool | isFullScreen (void) const |
Queries if the viewer is in fullscreen mode. | |
void | setFullScreenEnable (const SbBool enable) |
Enables/disables fullscreen mode. | |
SbBool | isFullScreenEnable (void) const |
Queries if it is possible to put the viewer in fullscreen mode. | |
SbGlContextHelper::Display | getDisplay () |
On UNIX, returns the X display associated with this components widget. | |
void | setTitle (const char *newTitle) |
Sets window title. | |
void | setTitle (const SbString &newTitle) |
Sets window title. | |
void | setTitle (const QString &newTitle) |
Sets window title. | |
const QString | getTitle () const |
Gets window title. | |
void | setIconTitle (const QString &newIconTitle) |
Included for portability only. | |
const QString | getIconTitle () const |
Included for portability only. | |
SbString | getWidgetName () const |
Returns the widget handle name. | |
SbString | getClassName () const |
Returns the class name. | |
void | setWindowCloseCallback (SoQtComponentCB *func, void *data=NULL) |
Sets which callback to call when the user closes this component (double click in the upper left corner) - by default hide() is called on this component, unless a callback is set to something other than NULL. | |
Public Attributes | |
SbBool | alwaysOnTop |
Boolean indicating if the editor should be always on top of the other windows. | |
SoQtMaterialPalette * | m_pMaterialPalette |
Pointer to a material palette editor. | |
Public Attributes inherited from SoQtComponent | |
SbString | helpFileName |
Name of help file to open when the viewer Help button is pressed. | |
Additional Inherited Members | |
Static Public Member Functions inherited from SoQtComponent | |
static SoQtComponent * | getComponent (QWidget *widget) |
Returns the SoQtComponent for this widget handle. | |
Component which lets you edit a material interactively.
This class is used to edit the material properties of an SoMaterial node. The editor can also directly be used using callbacks instead of attaching it to a node. The component consists of a render area displaying a test sphere, some sliders, a set of radio buttons, and a menu. The sphere displays the current material being edited. There is one slider for each material coefficient. Those fields are ambient, diffuse, specular, emissive (all of which are colors); and transparency and shininess (which are scalar values). A color editor can be opened to edit the color slider base color. A material list displays palettes of predefined materials from which to choose.
The editor can currently be attached to only one material at a time. Attaching two different materials will automatically detach the first one before attaching the second.
SoQtComponent, SoQtDirectionalLightEditor, SoMaterial
Definition at line 97 of file SoQtMaterialEditor.h.
Update frequency.
UpdateFrequency is how often new values should be sent to the node or the callback routine.
Enumerator | |
---|---|
CONTINUOUS | Send updates with every mouse motion. |
AFTER_ACCEPT | Only send updates after user hits accept button. |
Definition at line 106 of file SoQtMaterialEditor.h.
SoQtMaterialEditor::SoQtMaterialEditor | ( | QWidget * | parent = qApp->activeWindow() , |
const char * | name = NULL , |
||
SbBool | buildInsideParent = TRUE |
||
) |
Constructor.
SoQtMaterialEditor::~SoQtMaterialEditor | ( | ) |
Destructor.
|
inline |
Additional way of using the material editor, by registering a callback which will be called whenever the material changes (check the UpdateFrequency to find when the callbacks will be called).
Definition at line 355 of file SoQtMaterialEditor.h.
void SoQtMaterialEditor::attach | ( | SoMaterial * | material, |
int | index = 0 |
||
) |
Attaches the editor to a material node and edits the material of the given index.
void SoQtMaterialEditor::detach | ( | ) |
Detaches the editor from the material node.
|
inline |
Gets the current material value.
Definition at line 183 of file SoQtMaterialEditor.h.
|
inline |
Gets the update frequency.
See the UpdateFrequency enum declaration.
Definition at line 167 of file SoQtMaterialEditor.h.
|
virtual |
This hides the component.
Reimplemented from SoQtComponent.
|
inline |
Returns TRUE if the editor is attached.
Definition at line 142 of file SoQtMaterialEditor.h.
|
inline |
Removes the material changed callback.
Definition at line 361 of file SoQtMaterialEditor.h.
void SoQtMaterialEditor::setMaterial | ( | const SoMaterial & | mtl | ) |
Sets a new material value.
void SoQtMaterialEditor::setUpdateFrequency | ( | SoQtMaterialEditor::UpdateFrequency | freq | ) |
Sets the update frequency.
See the UpdateFrequency enum declaration.
|
virtual |
This shows the component.
Reimplemented from SoQtComponent.
SbBool SoQtMaterialEditor::alwaysOnTop |
Boolean indicating if the editor should be always on top of the other windows.
Definition at line 188 of file SoQtMaterialEditor.h.
SoQtMaterialPalette* SoQtMaterialEditor::m_pMaterialPalette |
Pointer to a material palette editor.
Definition at line 193 of file SoQtMaterialEditor.h.