VVolume Class Reference

#include <VVolume.h>

List of all members.

Public Member Functions

 VVolume ()
 VVolume (std::string filepath)
 ~VVolume ()
bool loadVolume (std::string filepath, int *volsize)
bool saveVolume (std::string filepath)
std::vector< int > * getHistogramPtr ()
unsigned char * get2DHistogramPtr ()
std::vector< VVoxel > * getVolumeDataPtr ()
int getDimX ()
int getDimY ()
int getDimZ ()
unsigned int getGLVolumeHandle ()
float * getModelMatrix ()
void clear ()
void flipVolumeX ()
void flipVolumeY ()
void flipVolumeZ ()

Private Member Functions

bool bindVolumeInOpenGL ()
const int getNextPowerOfTwo (const int number)
bool loadDat (std::string filename, int *volsize)
bool loadGDat (std::string filename, int *volsize)

Private Attributes

std::string m_VolumeFilePath
unsigned int m_GLVolumeHandle
std::vector< VVoxelm_VolumeData
std::vector< int > m_Histogram
int m_DimX
int m_DimY
int m_DimZ
float m_maxdensity
VMatrix m_ModelMatrix
VMatrix m_NormalMatrix
std::vector< unsigned char > m_histogram2d_texture
float maxGradientLength


Detailed Description

Definition at line 22 of file VVolume.h.


Constructor & Destructor Documentation

VVolume::VVolume (  ) 

standard constructor

Definition at line 11 of file VVolume.cpp.

References HISTOGRAM2D_RESOLUTION, m_Histogram, m_histogram2d_texture, and m_VolumeData.

VVolume::VVolume ( std::string  filepath  ) 

constructor with given filepath

Parameters:
filepath File Path of Volume File

Definition at line 28 of file VVolume.cpp.

References HISTOGRAM2D_RESOLUTION, loadVolume(), m_Histogram, m_histogram2d_texture, m_VolumeData, and m_VolumeFilePath.

VVolume::~VVolume (  ) 

standard destructor

Definition at line 47 of file VVolume.cpp.

References clear(), and m_histogram2d_texture.


Member Function Documentation

bool VVolume::loadVolume ( std::string  filepath,
int *  volsize 
)

loads the volume stored in the given Filepath

Definition at line 54 of file VVolume.cpp.

References loadDat(), and loadGDat().

Referenced by QVolRendCanvas::load_data(), and VVolume().

bool VVolume::saveVolume ( std::string  filepath  ) 

saves a Volume to the given file

Definition at line 71 of file VVolume.cpp.

References HISTOGRAM2D_RESOLUTION, HISTOGRAM2D_RESOLUTION_X, HISTOGRAM2D_RESOLUTION_Y, m_DimX, m_DimY, m_DimZ, m_Histogram, m_histogram2d_texture, and m_VolumeData.

Referenced by QVolRendCanvas::save_data().

std::vector<int>* VVolume::getHistogramPtr (  )  [inline]

returns a Pointer to the Histogram

Returns:
std::vector<int> Ptr containing the Histogram

Definition at line 55 of file VVolume.h.

References m_Histogram.

Referenced by QVolRendCanvas::getDataHistogram().

unsigned char* VVolume::get2DHistogramPtr (  )  [inline]

returns a Pointer to the 2D Histogram

Returns:
char *

Definition at line 64 of file VVolume.h.

References m_histogram2d_texture.

Referenced by QVolRendCanvas::getData2DHistogram().

std::vector<VVoxel>* VVolume::getVolumeDataPtr (  )  [inline]

returns a Pointer to the Volume Data

Returns:
std::vector<VVoxel(> Ptr containing the VolumeData

Definition at line 73 of file VVolume.h.

References m_VolumeData.

int VVolume::getDimX (  ) 

returns the Size of Volume in X Direction

Returns:
int containing the Size of the Volume

Definition at line 125 of file VVolume.cpp.

References getNextPowerOfTwo(), and m_DimX.

Referenced by VVolumeRenderer::draw(), VSliceRenderer::drawAllSlices(), VSliceRenderer::drawCorronalSlice(), VSliceRenderer::drawSaggitalSlice(), VSliceRenderer::drawTransversalSlice(), VVolumeRenderer::setShaderWrapperDVRtf2d(), VVolumeRenderer::setVolume(), and VVolumeRenderer::VVolumeRenderer().

int VVolume::getDimY (  ) 

returns the Size of Volume in Y Direction

Returns:
int containing the Size of the Volume

Definition at line 134 of file VVolume.cpp.

References getNextPowerOfTwo(), and m_DimY.

Referenced by VSliceRenderer::drawAllSlices(), VSliceRenderer::drawCorronalSlice(), VSliceRenderer::drawSaggitalSlice(), VSliceRenderer::drawTransversalSlice(), VVolumeRenderer::setShaderWrapperDVRtf2d(), VVolumeRenderer::setVolume(), and VVolumeRenderer::VVolumeRenderer().

int VVolume::getDimZ (  ) 

returns the Size of Volume in Z Direction

Returns:
int containing the Size of the Volume

Definition at line 143 of file VVolume.cpp.

References getNextPowerOfTwo(), and m_DimZ.

Referenced by VVolumeRenderer::draw(), VSliceRenderer::drawAllSlices(), VSliceRenderer::drawCorronalSlice(), VSliceRenderer::drawSaggitalSlice(), VSliceRenderer::drawTransversalSlice(), VVolumeRenderer::setShaderWrapperDVRtf2d(), VVolumeRenderer::setVolume(), and VVolumeRenderer::VVolumeRenderer().

unsigned int VVolume::getGLVolumeHandle (  )  [inline]

returns the GL Handle to the Volume

Returns:
m_GLVolumeHandle

Definition at line 101 of file VVolume.h.

References m_GLVolumeHandle.

Referenced by VSliceRenderer::drawAllSlices(), VSliceRenderer::drawCorronalSlice(), VSliceRenderer::drawSaggitalSlice(), VSliceRenderer::drawTransversalSlice(), VVolumeRenderer::setShaderWrapperCurvature(), VVolumeRenderer::setShaderWrapperDVR(), VVolumeRenderer::setShaderWrapperDVRbtf(), VVolumeRenderer::setShaderWrapperDVRbtftf(), VVolumeRenderer::setShaderWrapperDVRbtftf2d(), VVolumeRenderer::setShaderWrapperDVRCombMetal(), VVolumeRenderer::setShaderWrapperDVRCombMetal2f(), VVolumeRenderer::setShaderWrapperDVRCombMetalCont(), VVolumeRenderer::setShaderWrapperDVRCombMetalCont2f(), VVolumeRenderer::setShaderWrapperDVRCombMetalContShadow(), VVolumeRenderer::setShaderWrapperDVRCombMetalContShadow2f(), VVolumeRenderer::setShaderWrapperDVRCombMetalShadow(), VVolumeRenderer::setShaderWrapperDVRCombMetalShadow2f(), VVolumeRenderer::setShaderWrapperDVRCombPhong(), VVolumeRenderer::setShaderWrapperDVRCombPhongCont(), VVolumeRenderer::setShaderWrapperDVRCombPhongContShadow(), VVolumeRenderer::setShaderWrapperDVRCombPhongContShadowt2f(), VVolumeRenderer::setShaderWrapperDVRCombPhongContt2f(), VVolumeRenderer::setShaderWrapperDVRCombPhongShadow(), VVolumeRenderer::setShaderWrapperDVRCombPhongShadowt2f(), VVolumeRenderer::setShaderWrapperDVRCombPhongt2f(), VVolumeRenderer::setShaderWrapperDVRCombToon(), VVolumeRenderer::setShaderWrapperDVRCombToon2f(), VVolumeRenderer::setShaderWrapperDVRCombToonCont(), VVolumeRenderer::setShaderWrapperDVRCombToonCont2f(), VVolumeRenderer::setShaderWrapperDVRCombToonContShadow(), VVolumeRenderer::setShaderWrapperDVRCombToonContShadow2f(), VVolumeRenderer::setShaderWrapperDVRCombToonShadow(), VVolumeRenderer::setShaderWrapperDVRCombToonShadow2f(), VVolumeRenderer::setShaderWrapperDVRtf(), VVolumeRenderer::setShaderWrapperDVRtf2d(), VVolumeRenderer::setShaderWrapperMIP(), VVolumeRenderer::setShaderWrapperMIPtf(), and VVolumeRenderer::setShaderWrapperMIPtf2d().

float* VVolume::getModelMatrix (  )  [inline]

returns a Pointer to the modelmatrix

Returns:
float Ptr

Definition at line 110 of file VVolume.h.

References m_ModelMatrix.

Referenced by VVolumeRenderer::drawBackFaces(), and VVolumeRenderer::drawFrontFaces().

void VVolume::clear (  ) 

clears the current volume data

Definition at line 506 of file VVolume.cpp.

References m_GLVolumeHandle, m_Histogram, and m_VolumeData.

Referenced by QVolRendCanvas::load_data(), and ~VVolume().

void VVolume::flipVolumeX (  ) 

flips the volume in X direction.

Definition at line 517 of file VVolume.cpp.

References bindVolumeInOpenGL(), m_DimX, m_DimY, m_DimZ, and m_VolumeData.

Referenced by QVolRendCanvas::flipX().

void VVolume::flipVolumeY (  ) 

flips the volume in Y direction.

Definition at line 545 of file VVolume.cpp.

References bindVolumeInOpenGL(), m_DimX, m_DimY, m_DimZ, and m_VolumeData.

Referenced by QVolRendCanvas::flipY().

void VVolume::flipVolumeZ (  ) 

flips the volume in Z direction.

Definition at line 573 of file VVolume.cpp.

References bindVolumeInOpenGL(), m_DimX, m_DimY, m_DimZ, and m_VolumeData.

Referenced by QVolRendCanvas::flipZ().

bool VVolume::bindVolumeInOpenGL (  )  [private]

binds the Volume to an OpenGl 3D Texture

Definition at line 152 of file VVolume.cpp.

References getNextPowerOfTwo(), m_DimX, m_DimY, m_DimZ, m_GLVolumeHandle, and m_VolumeData.

Referenced by flipVolumeX(), flipVolumeY(), and flipVolumeZ().

const int VVolume::getNextPowerOfTwo ( const int  number  )  [inline, private]

returns the next power of two value to a given number

Parameters:
number number to computate power of 2
Returns:
the next power of two

Definition at line 147 of file VVolume.h.

Referenced by bindVolumeInOpenGL(), getDimX(), getDimY(), getDimZ(), loadDat(), and loadGDat().

bool VVolume::loadDat ( std::string  filename,
int *  volsize 
) [private]

loads a dat file

Parameters:
filename filename of file
volsize pointer to the size of the volume

Definition at line 226 of file VVolume.cpp.

References getNextPowerOfTwo(), HISTOGRAM2D_RESOLUTION, HISTOGRAM2D_RESOLUTION_X, HISTOGRAM2D_RESOLUTION_Y, m_DimX, m_DimY, m_DimZ, m_Histogram, m_histogram2d_texture, m_maxdensity, m_ModelMatrix, m_VolumeData, VMatrix::scale(), and VMatrix::translate().

Referenced by loadVolume().

bool VVolume::loadGDat ( std::string  filename,
int *  volsize 
) [private]

loads a gdat file

Parameters:
filename filename of file
volsize pointer to the size of the volume

Definition at line 403 of file VVolume.cpp.

References getNextPowerOfTwo(), m_DimX, m_DimY, m_DimZ, m_Histogram, m_histogram2d_texture, m_maxdensity, m_ModelMatrix, m_VolumeData, VMatrix::scale(), and VMatrix::translate().

Referenced by loadVolume().


Member Data Documentation

std::string VVolume::m_VolumeFilePath [private]

File Name of Volume.

Definition at line 172 of file VVolume.h.

Referenced by VVolume().

unsigned int VVolume::m_GLVolumeHandle [private]

Handle to OpenGl volume Texture.

Definition at line 173 of file VVolume.h.

Referenced by bindVolumeInOpenGL(), clear(), and getGLVolumeHandle().

std::vector<VVoxel> VVolume::m_VolumeData [private]

Data of Volume.

Definition at line 174 of file VVolume.h.

Referenced by bindVolumeInOpenGL(), clear(), flipVolumeX(), flipVolumeY(), flipVolumeZ(), getVolumeDataPtr(), loadDat(), loadGDat(), saveVolume(), and VVolume().

std::vector<int> VVolume::m_Histogram [private]

Histogram of Volume.

Definition at line 175 of file VVolume.h.

Referenced by clear(), getHistogramPtr(), loadDat(), loadGDat(), saveVolume(), and VVolume().

int VVolume::m_DimX [private]

Size of Volume in X Direction.

Definition at line 176 of file VVolume.h.

Referenced by bindVolumeInOpenGL(), flipVolumeX(), flipVolumeY(), flipVolumeZ(), getDimX(), loadDat(), loadGDat(), and saveVolume().

int VVolume::m_DimY [private]

Size of Volume in Y Direction.

Definition at line 177 of file VVolume.h.

Referenced by bindVolumeInOpenGL(), flipVolumeX(), flipVolumeY(), flipVolumeZ(), getDimY(), loadDat(), loadGDat(), and saveVolume().

int VVolume::m_DimZ [private]

Size of Volume in Z Direction.

Definition at line 178 of file VVolume.h.

Referenced by bindVolumeInOpenGL(), flipVolumeX(), flipVolumeY(), flipVolumeZ(), getDimZ(), loadDat(), loadGDat(), and saveVolume().

float VVolume::m_maxdensity [private]

Maximal density of the density distribution excluding the densities 0..50

Definition at line 179 of file VVolume.h.

Referenced by loadDat(), and loadGDat().

VMatrix VVolume::m_ModelMatrix [private]

User Transformation of the Volume.

Definition at line 181 of file VVolume.h.

Referenced by getModelMatrix(), loadDat(), and loadGDat().

VMatrix VVolume::m_NormalMatrix [private]

Transformation for the Normals.

Definition at line 182 of file VVolume.h.

std::vector<unsigned char> VVolume::m_histogram2d_texture [private]

vector containing the histogram of the 2d tf.

Definition at line 184 of file VVolume.h.

Referenced by get2DHistogramPtr(), loadDat(), loadGDat(), saveVolume(), VVolume(), and ~VVolume().

float VVolume::maxGradientLength [private]

float value containing the maximumGradientLength.

Definition at line 185 of file VVolume.h.


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