Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

vuTFDialogSpec Class Reference

A dialog window editor for the vuTFDesignSpec transfer function. More...

#include <vuTFDialogSpec.h>

Inheritance diagram for vuTFDialogSpec:

Inheritance graph
[legend]
Collaboration diagram for vuTFDialogSpec:

Collaboration graph
[legend]
List of all members.

Public Types

enum  { idLIGHT = vuTransferDialog::idLAST, idLIGHTINT = idLIGHT + TFDLG_NLIGHTS, idSETUPNODES, idEDITPAL }

Public Member Functions

 vuTFDialogSpec (wxWindow *parent, vuTFDesignSpec &tf)
 Constructor for the dialog window.
void updateSliders ()
 Update the sliders from the weight settings in the transfer function.

Protected Member Functions

void OnSlideLight (wxScrollEvent &event)
 Event handler for changes at the light sliders.
void OnSetupNodes (wxCommandEvent &ev)
 sets up the nodes for building opacity triangles over the materials
void OnEditPalette (void)
 open dialog for editing the palette
void buildCustomSizer ()
void editSpecColour (dword id)

Protected Attributes

vuSpecPalette m_PaletteDlg
 The editing dialog for the spectral palette.
wxSlider * m_LightSlider [TFDLG_NLIGHTS]
 Sliders for the weights of the light sources and the overall intensity.
wxSlider * m_LightIntensity
 Sliders for the weights of the light sources and the overall intensity.
wxStaticText * m_LightName [TFDLG_NLIGHTS]
 The static names.
wxStaticText * m_IName
 The static names.
wxButton * m_mktri
 Set != 0 if a call of OnSlideLight should not affect the other sliders This counter is incremented for every slider manipulated by the program, see OnSlideLight().
wxButton * m_edpal
 Set != 0 if a call of OnSlideLight should not affect the other sliders This counter is incremented for every slider manipulated by the program, see OnSlideLight().
int m_NoSliderUpdates
dword m_NLights
 actual number of lights

Detailed Description

A dialog window editor for the vuTFDesignSpec transfer function.

This class is derived from vuTransferDialog. It extends the interface to allow manipulation of light sources and other features of the spectral transfer fuction.

Definition at line 20 of file vuTFDialogSpec.h.


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
idLIGHT 
idLIGHTINT 
idSETUPNODES 
idEDITPAL 

Definition at line 23 of file vuTFDialogSpec.h.


Constructor & Destructor Documentation

vuTFDialogSpec::vuTFDialogSpec wxWindow *  parent,
vuTFDesignSpec tf
 

Constructor for the dialog window.

This creates the dialog window and it's controls, but doesn't show it. Call the standard ShowModal() method to display it.

Parameters:
parent The parent window showing the dialog.
tf The transfer function to be displayed and edited by the dialog.

Definition at line 33 of file vuTFDialogSpec.cpp.

References word.


Member Function Documentation

void vuTFDialogSpec::buildCustomSizer  )  [protected, virtual]
 

Reimplemented from vuTransferDialog.

Definition at line 48 of file vuTFDialogSpec.cpp.

References vuTFDesignSpec::getNumLights(), vuTransferCanvas::getTransferFunc(), idEDITPAL, idLIGHTINT, idSETUPNODES, LIGHT, m_edpal, m_IName, m_LightIntensity, m_LightName, m_LightSlider, m_mktri, m_NLights, m_NoSliderUpdates, OnSlideLight(), SLDRES, and word.

Here is the call graph for this function:

void vuTFDialogSpec::editSpecColour dword  id  )  [protected, virtual]
 

Reimplemented from vuTransferDialog.

Definition at line 214 of file vuTFDialogSpec.cpp.

References vuTFDesignSpec::generateFunction(), vuTFDesignSpec::getNumLights(), vuTransferCanvas::getTransferFunc(), m_NLights, m_PaletteDlg, vuTransferDialog::rebuildCustomSizer(), vuGLCanvas::redraw(), vuTransferDialog::repaintParent(), vuSpecPalette::selectSpec(), vuTFDesignSpec::updateFromPalette(), vuTFDesignSpec::updatePalette(), and vuSpecPalette::UpdateWidgets().

Here is the call graph for this function:

void vuTFDialogSpec::OnEditPalette void   )  [protected]
 

open dialog for editing the palette

Definition at line 194 of file vuTFDialogSpec.cpp.

References vuTFDesignSpec::generateFunction(), vuTFDesignSpec::getNumLights(), vuTransferCanvas::getTransferFunc(), vuTFDesignSpec::updateFromPalette(), and vuTFDesignSpec::updatePalette().

Here is the call graph for this function:

void vuTFDialogSpec::OnSetupNodes wxCommandEvent &  ev  )  [protected]
 

sets up the nodes for building opacity triangles over the materials

Definition at line 182 of file vuTFDialogSpec.cpp.

References vuTFDesignSpec::generateFunction(), vuTransferCanvas::getTransferFunc(), vuGLCanvas::redraw(), vuTransferDialog::repaintParent(), and vuTFDesignSpec::setupMtlTriAlphaNodes().

Here is the call graph for this function:

void vuTFDialogSpec::OnSlideLight wxScrollEvent &  event  )  [protected]
 

Event handler for changes at the light sliders.

All three sliders m_LightSlide[] map to this function.

Reimplemented from vuTransferDialog.

Definition at line 124 of file vuTFDialogSpec.cpp.

References dword, vuTFDesignSpec::generateFunction(), vuTransferCanvas::getActiveOpacity(), vuTFDesignSpec::getLightNode(), vuTransferCanvas::getTransferFunc(), LIGHT, m_LightIntensity, m_LightSlider, m_NoSliderUpdates, vuGLCanvas::redraw(), vuTransferDialog::repaintParent(), vuTFDesignSpec::setAlphaByLight(), vuTFDesignSpec::setLightIntensity(), vuTFDesignSpec::setLightOpacityNode(), SLDRES, vuTFDesignSpec::weightLights(), and word.

Referenced by buildCustomSizer().

Here is the call graph for this function:

void vuTFDialogSpec::updateSliders  ) 
 

Update the sliders from the weight settings in the transfer function.

Definition at line 109 of file vuTFDialogSpec.cpp.

References vuTFDesignSpec::getLightIntensity(), vuTFDesignSpec::getLightNode(), vuTransferCanvas::getTransferFunc(), m_LightIntensity, m_LightSlider, SLDRES, and word.

Referenced by vuSpectral::glRender().

Here is the call graph for this function:


Member Data Documentation

wxButton * vuTFDialogSpec::m_edpal [protected]
 

Set != 0 if a call of OnSlideLight should not affect the other sliders This counter is incremented for every slider manipulated by the program, see OnSlideLight().

Definition at line 76 of file vuTFDialogSpec.h.

Referenced by buildCustomSizer().

wxStaticText * vuTFDialogSpec::m_IName [protected]
 

The static names.

Definition at line 70 of file vuTFDialogSpec.h.

Referenced by buildCustomSizer().

wxSlider * vuTFDialogSpec::m_LightIntensity [protected]
 

Sliders for the weights of the light sources and the overall intensity.

Definition at line 68 of file vuTFDialogSpec.h.

Referenced by buildCustomSizer(), OnSlideLight(), and updateSliders().

wxStaticText* vuTFDialogSpec::m_LightName[TFDLG_NLIGHTS] [protected]
 

The static names.

Definition at line 70 of file vuTFDialogSpec.h.

Referenced by buildCustomSizer().

wxSlider* vuTFDialogSpec::m_LightSlider[TFDLG_NLIGHTS] [protected]
 

Sliders for the weights of the light sources and the overall intensity.

Definition at line 68 of file vuTFDialogSpec.h.

Referenced by buildCustomSizer(), OnSlideLight(), and updateSliders().

wxButton* vuTFDialogSpec::m_mktri [protected]
 

Set != 0 if a call of OnSlideLight should not affect the other sliders This counter is incremented for every slider manipulated by the program, see OnSlideLight().

Definition at line 76 of file vuTFDialogSpec.h.

Referenced by buildCustomSizer().

dword vuTFDialogSpec::m_NLights [protected]
 

actual number of lights

Definition at line 80 of file vuTFDialogSpec.h.

Referenced by buildCustomSizer(), and editSpecColour().

int vuTFDialogSpec::m_NoSliderUpdates [protected]
 

Definition at line 78 of file vuTFDialogSpec.h.

Referenced by buildCustomSizer(), and OnSlideLight().

vuSpecPalette vuTFDialogSpec::m_PaletteDlg [protected]
 

The editing dialog for the spectral palette.

Definition at line 65 of file vuTFDialogSpec.h.

Referenced by editSpecColour().


The documentation for this class was generated from the following files:
Generated on Wed Dec 15 21:22:07 2004 for vuVolume by  doxygen 1.3.9.1