Isis 3 Developer Reference
CubeBsqHandler.h
Go to the documentation of this file.
1 
23 #ifndef CubeBsqHandler_h
24 #define CubeBsqHandler_h
25 
26 #include "CubeIoHandler.h"
27 
28 namespace Isis {
57  class CubeBsqHandler : public CubeIoHandler {
58  public:
59  CubeBsqHandler(QFile * dataFile, const QList<int> *virtualBandList,
60  const Pvl &label, bool alreadyOnDisk);
62 
63  void updateLabels(Pvl &labels);
64 
65  protected:
66  virtual void readRaw(RawCubeChunk &chunkToFill);
67  virtual void writeRaw(const RawCubeChunk &chunkToWrite);
68 
69  private:
75  CubeBsqHandler(const CubeBsqHandler &other);
76 
84  CubeBsqHandler &operator=(const CubeBsqHandler &other);
85 
86  int findGoodSize(int maxSize, int dimensionSize) const;
87  BigInt getChunkStartByte(const RawCubeChunk &chunk) const;
88  };
89 }
90 
91 #endif
long long int BigInt
Big int.
Definition: Constants.h:65
virtual void readRaw(RawCubeChunk &chunkToFill)
This needs to populate the chunkToFill with unswapped raw bytes from the disk.
Definition: CubeBsqHandler.cpp:91
IO Handler for Isis Cubes using the BSQ format.
Definition: CubeBsqHandler.h:57
~CubeBsqHandler()
The destructor writes all cached data to disk.
Definition: CubeBsqHandler.cpp:74
Handles converting buffers to and from disk.
Definition: CubeIoHandler.h:125
void updateLabels(Pvl &labels)
Function to update the labels with a Pvl object.
Definition: CubeBsqHandler.cpp:84
A section of raw data on the disk.
Definition: RawCubeChunk.h:42
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:116
Container for cube-like labels.
Definition: Pvl.h:135
CubeBsqHandler(QFile *dataFile, const QList< int > *virtualBandList, const Pvl &label, bool alreadyOnDisk)
Construct a BSQ IO handler.
Definition: CubeBsqHandler.cpp:50
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31