34 enum ColourSpaces { NONE, GREYSCALE, sRGB, CIELAB, BINARY };
37 enum CompressionType { UNCOMPRESSED, JPEG, DEFLATE, PNG };
40 enum SampleType { FIXEDPOINT, FLOATINGPOINT };
113 RawTile(
int tn = 0,
int res = 0,
int hs = 0,
int vs = 0,
114 int w = 0,
int h = 0,
int c = 0,
int b = 0 ) {
115 width = w; height = h; bpc = b; dataLength = 0; data = NULL;
116 tileNum = tn; resolution = res; hSequence = hs ; vSequence = vs;
117 memoryManaged = 1; channels = c; compressionType = UNCOMPRESSED; quality = 0;
118 timestamp = 0; sampleType = FIXEDPOINT; padded =
false;
124 if( data && memoryManaged ){
127 if( sampleType == FLOATINGPOINT )
delete[] (
float*) data;
128 else delete[] (
unsigned int*) data;
131 delete[] (
unsigned short*) data;
134 delete[] (
unsigned char*) data;
163 if( sampleType == FLOATINGPOINT ) data =
new float[dataLength/4];
164 else data =
new unsigned int[dataLength/4];
167 data =
new unsigned short[dataLength/2];
174 if( data && (dataLength > 0) && tile.
data ){
175 memcpy( data, tile.
data, dataLength );
203 if( sampleType == FLOATINGPOINT ) data =
new float[dataLength/4];
204 else data =
new int[dataLength/4];
207 data =
new unsigned short[dataLength/2];
214 if( data && (dataLength > 0) && tile.
data ){
215 memcpy( data, tile.
data, dataLength );
int vSequence
The vertical angle to which this tile belongs.
Definition: RawTile.h:59
bool padded
Padded.
Definition: RawTile.h:100
SampleType sampleType
Sample format type (fixed or floating point)
Definition: RawTile.h:97
unsigned int dataLength
The size of the data pointed to by data.
Definition: RawTile.h:82
int resolution
The resolution to which this tile belongs.
Definition: RawTile.h:53
RawTile(const RawTile &tile)
Copy constructor - handles copying of data buffer.
Definition: RawTile.h:142
void * data
Pointer to the image data.
Definition: RawTile.h:74
unsigned int height
The height in pixels of this tile.
Definition: RawTile.h:88
int hSequence
The horizontal angle to which this tile belongs.
Definition: RawTile.h:56
int tileNum
The tile number for this tile.
Definition: RawTile.h:50
RawTile & operator=(const RawTile &tile)
Copy assignment constructor.
Definition: RawTile.h:182
CompressionType compressionType
Compression type.
Definition: RawTile.h:62
int bpc
The number of bits per channel for this tile.
Definition: RawTile.h:94
int memoryManaged
Definition: RawTile.h:79
std::string filename
Name of the file from which this tile comes.
Definition: RawTile.h:68
unsigned int width
The width in pixels of this tile.
Definition: RawTile.h:85
RawTile(int tn=0, int res=0, int hs=0, int vs=0, int w=0, int h=0, int c=0, int b=0)
Main constructor.
Definition: RawTile.h:113
~RawTile()
Destructor to free the data array if is has previously be allocated locally.
Definition: RawTile.h:123
int channels
The number of channels for this tile.
Definition: RawTile.h:91
int quality
Compression rate or quality.
Definition: RawTile.h:65
friend int operator!=(const RawTile &A, const RawTile &B)
Overloaded non-equality operator.
Definition: RawTile.h:243
friend int operator==(const RawTile &A, const RawTile &B)
Overloaded equality operator.
Definition: RawTile.h:228
unsigned int size()
Return the size of the data.
Definition: RawTile.h:224
time_t timestamp
Tile timestamp.
Definition: RawTile.h:71
Class to represent a single image tile.
Definition: RawTile.h:45