File failed to load: https://isis.astrogeology.usgs.gov/9.0.0/Object/assets/jax/output/NativeMML/config.js
Isis 3 Programmer Reference
CubeBsqHandler.h
1#ifndef CubeBsqHandler_h
2#define CubeBsqHandler_h
7
8/* SPDX-License-Identifier: CC0-1.0 */
9
10#include "CubeIoHandler.h"
11
12namespace Isis {
42 public:
43 CubeBsqHandler(QFile * dataFile, const QList<int> *virtualBandList,
44 const Pvl &label, bool alreadyOnDisk);
46
47 void updateLabels(Pvl &labels);
48
49 protected:
50 virtual void readRaw(RawCubeChunk &chunkToFill);
51 virtual void writeRaw(const RawCubeChunk &chunkToWrite);
52
53 private:
60
69
70 int findGoodSize(int maxSize, int dimensionSize) const;
71 BigInt getChunkStartByte(const RawCubeChunk &chunk) const;
72 };
73}
74
75#endif
CubeBsqHandler(QFile *dataFile, const QList< int > *virtualBandList, const Pvl &label, bool alreadyOnDisk)
Construct a BSQ IO handler.
virtual void readRaw(RawCubeChunk &chunkToFill)
This needs to populate the chunkToFill with unswapped raw bytes from the disk.
virtual void writeRaw(const RawCubeChunk &chunkToWrite)
This needs to write the chunkToWrite directly to disk with no modifications to the data itself.
int findGoodSize(int maxSize, int dimensionSize) const
This method attempts to compute a good chunk line size.
BigInt getChunkStartByte(const RawCubeChunk &chunk) const
This is a helper method that goes from chunk to file position.
CubeBsqHandler & operator=(const CubeBsqHandler &other)
Disallow assignments of this object.
CubeBsqHandler(const CubeBsqHandler &other)
Disallow copying of this object.
void updateLabels(Pvl &labels)
Function to update the labels with a Pvl object.
~CubeBsqHandler()
The destructor writes all cached data to disk.
CubeIoHandler(QFile *dataFile, const QList< int > *virtualBandList, const Pvl &label, bool alreadyOnDisk)
Creates a new CubeIoHandler using a RegionalCachingAlgorithm.
Container for cube-like labels.
Definition Pvl.h:119
A section of raw data on the disk.
This is free and unencumbered software released into the public domain.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
long long int BigInt
Big int.
Definition Constants.h:49