File failed to load: https://isis.astrogeology.usgs.gov/dev/Object/assets/jax/output/NativeMML/config.js
Isis Developer Reference
CubeBsqHandler.h
Go to the documentation of this file.
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:
59 CubeBsqHandler(const CubeBsqHandler &other);
60
68 CubeBsqHandler &operator=(const CubeBsqHandler &other);
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.
Definition CubeBsqHandler.cpp:34
virtual void readRaw(RawCubeChunk &chunkToFill)
This needs to populate the chunkToFill with unswapped raw bytes from the disk.
Definition CubeBsqHandler.cpp:75
virtual void writeRaw(const RawCubeChunk &chunkToWrite)
This needs to write the chunkToWrite directly to disk with no modifications to the data itself.
Definition CubeBsqHandler.cpp:100
void updateLabels(Pvl &labels)
Function to update the labels with a Pvl object.
Definition CubeBsqHandler.cpp:68
~CubeBsqHandler()
The destructor writes all cached data to disk.
Definition CubeBsqHandler.cpp:58
CubeIoHandler(QFile *dataFile, const QList< int > *virtualBandList, const Pvl &label, bool alreadyOnDisk)
Creates a new CubeIoHandler using a RegionalCachingAlgorithm.
Definition CubeIoHandler.cpp:61
Container for cube-like labels.
Definition Pvl.h:122
A section of raw data on the disk.
Definition RawCubeChunk.h:27
This is free and unencumbered software released into the public domain.
Definition BoxcarCachingAlgorithm.h:13
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