VSliceRenderer Class Reference

#include <VSliceRenderer.h>

Inheritance diagram for VSliceRenderer:

VRenderer

List of all members.

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


Detailed Description

Definition at line 10 of file VSliceRenderer.h.


Constructor & Destructor Documentation

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

Parameters:
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.


Member Function Documentation

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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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

Returns:
activeSlice Enum storing which slice is durrently drawn

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

Parameters:
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

Parameters:
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

Returns:
bool containing if 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

Parameters:
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().


Member Data Documentation

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().


The documentation for this class was generated from the following files:
Generated on Wed Dec 5 05:15:10 2007 for VolRendering by  doxygen 1.5.4