#include <vuSpecFVR.h>
Inheritance diagram for vuSpecFVR:
Public Member Functions | |
vuSpecFVR () | |
Constructor. | |
~vuSpecFVR () | |
Destructor. | |
bool | init (const char *DataFile) |
void | notifyDataChanged () |
external update trigger, virtual from some parent class | |
virtual vuCamera * | getCamera () |
This function must return a pointer to the camera that is taking the picture of the scene. | |
virtual vuImage * | getCurrentImage () |
This function must return a pointer to the current vuImage buffer that the method can write to or read from. | |
virtual void | DrawFromImage () |
This function must take the data vuImage buffer from the last call to getCurrent Image and draw that on the screen. | |
virtual void | DrawAgain () |
This function must rerender the scene completely. | |
void | handleGUIevent (wxCommandEvent &ev) |
handle some GUI events (idDOSPECULAR, idDRAWPREV) | |
virtual void | addRight (wxSizer *sizer) |
This method adds controls to the bottom of the window. | |
Static Public Member Functions | |
const char * | getFileType () |
Returns the type of vu Datafile that the utility works with. | |
Protected Member Functions | |
bool | glInit () |
Initializes open gl for the utility. | |
void | glRender () |
void | glResize () |
Resizes the gl viewport and renders the volume. | |
void | glOnMouse (wxMouseEvent &ev) |
Handles mouse commands from the user. | |
void | OnChar (wxKeyEvent &event) |
keyboard handler | |
void | OnSlideLight (wxScrollEvent &event) |
event handler for the light property sliders. | |
void | OnButtonRender (wxCommandEvent &event) |
initiate a refresh of the rendering | |
void | OnButtonTransform (wxCommandEvent &event) |
initiate a refresh of the rendering | |
void | OnButtonLightPos (wxCommandEvent &ev) |
set light direction from current observer to centre of the volume | |
Private Types | |
enum | { idDOSPECULAR, idDRAWPREV } |
Private Attributes | |
vu1112118 * | m_Data |
The spectral raycaster owned by the utility. | |
vuTFDesignSpec | m_TFunc |
The transfer function. | |
vuTFDialogSpec | m_TFuncDlg |
vuLightDial | m_LightDial |
wxSlider * | m_LightColour |
Slider to control the properties of the light. | |
wxSlider * | m_LightIntensity |
Slider to control the properties of the light. | |
int | m_x |
The width of the window. | |
int | m_y |
The height of the window. | |
bool | m_DrawBBox |
bounging box flag. | |
vuPreviewWin * | m_Preview |
This is a handle for a preview box. |
Definition at line 18 of file vuSpecFVR.h.
|
Definition at line 20 of file vuSpecFVR.h. |
|
Constructor.
Definition at line 39 of file vuSpecFVR.cpp. |
|
Destructor.
Definition at line 50 of file vuSpecFVR.cpp. References m_Data. |
|
This method adds controls to the bottom of the window.
Reimplemented from vuBasicUtility. Definition at line 116 of file vuSpecFVR.cpp. References idLIGHTPOS, idRENDER, and idTRANSFORM. |
|
This function must rerender the scene completely. This is so that the key frame animator can set the camera, and then force a redraw by the method. Implements vuBasicUtility. Definition at line 289 of file vuSpecFVR.cpp. References vu1112118::doRefresh(), m_Data, and vuGLCanvas::redraw(). |
Here is the call graph for this function:
|
This function must take the data vuImage buffer from the last call to getCurrent Image and draw that on the screen. This is so that prerendered video animation can be displayed by the key frame animator by simply setting the vuImage returned by getCurrentImage and then calling this function. Implements vuBasicUtility. Definition at line 300 of file vuSpecFVR.cpp. References vuGLCanvas::redraw(). |
Here is the call graph for this function:
|
This function must return a pointer to the camera that is taking the picture of the scene. This is so that the key frame animator can read the camera when it needs to take a snapshot and change the camera when it wants the method to rerender the scene from a predetermined camera position. Implements vuBasicUtility. Definition at line 277 of file vuSpecFVR.cpp. References vu1::getCamera(), and m_Data. Referenced by OnButtonLightPos(). |
Here is the call graph for this function:
|
This function must return a pointer to the current vuImage buffer that the method can write to or read from. This is how the key framer will update the screen. Implements vuBasicUtility. Definition at line 282 of file vuSpecFVR.cpp. References vu1112118::getImage(), and m_Data. |
Here is the call graph for this function:
|
Returns the type of vu Datafile that the utility works with.
Reimplemented from vuBasicUtility. Definition at line 59 of file vuSpecFVR.cpp. |
|
Initializes open gl for the utility. The method calls the initgl() method so it can do the proper initialization. Reimplemented from vuBasicUtility. Definition at line 175 of file vuSpecFVR.cpp. References GL_DEPTH_TEST, GL_LESS, glDepthFunc(), glEnable(), and m_Data. |
Here is the call graph for this function:
|
Handles mouse commands from the user. The mouse is the main interface between the user and the utility at the moment. This method receives mouse events from the window, and carries out commands. Reimplemented from vuBasicUtility. Definition at line 237 of file vuSpecFVR.cpp. References vuArcBall::attachCamera(), vu1112118::doRefresh(), vu1::getCamera(), vu1112::getCenter(), vuGLCanvas::getHeight(), vuCamera::getPosition(), vuGLCanvas::getWidth(), m_Data, m_LightDial, m_TFuncDlg, m_x, m_y, vuVector::norm(), vuGLCanvas::redraw(), vuArcBall::setWinSize(), vuCamera::translateXYZ(), and vuArcBall::turn(). |
Here is the call graph for this function:
|
The method calls the render() method, setting it up to render to the window's gl canvas. Reimplemented from vuBasicUtility. Definition at line 194 of file vuSpecFVR.cpp. References vu1112118::doSpectral(), vuGLCanvas::getHeight(), vuTFIntensity::getLight(), vuGLCanvas::getWidth(), GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT, GL_MODELVIEW, GL_PROJECTION, glClear(), glLoadIdentity(), glMatrixMode(), glOrtho(), vuLightDial::isUpdated(), vuTransferDialog::isUpdated(), ns_vu1112112::light, m_Data, m_LightDial, m_TFunc, m_TFuncDlg, vu1112118::render(), vu1112118::setLight(), vu111211::setTransferFunc(), and vuTransferDialog::unsetUpdated(). |
Here is the call graph for this function:
|
Resizes the gl viewport and renders the volume.
Reimplemented from vuBasicUtility. Definition at line 227 of file vuSpecFVR.cpp. References vuGLCanvas::getHeight(), vuGLCanvas::getWidth(), GLint, glViewport(), m_Data, and vu1112118::resize(). |
Here is the call graph for this function:
|
handle some GUI events (idDOSPECULAR, idDRAWPREV)
Definition at line 308 of file vuSpecFVR.cpp. |
|
Initializes the utility window. A object is created and the volume data is read. The window appears when finished. Reimplemented from vuBasicUtility. Definition at line 68 of file vuSpecFVR.cpp. References vuTFDesign::addColour(), vuTFDesign::addOpacity(), vuTFDesignSpec::generateFunction(), vu1::getErrorMessage(), m_Data, m_TFunc, vu1112118::read(), vuTFDesign::setColourSmoothing(), vu1::setFileName(), and vuTFDesign::setOpacitySmoothing(). |
Here is the call graph for this function:
|
external update trigger, virtual from some parent class
Reimplemented from vuBasicUtility. Definition at line 166 of file vuSpecFVR.cpp. References vuGLCanvas::redraw(). |
Here is the call graph for this function:
|
set light direction from current observer to centre of the volume
Definition at line 316 of file vuSpecFVR.cpp. References getCamera(), vu1112::getCenter(), vuCamera::getPosition(), m_Data, vuVector::makeUnit(), and vu1112118::setLightDir(). |
Here is the call graph for this function:
|
initiate a refresh of the rendering
Definition at line 144 of file vuSpecFVR.cpp. References vu1112118::doRefresh(), m_Data, and vuGLCanvas::redraw(). |
Here is the call graph for this function:
|
initiate a refresh of the rendering
Definition at line 150 of file vuSpecFVR.cpp. References vu1112118::doRefresh(), vu1112118::doSpectral(), m_Data, m_TFunc, vu1112118::preprocess(), vuGLCanvas::redraw(), and vu111211::setTransferFunc(). |
Here is the call graph for this function:
|
keyboard handler
Reimplemented from vuBasicUtility. Definition at line 160 of file vuSpecFVR.cpp. References vu1112118::keyboard(), m_Data, and vuGLCanvas::redraw(). |
Here is the call graph for this function:
|
event handler for the light property sliders.
Definition at line 133 of file vuSpecFVR.cpp. References vuGLCanvas::redraw(). |
Here is the call graph for this function:
|
The spectral raycaster owned by the utility.
Definition at line 87 of file vuSpecFVR.h. Referenced by DrawAgain(), getCamera(), getCurrentImage(), glInit(), glOnMouse(), glRender(), glResize(), init(), OnButtonLightPos(), OnButtonRender(), OnButtonTransform(), OnChar(), and ~vuSpecFVR(). |
|
bounging box flag. Draw a bounding box (using OpenGL) instead of blitting the scene view. OLD because of vuPreviewWin. Definition at line 107 of file vuSpecFVR.h. |
|
Slider to control the properties of the light. Calls the event handler OnSlideLight(). Definition at line 97 of file vuSpecFVR.h. |
|
Definition at line 92 of file vuSpecFVR.h. Referenced by glOnMouse(), and glRender(). |
|
Slider to control the properties of the light. Calls the event handler OnSlideLight(). Definition at line 97 of file vuSpecFVR.h. |
|
This is a handle for a preview box.
Definition at line 110 of file vuSpecFVR.h. |
|
The transfer function. This is not yet used because the TF don't yet operate on spectral colours. Reimplemented from vuBasicUtility. Definition at line 90 of file vuSpecFVR.h. Referenced by glRender(), init(), and OnButtonTransform(). |
|
Definition at line 91 of file vuSpecFVR.h. Referenced by glOnMouse(), and glRender(). |
|
The width of the window.
Definition at line 100 of file vuSpecFVR.h. Referenced by glOnMouse(). |
|
The height of the window.
Definition at line 102 of file vuSpecFVR.h. Referenced by glOnMouse(). |