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

extfile::CachedExtentFile Class Reference

Extent file with extent cache. More...

#include <ExtentFile.h>

Inheritance diagram for extfile::CachedExtentFile::

extfile::ExtentFile List of all members.

Public Methods

 CachedExtentFile ()
 ~CachedExtentFile ()
bool open (const char *configFileName, const UInt32 cacheSize)
bool close ()
void * getExtent (int rf, int x, int y, int z, int c)
UInt32 getVoxel (int rf, int x, int y, int z, int c)
void getSlice (float xp, float yp, float zp, float ux, float uy, float uz, float vx, float vy, float vz, float zoom, int w, int h, void *data, int c)

Detailed Description

Extent file with extent cache.

This class provides read functionality from extent files enabling access to individual voxels. To keep this somewhat efficient, the extents are stored in a cache, with a least recently used mechanism to dump extents when more space is required.


Constructor & Destructor Documentation

extfile::CachedExtentFile::CachedExtentFile   [inline]
 

Constructor.

extfile::CachedExtentFile::~CachedExtentFile   [inline]
 

Destructor.


Member Function Documentation

bool extfile::CachedExtentFile::close  
 

Close an extent file.

Reimplemented from extfile::ExtentFile.

void* extfile::CachedExtentFile::getExtent int    rf,
int    x,
int    y,
int    z,
int    c
[inline]
 

Get a pointer to a specific channel in an extent.

Parameters:
rf  Requested resolution
x  X position of extent in dataset
y  Y position of extent in dataset
z  Z position of extent in dataset
c  Channel

void extfile::CachedExtentFile::getSlice float    xp,
float    yp,
float    zp,
float    ux,
float    uy,
float    uz,
float    vx,
float    vy,
float    vz,
float    zoom,
int    w,
int    h,
void *    data,
int    c
 

Extract a slice from the dataset.

Parameters:
xp  X position of center of slice
yp  Y position of center of slice
zp  Z position of center of slice
ux  X component of right vector in slice
uy  Y component of right vector in slice
uz  Z component of right vector in slice
vx  X component of up vector in slice
vy  Y component of up vector in slice
vz  Z component of up vector in slice
zoom  Zoom factor for slice (in pixels per unit)
w  Width of output bitmap
h  Height of output bitmap
c  Channel to extract slice from This method extracts slices of arbitrary orientation from the dataset. It is provided to illustrate one method for slice extraction, and is not optimized for performance. The units for position and zoom are given by the aspect ratio specified in the XML descriptor.

UInt32 extfile::CachedExtentFile::getVoxel int    rf,
int    x,
int    y,
int    z,
int    c
[inline]
 

Get a specific voxel from the dataset.

Parameters:
rf  Requested resolution
x  X position of voxel in dataset
y  Y position of voxel in dataset
z  Z position of voxel in dataset
c  Channel

bool extfile::CachedExtentFile::open const char *    configFileName,
const UInt32    cs
 

Open an extent file.

Parameters:
configFileName  Name of XML file containing extent file description
cacheSize  Size of cache in bytes


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