CVolume Class Reference

#include <Volume.h>

Inheritance diagram for CVolume:

IInputHandler IManagedObject

List of all members.

Public Member Functions

 CVolume (std::string &fileName)
virtual ~CVolume ()
virtual bool Create (TSmartPointer< CGLProgram >, int mode, int fboSize, float stepSize, int maxSamples, bool applyNoise, float minClip, bool shadowEnabled, float shadowQuality, float shadowTreshold)
virtual bool CreateOpenGL ()
virtual bool DestroyOpenGL ()
virtual void Render ()
std::string & GetFileName ()
CVolumeFormatGetVolumeDataInfo ()
CVector2f GetOrientation ()
void SetRenderMode (int renderMode)
void SetFboSize (int fboSize)
void SetStepSize (float stepSize)
void SetMaxSamples (int maxSamples)
void SetMinClip (float minClip)
void SetApplyNoise (bool applyNoise)
void SetLight (TSmartPointer< CLight > pL)
void SetShadowEnabled (bool tf)
void SetShadowTreshold (float t)
void SetShadowQuality (float q)
void AddTransferProperty (TSmartPointer< CTransferProperty >)
void SetHighQuality (bool tf)
void SwitchProgram (TSmartPointer< CGLProgram >)
void SetSliceInViewSpace (bool)
void SetRenderSlice (bool bxSlice, bool bySlice, bool bzSlice)
void SetSliceDepth (int slizePlaneID, float depth)
void ViewAspectChange (float newAspect)
void SetOrientation (float nrotX, float nrotY)
virtual bool OnMouseMove (sdword sdwX, sdword sdwY, sdword sdwZ)
virtual bool OnMouseKeyDown (byte bKey)
virtual bool OnMouseKeyUp (byte bKey)

Protected Member Functions

virtual void Destroy ()
bool CreateFboTextures ()
void UpdateUniform ()

Private Attributes

std::string fileName
bool created
int * pCubeVertices
int * pCubeNormals
int * pCubeTexCoords
float * pCubeColors
unsigned char * pCubeIndices
unsigned int cubeDispList
uchar * noiseTex
int noiseTexSize
CVolumeFormatpFormat
TSmartPointer< CGLProgrampProgram
TSmartPointer< CLightpLight
CVector3f gradDelta
unsigned int txVol
unsigned int txColorFront
unsigned int txColorBack
unsigned int txDepthFront
unsigned int txDepthBack
unsigned int txTransfer
unsigned int txNoise
unsigned int frameBuffer
bool cullFaceEnabled
bool needUpdateUniform
bool needUpdateFBO
int renderMode
int fboSize
float stepSize
float minClip
bool applyNoise
int maxSamples
bool shadowEnabled
float shadowTreshold
float shadowQuality
unsigned int loc
QVector< TSmartPointer
< CShaderProperty > > 
propertyList
bool bSliceInViewSpace
Slice xSlice
Slice ySlice
Slice zSlice
int nmbActiveSlices
float viewAspect
float rotX
float rotY


Detailed Description

Definition at line 56 of file Volume.h.


Constructor & Destructor Documentation

CVolume::CVolume ( std::string &  fileName  ) 

CVolume::~CVolume (  )  [virtual]

Definition at line 80 of file Volume.cpp.

References Destroy().


Member Function Documentation

void CVolume::AddTransferProperty ( TSmartPointer< CTransferProperty ptr  ) 

Definition at line 1247 of file Volume.cpp.

References propertyList.

bool CVolume::Create ( TSmartPointer< CGLProgram program,
int  mode,
int  fboSize,
float  stepSize,
int  maxSamples,
bool  applyNoise,
float  minClip,
bool  shadowEnabled,
float  shadowQuality,
float  shadowTreshold 
) [virtual]

bool CVolume::CreateFboTextures (  )  [protected]

Definition at line 1187 of file Volume.cpp.

References fboSize, txColorBack, txColorFront, txDepthBack, and txDepthFront.

Referenced by CreateOpenGL(), and Render().

bool CVolume::CreateOpenGL (  )  [virtual]

void CVolume::Destroy (  )  [protected, virtual]

Definition at line 86 of file Volume.cpp.

References noiseTex, pFormat, pLight, and pProgram.

Referenced by ~CVolume().

bool CVolume::DestroyOpenGL (  )  [virtual]

std::string& CVolume::GetFileName (  )  [inline]

Definition at line 73 of file Volume.h.

CVector2f CVolume::GetOrientation (  )  [inline]

Definition at line 75 of file Volume.h.

References rotX, and rotY.

CVolumeFormat& CVolume::GetVolumeDataInfo (  )  [inline]

Definition at line 74 of file Volume.h.

References pFormat.

bool CVolume::OnMouseKeyDown ( byte  bKey  )  [virtual]

Reimplemented from IInputHandler.

Definition at line 1277 of file Volume.cpp.

References leftKeyDown, and middleKeyDown.

bool CVolume::OnMouseKeyUp ( byte  bKey  )  [virtual]

Reimplemented from IInputHandler.

Definition at line 1288 of file Volume.cpp.

References leftKeyDown, and middleKeyDown.

bool CVolume::OnMouseMove ( sdword  sdwX,
sdword  sdwY,
sdword  sdwZ 
) [virtual]

Reimplemented from IInputHandler.

Definition at line 1263 of file Volume.cpp.

References leftKeyDown, middleKeyDown, rotX, and rotY.

void CVolume::Render (  )  [virtual]

void CVolume::SetApplyNoise ( bool  applyNoise  ) 

Definition at line 385 of file Volume.cpp.

References applyNoise, and needUpdateUniform.

void CVolume::SetFboSize ( int  fboSize  ) 

Definition at line 357 of file Volume.cpp.

References fboSize, and needUpdateFBO.

void CVolume::SetHighQuality ( bool  tf  ) 

Definition at line 413 of file Volume.cpp.

References applyNoise, maxSamples, needUpdateUniform, shadowQuality, and stepSize.

void CVolume::SetLight ( TSmartPointer< CLight pL  )  [inline]

Definition at line 83 of file Volume.h.

References pLight.

void CVolume::SetMaxSamples ( int  maxSamples  ) 

Definition at line 371 of file Volume.cpp.

References maxSamples, and needUpdateUniform.

void CVolume::SetMinClip ( float  minClip  ) 

Definition at line 378 of file Volume.cpp.

References minClip, and needUpdateUniform.

void CVolume::SetOrientation ( float  nrotX,
float  nrotY 
) [inline]

Definition at line 97 of file Volume.h.

References rotX, and rotY.

void CVolume::SetRenderMode ( int  renderMode  ) 

Definition at line 350 of file Volume.cpp.

References needUpdateUniform, and renderMode.

void CVolume::SetRenderSlice ( bool  bxSlice,
bool  bySlice,
bool  bzSlice 
)

void CVolume::SetShadowEnabled ( bool  tf  ) 

Definition at line 392 of file Volume.cpp.

References needUpdateUniform, and shadowEnabled.

void CVolume::SetShadowQuality ( float  q  ) 

Definition at line 406 of file Volume.cpp.

References needUpdateUniform, and shadowQuality.

void CVolume::SetShadowTreshold ( float  t  ) 

Definition at line 399 of file Volume.cpp.

References needUpdateUniform, and shadowTreshold.

void CVolume::SetSliceDepth ( int  slizePlaneID,
float  depth 
)

Definition at line 495 of file Volume.cpp.

References Slice::depth, xSlice, ySlice, and zSlice.

void CVolume::SetSliceInViewSpace ( bool  tf  ) 

Definition at line 459 of file Volume.cpp.

References bSliceInViewSpace.

void CVolume::SetStepSize ( float  stepSize  ) 

Definition at line 364 of file Volume.cpp.

References needUpdateUniform, and stepSize.

void CVolume::SwitchProgram ( TSmartPointer< CGLProgram newProgram  ) 

Definition at line 453 of file Volume.cpp.

References pProgram.

void CVolume::UpdateUniform (  )  [protected]

void CVolume::ViewAspectChange ( float  newAspect  )  [inline]

Definition at line 96 of file Volume.h.

References viewAspect.


Member Data Documentation

bool CVolume::applyNoise [private]

Definition at line 156 of file Volume.h.

Referenced by SetApplyNoise(), SetHighQuality(), and UpdateUniform().

Definition at line 166 of file Volume.h.

Referenced by CVolume(), Render(), and SetSliceInViewSpace().

bool CVolume::created [private]

Definition at line 120 of file Volume.h.

Referenced by Create(), and CVolume().

unsigned int CVolume::cubeDispList [private]

Definition at line 135 of file Volume.h.

Referenced by CreateOpenGL(), DestroyOpenGL(), and Render().

bool CVolume::cullFaceEnabled [private]

Definition at line 151 of file Volume.h.

Referenced by CVolume().

int CVolume::fboSize [private]

Definition at line 154 of file Volume.h.

Referenced by CreateFboTextures(), Render(), and SetFboSize().

std::string CVolume::fileName [private]

Definition at line 118 of file Volume.h.

Referenced by Create(), CreateOpenGL(), CVolume(), and DestroyOpenGL().

unsigned int CVolume::frameBuffer [private]

Definition at line 149 of file Volume.h.

Referenced by CreateOpenGL(), CVolume(), DestroyOpenGL(), and Render().

Definition at line 145 of file Volume.h.

Referenced by UpdateUniform().

unsigned int CVolume::loc [private]

Definition at line 162 of file Volume.h.

Referenced by Render(), CTransferProperty::UpdateShader(), and UpdateUniform().

int CVolume::maxSamples [private]

Definition at line 157 of file Volume.h.

Referenced by SetHighQuality(), SetMaxSamples(), and UpdateUniform().

float CVolume::minClip [private]

Definition at line 155 of file Volume.h.

Referenced by SetMinClip(), and UpdateUniform().

bool CVolume::needUpdateFBO [private]

Definition at line 152 of file Volume.h.

Referenced by CVolume(), Render(), and SetFboSize().

int CVolume::nmbActiveSlices [private]

Definition at line 170 of file Volume.h.

Referenced by CVolume(), Render(), and SetRenderSlice().

uchar* CVolume::noiseTex [private]

Definition at line 137 of file Volume.h.

Referenced by Create(), CreateOpenGL(), CVolume(), and Destroy().

int CVolume::noiseTexSize [private]

Definition at line 138 of file Volume.h.

Referenced by Create(), CreateOpenGL(), and CVolume().

float* CVolume::pCubeColors [private]

Definition at line 132 of file Volume.h.

Referenced by CreateOpenGL().

unsigned char* CVolume::pCubeIndices [private]

Definition at line 133 of file Volume.h.

Referenced by CreateOpenGL().

int* CVolume::pCubeNormals [private]

Definition at line 130 of file Volume.h.

Referenced by CreateOpenGL().

int* CVolume::pCubeTexCoords [private]

Definition at line 131 of file Volume.h.

Referenced by CreateOpenGL().

int* CVolume::pCubeVertices [private]

Definition at line 129 of file Volume.h.

Referenced by CreateOpenGL().

Definition at line 140 of file Volume.h.

Referenced by Create(), CreateOpenGL(), CVolume(), Destroy(), GetVolumeDataInfo(), Render(), and UpdateUniform().

Definition at line 144 of file Volume.h.

Referenced by CVolume(), Destroy(), Render(), SetLight(), and UpdateUniform().

Definition at line 142 of file Volume.h.

Referenced by Create(), CVolume(), Destroy(), Render(), SwitchProgram(), and UpdateUniform().

Definition at line 164 of file Volume.h.

Referenced by AddTransferProperty(), and Render().

int CVolume::renderMode [private]

Definition at line 154 of file Volume.h.

Referenced by Create(), CVolume(), Render(), and SetRenderMode().

float CVolume::rotX [private]

Definition at line 173 of file Volume.h.

Referenced by CVolume(), GetOrientation(), OnMouseMove(), Render(), and SetOrientation().

float CVolume::rotY [private]

Definition at line 174 of file Volume.h.

Referenced by CVolume(), GetOrientation(), OnMouseMove(), Render(), and SetOrientation().

bool CVolume::shadowEnabled [private]

Definition at line 158 of file Volume.h.

Referenced by SetShadowEnabled(), and UpdateUniform().

float CVolume::shadowQuality [private]

Definition at line 160 of file Volume.h.

Referenced by SetHighQuality(), SetShadowQuality(), and UpdateUniform().

float CVolume::shadowTreshold [private]

Definition at line 159 of file Volume.h.

Referenced by SetShadowTreshold(), and UpdateUniform().

float CVolume::stepSize [private]

Definition at line 155 of file Volume.h.

Referenced by SetHighQuality(), SetStepSize(), and UpdateUniform().

unsigned int CVolume::txColorBack [private]

Definition at line 147 of file Volume.h.

Referenced by CreateFboTextures(), CVolume(), DestroyOpenGL(), and Render().

unsigned int CVolume::txColorFront [private]

Definition at line 147 of file Volume.h.

Referenced by CreateFboTextures(), CVolume(), DestroyOpenGL(), and Render().

unsigned int CVolume::txDepthBack [private]

Definition at line 147 of file Volume.h.

Referenced by CreateFboTextures(), CVolume(), DestroyOpenGL(), and Render().

unsigned int CVolume::txDepthFront [private]

Definition at line 147 of file Volume.h.

Referenced by CreateFboTextures(), CVolume(), DestroyOpenGL(), and Render().

unsigned int CVolume::txNoise [private]

Definition at line 147 of file Volume.h.

Referenced by CreateOpenGL(), and Render().

unsigned int CVolume::txTransfer [private]

Definition at line 147 of file Volume.h.

Referenced by Render().

unsigned int CVolume::txVol [private]

Definition at line 147 of file Volume.h.

Referenced by CreateOpenGL(), CVolume(), DestroyOpenGL(), and Render().

float CVolume::viewAspect [private]

Definition at line 171 of file Volume.h.

Referenced by CVolume(), Render(), and ViewAspectChange().

Definition at line 167 of file Volume.h.

Referenced by Render(), SetRenderSlice(), and SetSliceDepth().

Definition at line 168 of file Volume.h.

Referenced by Render(), SetRenderSlice(), and SetSliceDepth().

Definition at line 169 of file Volume.h.

Referenced by Render(), SetRenderSlice(), and SetSliceDepth().


The documentation for this class was generated from the following files:

Generated on Wed Dec 10 03:22:18 2008 for VStudio by  doxygen 1.5.7.1