Main Page | Packages | Class Hierarchy | Class List | Directories | Class Members

IDVR.Volume.DataStructures.VolumeData Class Reference

#include <VolumeData.h>

List of all members.


Detailed Description

Class for controlling the whole volume data set containing all needed attributes.

This class is part of the DataStructure namespace which is actually a subnamespace of the main namespace Volume. Furthermore the standard class Object is inherted to the VolumeData class for better controlling of a particular quantity of VolumeData instances.

With an instance of this class it is possible to represent the whole volume data set with all its components and attributes. Furthermore, a set of different member function builds up an interfave with which the access and the controll of the current load volume data will be easily managed.

The following main components are essential for the correct representation of the colume data and, thus, is part of this class:

See also:
DataObject - the volume data object class.
Author:
Bernhard Pflugfelder
Version:
1.0
Date:
02-18-2005


Public Member Functions

 VolumeData (void)
 This is the standard constructor.
 VolumeData (unsigned short n_VolumeDimension __gc[], unsigned short n_DensityScope)
 Constructor initialization with the valid volume data dimension.
 ~VolumeData (void)
 This is the standard deconstructor.
__property unsigned short get_ObjectCount (void)
 Returns the current number of objects.
__property unsigned short get_VolumeDimension (void) __gc[]
 Returns the current volume dimension.
__property unsigned int get_VoxelCountOverall (void)
 Returns the overall count of voxel for the current dataset.
__property VoxelDataget_VoxelDataset (void)
 Returns the current voxel data set.
__property bool get_GradientsPreCalculated (void)
 Returns the flag value whether all gradient values are already calculated and saved or not.
__property void set_GradientsPreCalculated (bool n_GradientsPreCalculated)
 Sets the flag value whether all gradient values are already calculated and saved or not.
bool haveObjects (void)
 Returns whether volume data objects are stored in the current data structure.
void addGeneralObject (String *n_ObjectDescription, unsigned short n_Importance, IRenderer *n_Renderer)
 Creates the general volume data object (always with objectID = 0).
unsigned short addObject (String *n_ObjectDescription, unsigned short n_Importance, IRenderer *n_Renderer)
 Adds a new volume data object object to the current data structure.
void removeObject (unsigned short n_ObjectID)
 Removes the specified volume data object of the current volume data set.
void addVoxel (unsigned short n_VoxelCoordinates __gc[], unsigned short n_Density, unsigned short n_ObjectID)
 Sets the specified voxel element with the choosen density value and object ID.
void addVoxel (unsigned short n_VoxelCoordinates __gc[], unsigned short n_Density)
 Sets the specified voxel element with the choosen density value.
DataObjectgetObjectMember (unsigned short n_ObjectID)
 Returns the data object width the specified objectID.
Array * getObjectIDs (void)
 Returns all used object IDs of the current data set.
DataObjectgetObjectMember (unsigned short n_VoxelCoordinates __gc[])
 Returns the data object to which the specified voxel belongs.
DataObjectgetGeneralDataObject (void)
 Returns the general data object (objectID = 0).
int getMaxVoxelCount (void)
 Returns the overall numer of voxels of the current volume data set.
unsigned short getVoxelSliceX (unsigned short n_SliceX) __gc[
 Returns the slice of the volume data set with the constant specified x-value.
unsigned short unsigned short getVoxelSliceY (unsigned short n_SliceY) __gc[
 Returns the slice of the volume data set with the constant specified y-value.
unsigned short unsigned short
unsigned short 
getVoxelSliceZ (unsigned short n_SliceZ) __gc[
 Returns the slice of the volume data set with the constant specified z-value.
unsigned short unsigned short
unsigned short void 
setIIDVRCompositingModel (IIDVRCompositingModel *n_IIDVRCompositingModel)
 Sets a new IIDVRCompositingModel.
IIDVRCompositingModelgetIIDVRCompositingModel (void)
 Returns the IIDVRCompositingModel of the current volume data set.
void createGeneralIDVRObjects (void)
 Creates the general IIDVRCompositingModel (MImP with ColAndOp).
void resetDataset (void)
 Resets the current volume data set to default status.
unsigned short getVoxelImportance (unsigned short n_DataItem)
 Returns the importance value of the choosen object ID.
unsigned short getVoxelImportance (unsigned short n_VoxelCoordinates __gc[])
 Returns the importance value of the choosen voxel coordinates.
unsigned short getVoxelImportance (unsigned short n_Column, unsigned short n_Row, unsigned short n_Depth)
 Returns the importance value of the choosen voxel coordinates.

Private Types

enum  Indices
 Constant index values for the three components of the three dimensional volume data set.

Private Attributes

unsigned short m_DensityScope
 Saves the maximum valid density scope (e.g.
unsigned short m_NextFreeObjectKey
 Stores the next number which is not been assigned to a specific data object.
bool m_GradientsPreCalculated
 Gives information about whether the gradient values are already calcualeted or not.
VoxelDatam_VoxelData
 Saves the actual voxel data.
Hashtable * m_ObjectList
 Saves the actual volume data objects whereas the hash key is an unique number and the hash value is an instance of the DataObject class.
IIDVRCompositingModelm_IIDVRCompositingModel
 Saves the calculated data for IDVR compositing.


Constructor & Destructor Documentation

VolumeData::VolumeData void   ) 
 

This is the standard constructor.

All member variables of this new instance will be set to zero/null.

VolumeData::VolumeData unsigned short n_VolumeDimension  __gc[],
unsigned short  n_DensityScope
 

Constructor initialization with the valid volume data dimension.

All member variables will be set to zero.

Parameters:
n_VolumeDimension the valid size of the volume data set.
n_DensityScope the maximum valid number of gray values.

VolumeData::~VolumeData void   ) 
 

This is the standard deconstructor.

All member variables will be deleted.


Member Function Documentation

void VolumeData::addGeneralObject String *  n_ObjectDescription,
unsigned short  n_Importance,
IRenderer n_Renderer
 

Creates the general volume data object (always with objectID = 0).

This general data object represents the entire voume data. Thus, this data object must be always generated for correct representation of the data set.

Parameters:
n_ObjectDescription the description of the general volume data object.
n_Importance the importance value of the general volume data object.
n_Renderer the render model of the general volume data object.

unsigned short VolumeData::addObject String *  n_ObjectDescription,
unsigned short  n_Importance,
IRenderer n_Renderer
 

Adds a new volume data object object to the current data structure.

Parameters:
n_ObjectDescription the description of the new volume data object.
n_Importance the importance value of the general new data object.
n_Renderer the render model of the general new data object.

void VolumeData::addVoxel unsigned short n_VoxelCoordinates  __gc[],
unsigned short  n_Density
 

Sets the specified voxel element with the choosen density value.

The associated volume data object is the current general data object (ID = 0).

Parameters:
n_VoxelCoordinates the uniquely address of the actual voxel.
n_Density the new density value.
Exceptions:
An instance of the Exception class will be thrown if the voxel coordinates is not valid.

void VolumeData::addVoxel unsigned short n_VoxelCoordinates  __gc[],
unsigned short  n_Density,
unsigned short  n_ObjectID
 

Sets the specified voxel element with the choosen density value and object ID.

Parameters:
n_VoxelCoordinates the uniquely address of the actual voxel.
n_Density the new density value.
n_ObjectID the new object ID which links the voxel to the associated volume data object.
Exceptions:
An instance of the Exception class will be thrown if the voxel coordinates is not valid.

void IDVR.Volume.DataStructures.VolumeData.createGeneralIDVRObjects void   ) 
 

Creates the general IIDVRCompositingModel (MImP with ColAndOp).

bool VolumeData::get_GradientsPreCalculated void   ) 
 

Returns the flag value whether all gradient values are already calculated and saved or not.

Returns:
The actual flag as a bool value.

unsigned short VolumeData::get_ObjectCount void   ) 
 

Returns the current number of objects.

Returns:
The current number of stored data objects.

unsigned short VolumeData::get_VolumeDimension void   ) 
 

Returns the current volume dimension.

Returns:
The current volume dimension.

unsigned int VolumeData::get_VoxelCountOverall void   ) 
 

Returns the overall count of voxel for the current dataset.

Returns:
The voxel count of the current loaded data set.

VoxelData * VolumeData::get_VoxelDataset void   ) 
 

Returns the current voxel data set.

Returns:
The voxel data set as an instance of the Voxeldata class.

DataObject * VolumeData::getGeneralDataObject void   ) 
 

Returns the general data object (objectID = 0).

Returns:
The general volume data object.

IIDVRCompositingModel* IDVR.Volume.DataStructures.VolumeData.getIIDVRCompositingModel void   ) 
 

Returns the IIDVRCompositingModel of the current volume data set.

Returns:
An instance of the class IIDVRCompositingModel.

int VolumeData::getMaxVoxelCount void   ) 
 

Returns the overall numer of voxels of the current volume data set.

Returns:
The voxel count of the current volume data set.

Array * VolumeData::getObjectIDs void   ) 
 

Returns all used object IDs of the current data set.

Returns:
An instance of the standard class Array containing all valid object IDs.

DataObject * VolumeData::getObjectMember unsigned short n_VoxelCoordinates  __gc[]  ) 
 

Returns the data object to which the specified voxel belongs.

Parameters:
n_VoxelCoordinates the uniquely address of the actual voxel.
Returns:
The choosen volume data object.

DataObject * VolumeData::getObjectMember unsigned short  n_ObjectID  ) 
 

Returns the data object width the specified objectID.

Parameters:
n_ObjectID the new object ID which links the voxel to the associated volume data object.
Returns:
The choosen volume data object.

unsigned short IDVR.Volume.DataStructures.VolumeData.getVoxelImportance unsigned short  n_Column,
unsigned short  n_Row,
unsigned short  n_Depth
 

Returns the importance value of the choosen voxel coordinates.

Parameters:
n_Column the x element of the voxel coordinates.
n_Row the y element of the voxel coordinates.
n_Depth the z element of the voxel coordinates.
Exceptions:
An instance of the Exception class will be thrown if the voxel coordinates is not valid.

unsigned short IDVR.Volume.DataStructures.VolumeData.getVoxelImportance unsigned short n_VoxelCoordinates  __gc[]  ) 
 

Returns the importance value of the choosen voxel coordinates.

Parameters:
n_VoxelCoordinates the uniquely address of the actual voxel.
Exceptions:
An instance of the Exception class will be thrown if the voxel coordinates is not valid.

unsigned short IDVR.Volume.DataStructures.VolumeData.getVoxelImportance unsigned short  n_DataItem  ) 
 

Returns the importance value of the choosen object ID.

Parameters:
n_DataItem a uniquely number which is linked to an existing volume data object.
Exceptions:
An instance of the Exception class will be thrown if the object ID is not valid.

unsigned short VolumeData::getVoxelSliceX unsigned short  n_SliceX  ) 
 

Returns the slice of the volume data set with the constant specified x-value.

Parameters:
n_SliceX the x-value which defines the actual data slice.
Returns:
An two dimensional array containing all density values of the actual slice.

unsigned short unsigned short IDVR.Volume.DataStructures.VolumeData.getVoxelSliceY unsigned short  n_SliceY  ) 
 

Returns the slice of the volume data set with the constant specified y-value.

Parameters:
n_SliceY the y-value which defines the actual data slice.
Returns:
An two dimensional array containing all density values of the actual slice.

unsigned short unsigned short unsigned short IDVR.Volume.DataStructures.VolumeData.getVoxelSliceZ unsigned short  n_SliceZ  ) 
 

Returns the slice of the volume data set with the constant specified z-value.

Parameters:
n_SliceZ the z-value which defines the actual data slice.
Returns:
An two dimensional array containing all density values of the actual slice.

bool VolumeData::haveObjects void   ) 
 

Returns whether volume data objects are stored in the current data structure.

Returns:
True, if volume data contains at least one object.

void VolumeData::removeObject unsigned short  n_ObjectID  ) 
 

Removes the specified volume data object of the current volume data set.

Parameters:
n_ObjectID the uniquely assigned number which is actually the ID for the choosen volume data object.

void IDVR.Volume.DataStructures.VolumeData.resetDataset void   ) 
 

Resets the current volume data set to default status.

That means all objectIDs will be set to GENERALOBJECT and all stored volume data objects will be removed.

void VolumeData::set_GradientsPreCalculated bool  n_GradientsPreCalculated  ) 
 

Sets the flag value whether all gradient values are already calculated and saved or not.

Parameters:
n_GradientsPreCalculated the choosen flag as a bool value.

unsigned short unsigned short unsigned short void IDVR.Volume.DataStructures.VolumeData.setIIDVRCompositingModel IIDVRCompositingModel n_IIDVRCompositingModel  ) 
 

Sets a new IIDVRCompositingModel.

Parameters:
n_IIDVRCompositingModel an instance of the class IIDVRCompositingModel.


Member Data Documentation

unsigned short IDVR.Volume.DataStructures.VolumeData.m_DensityScope [private]
 

Saves the maximum valid density scope (e.g.

4096)


The documentation for this class was generated from the following files:
Generated on Sat Apr 9 11:51:01 2005 for RayCaster wiht Importance Driven Volume Rendering (IDVR) by  doxygen 1.4.1