Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

extfile::ExtentFile Class Reference

Class for reading extent files. More...

#include <ExtentFile.h>

Inheritance diagram for extfile::ExtentFile::

extfile::CachedExtentFile List of all members.

Public Methods

 ExtentFile ()
 ~ExtentFile ()
bool open (const char *configFileName)
bool close ()
void loadExtent (int en, void *target)
bool getCube (int r, int x0, int y0, int z0, int x1, int y1, int z1, int c, void *target)

Public Attributes

ExtentFileDescriptor efd
Int32 diskCount
FileWrapper data [MAXSTRIPES]
UInt32address
UInt8tempBuffer
Int32 zoomLevels
UInt32 extOff [MAXZOOM]
Int32 extX [MAXZOOM]
Int32 extY [MAXZOOM]
Int32 extZ [MAXZOOM]
Int32 sizeX [MAXZOOM]
Int32 sizeY [MAXZOOM]
Int32 sizeZ [MAXZOOM]
Int32 extSizeX
Int32 extSizeY
Int32 extSizeZ
Int32 realExtSizeX
Int32 realExtSizeY
Int32 realExtSizeZ
Int32 imgSizeX
Int32 imgSizeY
Int32 imgSizeZ
Int32 extCount
Int32 extSize
double voxelSizeX
double voxelSizeY
double voxelSizeZ
LabelDescriptionlabels
Int32 labelCount
bool active
StripeFunc stripefunc

Detailed Description

Class for reading extent files.

An extent file is a representation of a volume dataset on disk where the data is segmented into small cubes. This class is intended for applications that require low level access to extent files, since it exposes only two read methods: one to read a given subvolume of an extent file, and another to read a single extent. For more functions, you can used CachedExtentFile.


Constructor & Destructor Documentation

extfile::ExtentFile::ExtentFile   [inline]
 

Constructor.

extfile::ExtentFile::~ExtentFile   [inline]
 

Destructor.


Member Function Documentation

bool extfile::ExtentFile::close  
 

Close the extent file.

Reimplemented in extfile::CachedExtentFile.

bool extfile::ExtentFile::getCube int    r,
int    x0,
int    y0,
int    z0,
int    x1,
int    y1,
int    z1,
int    c,
void *    target
 

Load a subset of the volume.

Parameters:
r  resolution
x0  X coordinate of upper left corner
y0  Y coordinate of upper left corner
z0  Z coordinate of upper left corner
x1  X coordinate of lower right corner
y1  Y coordinate of lower right corner
z1  Z coordinate of lower right corner
c  channel to read
target  target buffer for extent

void extfile::ExtentFile::loadExtent int    en,
void *    target
 

Load an extent.

Parameters:
en  index of the extent to load
target  target buffer for extent The target buffer must be at least the size of the extent (complete size of extent taking into account all fat and all channels, rounded up to the next extent file block size)

bool extfile::ExtentFile::open const char *    configFileName
 

Open the extent file.


Member Data Documentation

bool extfile::ExtentFile::active
 

Is this file open?

UInt32* extfile::ExtentFile::address
 

Address table.

FileWrapper extfile::ExtentFile::data[MAXSTRIPES]
 

File handles for the stripes.

Int32 extfile::ExtentFile::diskCount
 

Number of stripes.

ExtentFileDescriptor extfile::ExtentFile::efd
 

Descriptor of the extent file.

Int32 extfile::ExtentFile::extCount
 

Total number of extents.

UInt32 extfile::ExtentFile::extOff[MAXZOOM]
 

Offset of the first extent for each resolution.

Int32 extfile::ExtentFile::extSize
 

Size of an extent in bytes.

Int32 extfile::ExtentFile::extSizeX
 

Size of the extents (including fat).

Int32 extfile::ExtentFile::extSizeY
 

Size of the extents (including fat).

Int32 extfile::ExtentFile::extSizeZ
 

Size of the extents (including fat).

Int32 extfile::ExtentFile::extX[MAXZOOM]
 

Int32 extfile::ExtentFile::extY[MAXZOOM]
 

Int32 extfile::ExtentFile::extZ[MAXZOOM]
 

Int32 extfile::ExtentFile::imgSizeX
 

Complete size of dataset at highest resolution.

Int32 extfile::ExtentFile::imgSizeY
 

Complete size of dataset at highest resolution.

Int32 extfile::ExtentFile::imgSizeZ
 

Complete size of dataset at highest resolution.

Int32 extfile::ExtentFile::labelCount
 

Number of labels.

LabelDescription* extfile::ExtentFile::labels
 

Labels.

Int32 extfile::ExtentFile::realExtSizeX
 

Useful size of extents (excluding fat).

Int32 extfile::ExtentFile::realExtSizeY
 

Useful size of extents (excluding fat).

Int32 extfile::ExtentFile::realExtSizeZ
 

Useful size of extents (excluding fat).

Int32 extfile::ExtentFile::sizeX[MAXZOOM]
 

Int32 extfile::ExtentFile::sizeY[MAXZOOM]
 

Int32 extfile::ExtentFile::sizeZ[MAXZOOM]
 

StripeFunc extfile::ExtentFile::stripefunc
 

Striping function.

UInt8* extfile::ExtentFile::tempBuffer
 

Temp buffer for decoding extents.

double extfile::ExtentFile::voxelSizeX
 

Size of voxels.

double extfile::ExtentFile::voxelSizeY
 

Size of voxels.

double extfile::ExtentFile::voxelSizeZ
 

Size of voxels.

Int32 extfile::ExtentFile::zoomLevels
 

Number of resolutions.


The documentation for this class was generated from the following files:
Generated on Wed May 29 11:50:17 2002 for Extent File System by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001