Isis Developer Reference
CubeTileHandler.h
Go to the documentation of this file.
1 #ifndef CubeTileHandler_h
2 #define CubeTileHandler_h
3 
8 /* SPDX-License-Identifier: CC0-1.0 */
9 
10 #include "CubeIoHandler.h"
11 
12 namespace Isis {
13 
35  class CubeTileHandler : public CubeIoHandler {
36  public:
37  CubeTileHandler(QFile * dataFile, const QList<int> *virtualBandList,
38  const Pvl &label, bool alreadyOnDisk);
40 
41  void updateLabels(Pvl &label);
42 
43  protected:
44  virtual void readRaw(RawCubeChunk &chunkToFill);
45  virtual void writeRaw(const RawCubeChunk &chunkToWrite);
46 
47  private:
53  CubeTileHandler(const CubeTileHandler &other);
54 
62  CubeTileHandler &operator=(const CubeTileHandler &other);
63 
64  int findGoodSize(int maxSize, int dimensionSize) const;
65  BigInt getTileStartByte(const RawCubeChunk &chunk) const;
66  };
67 }
68 
69 #endif
Isis::SizeOf
int SizeOf(Isis::PixelType pixelType)
Returns the number of bytes of the specified PixelType.
Definition: PixelType.h:46
Isis::RawCubeChunk
A section of raw data on the disk.
Definition: RawCubeChunk.h:27
Isis::IException::Io
@ Io
A type of error that occurred when performing an actual I/O operation.
Definition: IException.h:155
Isis::PvlObject
Contains Pvl Groups and Pvl Objects.
Definition: PvlObject.h:61
Isis::PvlKeyword
A single keyword-value pair.
Definition: PvlKeyword.h:82
QList< int >
Isis::CubeIoHandler::sampleCount
int sampleCount() const
Definition: CubeIoHandler.cpp:596
Isis::CubeIoHandler::pixelType
PixelType pixelType() const
Definition: CubeIoHandler.cpp:587
Isis::PvlContainer::addKeyword
void addKeyword(const PvlKeyword &keyword, const InsertMode mode=Append)
Add a keyword to the container.
Definition: PvlContainer.cpp:202
Isis::CubeIoHandler::getBytesPerChunk
BigInt getBytesPerChunk() const
Definition: CubeIoHandler.cpp:486
CubeTileHandler.h
Isis::Pvl
Container for cube-like labels.
Definition: Pvl.h:119
Isis::RawCubeChunk::getRawData
QByteArray & getRawData() const
Definition: RawCubeChunk.h:38
Isis::CubeTileHandler::~CubeTileHandler
~CubeTileHandler()
Writes all data from memory to disk.
Definition: CubeTileHandler.cpp:56
Isis::CubeIoHandler::getDataFile
QFile * getDataFile()
Definition: CubeIoHandler.cpp:562
RawCubeChunk.h
Isis::CubeIoHandler::getSampleCountInChunk
int getSampleCountInChunk() const
Definition: CubeIoHandler.cpp:604
Isis::toString
QString toString(bool boolToConvert)
Global function to convert a boolean to a string.
Definition: IString.cpp:211
Isis::RawCubeChunk::getByteCount
int getByteCount() const
Definition: RawCubeChunk.cpp:154
Isis::CubeIoHandler::lineCount
int lineCount() const
Definition: CubeIoHandler.cpp:571
Pvl.h
Isis::CubeIoHandler::getDataStartByte
BigInt getDataStartByte() const
Definition: CubeIoHandler.cpp:551
_FILEINFO_
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
Isis::PvlObject::hasKeyword
bool hasKeyword(const QString &kname, FindOptions opts) const
See if a keyword is in the current PvlObject, or deeper inside other PvlObjects and Pvlgroups within ...
Definition: PvlObject.cpp:236
Isis::CubeIoHandler
Handles converting buffers to and from disk.
Definition: CubeIoHandler.h:109
Isis::BigInt
long long int BigInt
Big int.
Definition: Constants.h:49
Isis::PvlObject::findObject
PvlObjectIterator findObject(const QString &name, PvlObjectIterator beg, PvlObjectIterator end)
Find the index of object with a specified name, between two indexes.
Definition: PvlObject.h:274
Isis::CubeTileHandler::updateLabels
void updateLabels(Pvl &label)
Update the cube labels so that this cube indicates what tile size it used.
Definition: CubeTileHandler.cpp:66
Isis::CubeIoHandler::getChunkIndex
int getChunkIndex(const RawCubeChunk &) const
Given a chunk, what's its index in the file.
Definition: CubeIoHandler.cpp:530
Isis::IException
Isis exception class.
Definition: IException.h:91
Isis::RawCubeChunk::setRawData
void setRawData(QByteArray rawData)
Sets the chunk's raw data.
Definition: RawCubeChunk.cpp:101
Isis::CubeTileHandler
IO Handler for Isis Cubes using the tile format.
Definition: CubeTileHandler.h:35
Isis::CubeTileHandler::readRaw
virtual void readRaw(RawCubeChunk &chunkToFill)
This needs to populate the chunkToFill with unswapped raw bytes from the disk.
Definition: CubeTileHandler.cpp:77
IException.h
Isis::CubeTileHandler::CubeTileHandler
CubeTileHandler(QFile *dataFile, const QList< int > *virtualBandList, const Pvl &label, bool alreadyOnDisk)
Construct a tile handler.
Definition: CubeTileHandler.cpp:32
std
Namespace for the standard library.
Isis::PvlContainer::Replace
@ Replace
Definition: PvlContainer.h:95
PvlKeyword.h
Isis::CubeIoHandler::clearCache
void clearCache(bool blockForWriteCache=true) const
Free all cube chunks (cached cube data) from memory and write them to disk.
Definition: CubeIoHandler.cpp:383
PvlObject.h
Isis::IString
Adds specific functionality to C++ strings.
Definition: IString.h:165
Isis::CubeIoHandler::setChunkSizes
void setChunkSizes(int numSamples, int numLines, int numBands)
This should be called once from the child constructor.
Definition: CubeIoHandler.cpp:621
CubeIoHandler.h
Isis::CubeTileHandler::writeRaw
virtual void writeRaw(const RawCubeChunk &chunkToWrite)
This needs to write the chunkToWrite directly to disk with no modifications to the data itself.
Definition: CubeTileHandler.cpp:102
Isis::CubeIoHandler::getLineCountInChunk
int getLineCountInChunk() const
Definition: CubeIoHandler.cpp:579
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16