44 class GdalIoHandler :
public ImageIoHandler {
46 GdalIoHandler(QString &dataFilePath,
const QList<int> *virtualBandList, GDALDataType pixelType = GDT_Float64, GDALAccess eAccess=GA_ReadOnly);
47 GdalIoHandler(GDALDataset *geodataSet,
const QList<int> *virtualBandList, GDALDataType pixelType = GDT_Float64);
49 virtual ~GdalIoHandler();
51 virtual void read(
Buffer &bufferToFill)
const;
52 virtual void write(
const Buffer &bufferToWrite);
54 virtual BigInt getDataSize()
const;
62 virtual void clearCache(
bool blockForWriteCache=
false) {
63 m_geodataSet->FlushCache(blockForWriteCache);
67 void readPixelType(
double *doubleBuff,
void *rawBuff,
int idx)
const;
68 bool writePixelType(
double *doubleBuff,
void *rawBuff,
int idx)
const;
70 GDALDataset *m_geodataSet =
nullptr;
71 std::string m_geodataSetPath =
"";
72 GDALDataType m_pixelType;
78 unsigned char *m_maskBuff =
nullptr;
79 bool m_datasetOwner =
false;
80 double m_gdalNoDataValue = NULL8;
81 std::string m_driverName;