#include <VVolume.h>
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< VVoxel > | m_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 |
Definition at line 22 of file VVolume.h.
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
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.
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
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
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
Definition at line 73 of file VVolume.h.
References m_VolumeData.
int VVolume::getDimX | ( | ) |
returns the Size of Volume in X Direction
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
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
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
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
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
number | number to computate power of 2 |
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
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
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().
std::string VVolume::m_VolumeFilePath [private] |
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] |
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] |