#ifndef __VOXEL_DATA_H__
#define __VOXEL_DATA_H__
#include <qcolor.h>
#include <qimage.h>
#include <q3memarray.h>
#include <QPixmap>
class QDataStream;
typedef QRgb** VoxelLayer;
class VoxelData
{
public:
VoxelData( int w, int h, int d );
~VoxelData();
QRgb **layer( int z );
QPixmap render( int scaleFactor, int rx, int ry, int rz );
int width() const { return vw; }
int height() const { return vh; }
int depth() const { return vd; }
QRgb colorOf( int x, int y, int z, int rx, int ry, int rz );
void read( QDataStream &ds );
void write( QDataStream &ds );
private:
void init();
static int *cosT;
static int *sinT;
Q3MemArray<VoxelLayer> layers;
int vw;
int vh;
int vd;
};
#endif // __VOXEL_DATA_H__