#include <VSliceRenderer.h>
Public Member Functions | |
VSliceRenderer () | |
VSliceRenderer (VVolume *volume) | |
~VSliceRenderer () | |
void | draw () |
void | processInput (guiInput input) |
void | setActiveSaggitalSlice (int s) |
void | setActiveCorronalSlice (int s) |
void | setActiveTransversalSlice (int s) |
void | activate_tf (int v) |
activeSlice | getSliceMode () |
void | setSliceMode (activeSlice mode) |
void | setVolume (VVolume *volume) |
void | loadProgram () |
bool | getProgramLoaded () |
void | setTransferFunctionHandle (unsigned int handle) |
Private Member Functions | |
void | drawSaggitalSlice () |
void | drawCorronalSlice () |
void | drawTransversalSlice () |
void | drawAllSlices () |
Private Attributes | |
activeSlice | m_ActiveSlice |
int | m_active_saggital |
int | m_active_corronal |
int | m_active_transversal |
int | m_tf_activated |
VProgram | m_Program_with_tf |
VProgram | m_Program_without_tf |
bool | m_ProgramLoaded |
unsigned int | m_TransferFunctionHandle |
Definition at line 10 of file VSliceRenderer.h.
VSliceRenderer::VSliceRenderer | ( | ) |
default constructor
Definition at line 5 of file VSliceRenderer.cpp.
References VRenderer::m_Volume.
VSliceRenderer::VSliceRenderer | ( | VVolume * | volume | ) |
constructor with given VVolume Ptr
volume | VVolume Ptr |
Definition at line 12 of file VSliceRenderer.cpp.
References VRenderer::m_Volume.
VSliceRenderer::~VSliceRenderer | ( | ) | [inline] |
default destructor
Definition at line 28 of file VSliceRenderer.h.
void VSliceRenderer::draw | ( | ) | [virtual] |
method for drawing the volume
Implements VRenderer.
Definition at line 18 of file VSliceRenderer.cpp.
References ALL, CORRONAL, drawAllSlices(), drawCorronalSlice(), drawSaggitalSlice(), drawTransversalSlice(), m_ActiveSlice, SAGGITAL, and TRANSVERSAL.
Referenced by QVolRendCanvas::paintGL().
void VSliceRenderer::processInput | ( | guiInput | input | ) | [virtual] |
method for processing the input
Implements VRenderer.
Definition at line 37 of file VSliceRenderer.cpp.
void VSliceRenderer::setActiveSaggitalSlice | ( | int | s | ) | [inline] |
sets the current active slice
s | current slice number |
Definition at line 46 of file VSliceRenderer.h.
References m_active_saggital.
Referenced by QVolRendCanvas::setActiveSaggitalSlice().
void VSliceRenderer::setActiveCorronalSlice | ( | int | s | ) | [inline] |
sets the current active slice
s | current slice number |
Definition at line 55 of file VSliceRenderer.h.
References m_active_corronal.
Referenced by QVolRendCanvas::setActiveCorronalSlice().
void VSliceRenderer::setActiveTransversalSlice | ( | int | s | ) | [inline] |
sets the current active slice
s | current slice number |
Definition at line 64 of file VSliceRenderer.h.
References m_active_transversal.
Referenced by QVolRendCanvas::setActiveTransversalSlice().
void VSliceRenderer::activate_tf | ( | int | v | ) | [inline] |
activates the transferfunction
v | integer containing tf active mode |
Definition at line 73 of file VSliceRenderer.h.
References m_tf_activated.
Referenced by QVolRendCanvas::setApplyTFInSV().
activeSlice VSliceRenderer::getSliceMode | ( | ) | [inline] |
returns the active slice mode
Definition at line 82 of file VSliceRenderer.h.
References m_ActiveSlice.
Referenced by QVolRendCanvas::mouseDoubleClickEvent().
void VSliceRenderer::setSliceMode | ( | activeSlice | mode | ) | [inline] |
sets the current Slice Mode
mode | activeSlice Mode |
Definition at line 91 of file VSliceRenderer.h.
References m_ActiveSlice.
Referenced by QVolRendCanvas::mouseDoubleClickEvent().
void VSliceRenderer::setVolume | ( | VVolume * | volume | ) | [inline, virtual] |
sets the Pointer to the Current Volume
volume | Pointer to Volume |
Implements VRenderer.
Definition at line 100 of file VSliceRenderer.h.
References VRenderer::m_Volume.
Referenced by QVolRendCanvas::load_data().
void VSliceRenderer::loadProgram | ( | ) | [inline] |
loads the necessary Shaders
Definition at line 108 of file VSliceRenderer.h.
References m_Program_with_tf, m_Program_without_tf, and m_ProgramLoaded.
Referenced by QVolRendCanvas::paintGL().
bool VSliceRenderer::getProgramLoaded | ( | ) | [inline] |
returns if the Shaders are loaded
Definition at line 119 of file VSliceRenderer.h.
References m_ProgramLoaded.
Referenced by QVolRendCanvas::paintGL().
void VSliceRenderer::setTransferFunctionHandle | ( | unsigned int | handle | ) | [inline] |
sets the current transferfunctions opengl handle
handle | unsigned int containing the opengl Handle |
Definition at line 128 of file VSliceRenderer.h.
References m_TransferFunctionHandle.
Referenced by QVolRendCanvas::paintGL().
void VSliceRenderer::drawSaggitalSlice | ( | ) | [private] |
draws a big SaggitalSlice
Definition at line 693 of file VSliceRenderer.cpp.
References VProgram::bind(), VVolume::getDimX(), VVolume::getDimY(), VVolume::getDimZ(), VVolume::getGLVolumeHandle(), VProgram::getUniformLocation(), m_active_saggital, VRenderer::m_Height, m_Program_with_tf, m_Program_without_tf, m_tf_activated, m_TransferFunctionHandle, VRenderer::m_Volume, VRenderer::m_Width, and VProgram::release().
Referenced by draw().
void VSliceRenderer::drawCorronalSlice | ( | ) | [private] |
draws a big SaggitalSlice
Definition at line 535 of file VSliceRenderer.cpp.
References VProgram::bind(), VVolume::getDimX(), VVolume::getDimY(), VVolume::getDimZ(), VVolume::getGLVolumeHandle(), VProgram::getUniformLocation(), m_active_corronal, VRenderer::m_Height, m_Program_with_tf, m_Program_without_tf, m_tf_activated, m_TransferFunctionHandle, VRenderer::m_Volume, VRenderer::m_Width, and VProgram::release().
Referenced by draw().
void VSliceRenderer::drawTransversalSlice | ( | ) | [private] |
draws a big SaggitalSlice
Definition at line 849 of file VSliceRenderer.cpp.
References VProgram::bind(), VVolume::getDimX(), VVolume::getDimY(), VVolume::getDimZ(), VVolume::getGLVolumeHandle(), VProgram::getUniformLocation(), m_active_transversal, VRenderer::m_Height, m_Program_with_tf, m_Program_without_tf, m_tf_activated, m_TransferFunctionHandle, VRenderer::m_Volume, VRenderer::m_Width, and VProgram::release().
Referenced by draw().
void VSliceRenderer::drawAllSlices | ( | ) | [private] |
draws a big SaggitalSlice
Definition at line 45 of file VSliceRenderer.cpp.
References VProgram::bind(), VVolume::getDimX(), VVolume::getDimY(), VVolume::getDimZ(), VVolume::getGLVolumeHandle(), VProgram::getUniformLocation(), m_active_corronal, m_active_saggital, m_active_transversal, VRenderer::m_Height, m_Program_with_tf, m_Program_without_tf, m_tf_activated, m_TransferFunctionHandle, VRenderer::m_Volume, VRenderer::m_Width, and VProgram::release().
Referenced by draw().
activeSlice VSliceRenderer::m_ActiveSlice [private] |
Which slice Rendering Mode is active.
Definition at line 155 of file VSliceRenderer.h.
Referenced by draw(), getSliceMode(), and setSliceMode().
int VSliceRenderer::m_active_saggital [private] |
Number of Slice in Saggital Plane.
Definition at line 156 of file VSliceRenderer.h.
Referenced by drawAllSlices(), drawSaggitalSlice(), and setActiveSaggitalSlice().
int VSliceRenderer::m_active_corronal [private] |
Number of Slice in Corronal Plane.
Definition at line 157 of file VSliceRenderer.h.
Referenced by drawAllSlices(), drawCorronalSlice(), and setActiveCorronalSlice().
int VSliceRenderer::m_active_transversal [private] |
Number of Slice in Transversal Plane.
Definition at line 158 of file VSliceRenderer.h.
Referenced by drawAllSlices(), drawTransversalSlice(), and setActiveTransversalSlice().
int VSliceRenderer::m_tf_activated [private] |
If Transferfunction is Activated.
Definition at line 159 of file VSliceRenderer.h.
Referenced by activate_tf(), drawAllSlices(), drawCorronalSlice(), drawSaggitalSlice(), and drawTransversalSlice().
VProgram VSliceRenderer::m_Program_with_tf [private] |
Shader Program for Rendering - applies tf.
Definition at line 161 of file VSliceRenderer.h.
Referenced by drawAllSlices(), drawCorronalSlice(), drawSaggitalSlice(), drawTransversalSlice(), and loadProgram().
VProgram VSliceRenderer::m_Program_without_tf [private] |
Shader Program for Rendering.
Definition at line 162 of file VSliceRenderer.h.
Referenced by drawAllSlices(), drawCorronalSlice(), drawSaggitalSlice(), drawTransversalSlice(), and loadProgram().
bool VSliceRenderer::m_ProgramLoaded [private] |
If Program is already Loaded.
Definition at line 164 of file VSliceRenderer.h.
Referenced by getProgramLoaded(), and loadProgram().
unsigned int VSliceRenderer::m_TransferFunctionHandle [private] |
glHandle of the TransferFunction
Definition at line 166 of file VSliceRenderer.h.
Referenced by drawAllSlices(), drawCorronalSlice(), drawSaggitalSlice(), drawTransversalSlice(), and setTransferFunctionHandle().