Isis Developer Reference
RawCubeChunk.h
Go to the documentation of this file.
1#ifndef RawCubeChunk_h
2#define RawCubeChunk_h
8/* SPDX-License-Identifier: CC0-1.0 */
9
10class QByteArray;
11namespace Isis {
12 class Area3D;
13
28 public:
29 RawCubeChunk(const Area3D &placement, int numBytes);
30 RawCubeChunk(int startSample, int startLine, int startBand,
31 int endSample, int endLine, int endBand, int numBytes);
32 virtual ~RawCubeChunk();
33 bool isDirty() const;
34
38 QByteArray &getRawData() const {
39 return *m_rawBuffer;
40 }
41
42 void setRawData(QByteArray rawData);
43
44 unsigned char getChar(int offset) const;
45 short getShort(int offset) const;
46 float getFloat(int offset) const;
47
48 // The following methods are inlined for proven performance gain.
49
53 int getStartSample() const {
54 return m_startSample;
55 }
56
60 int getStartLine() const {
61 return m_startLine;
62 }
63
67 int getStartBand() const {
68 return m_startBand;
69 }
70
74 int sampleCount() const {
75 return m_sampleCount;
76 }
77
81 int lineCount() const {
82 return m_lineCount;
83 }
84
88 int bandCount() const {
89 return m_bandCount;
90 }
91
92 int getByteCount() const;
93
94 void setData(unsigned char value, int offset);
95 void setData(short value, int offset);
96 void setData(const float &value, const int &offset);
97 void setDirty(bool dirty);
98
99 private:
105 RawCubeChunk(const RawCubeChunk &other);
106
113 RawCubeChunk& operator=(const RawCubeChunk &other);
114
115 private:
117 bool m_dirty;
118
120 QByteArray *m_rawBuffer;
122 char *m_rawBufferInternalPtr;
123
125 int m_sampleCount;
127 int m_lineCount;
129 int m_bandCount;
130
132 int m_startSample;
134 int m_startLine;
136 int m_startBand;
137 };
138}
139
140#endif
141
Represents a 3D area (a 3D "cube")
Definition Area3D.h:29
A section of raw data on the disk.
Definition RawCubeChunk.h:27
int sampleCount() const
Definition RawCubeChunk.h:74
QByteArray & getRawData() const
Definition RawCubeChunk.h:38
short getShort(int offset) const
Definition RawCubeChunk.cpp:132
int getByteCount() const
Definition RawCubeChunk.cpp:153
void setData(unsigned char value, int offset)
Sets the char at the given offset in the raw data buffer of this chunk.
Definition RawCubeChunk.cpp:168
int getStartSample() const
Definition RawCubeChunk.h:53
void setDirty(bool dirty)
Sets the chunk's dirty flag, indicating whether or not the chunk's data matches the data that is on d...
Definition RawCubeChunk.cpp:209
int bandCount() const
Definition RawCubeChunk.h:88
void setRawData(QByteArray rawData)
Sets the chunk's raw data.
Definition RawCubeChunk.cpp:100
int getStartBand() const
Definition RawCubeChunk.h:67
RawCubeChunk(const Area3D &placement, int numBytes)
This constructor creates a new cube chunk based on the provided placement and data size.
Definition RawCubeChunk.cpp:28
int getStartLine() const
Definition RawCubeChunk.h:60
float getFloat(int offset) const
Definition RawCubeChunk.cpp:144
bool isDirty() const
Definition RawCubeChunk.cpp:89
unsigned char getChar(int offset) const
This method is currently not in use due to a faster way of getting data from the buffer (through the ...
Definition RawCubeChunk.cpp:120
int lineCount() const
Definition RawCubeChunk.h:81
virtual ~RawCubeChunk()
The destructor.
Definition RawCubeChunk.cpp:77
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16