SoXtMaterialEditor(3IV)

SoXtMaterialEditor - Component which lets you edit a material interactively

As shipped in IRIX 6.5.30. Added in IRIX 6.5.22.

NAME
     SoXtMaterialEditor - Component which lets you edit a material
     interactively

INHERITS FROM
     SoXtComponent > SoXtMaterialEditor

SYNOPSIS
     #include <Inventor/Xt/SoXtMaterialEditor.h>

     typedef void        SoXtMaterialEditorCB(void *userData, const SoMaterial
                              *mtl)

     enum UpdateFrequency {
          SoXtMaterialEditor::CONTINUOUS
                              send updates with every mouse motion
          SoXtMaterialEditor::AFTER_ACCEPT
                              only send updates after user hits accept button
     }

          Methods from class SoXtMaterialEditor:

                         SoXtMaterialEditor(Widget parent = NULL, const char
                              *name = NULL, SbBool buildInsideParent = TRUE)
                         ~SoXtMaterialEditor()
     void                attach(SoMaterial *material, int index = 0)
     void                detach()
     SbBool              isAttached()
     void                addMaterialChangedCallback(SoXtMaterialEditorCB *f,
                              void *userData = NULL)
     void                removeMaterialChangedCallback(SoXtMaterialEditorCB
                              *f, void *userData = NULL)
     void                setUpdateFrequency(SoXtMaterialEditor::UpdateFrequency
                              freq)
     SoXtMaterialEditor::UpdateFrequency
                         getUpdateFrequency()
     void                setMaterial(const SoMaterial &mtl)
     const SoMaterial &  getMaterial() 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 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.

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

     void                attach(SoMaterial *material, int index = 0)
     void                detach()
          Attach/detach the editor to a material node and edit the material of
          the given index.

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

     void                addMaterialChangedCallback(SoXtMaterialEditorCB *f,
                              void *userData = NULL)
     void                removeMaterialChangedCallback(SoXtMaterialEditorCB
                              *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                setUpdateFrequency(SoXtMaterialEditor::UpdateFrequency
                              freq)
     SoXtMaterialEditor::UpdateFrequency
                         getUpdateFrequency()
          Sets/gets the update frequency. See the UpdateFrequency enum
          declaration.

     void                setMaterial(const SoMaterial &mtl)
     const SoMaterial &  getMaterial() const
          Set a new material value, and get the current material value.


RESOURCES
          *SoXtMaterialEditor.tile1Color: #4c4c4c (color name or hex value)
          *SoXtMaterialEditor.tile2Color: #999999 (color name or hex value)
          *SoXtMaterialEditor.light1Color: white (color name or hex value)
          *SoXtMaterialEditor.light2Color: white (color name or hex value)
          *SoXtMaterialEditor.updateFrequency: continuous (continuous | manual)


SEE ALSO
     SoXtComponent, SoXtMaterialList, SoXtDirLightEditor, SoMaterial