Isis 3.0 Object Programmers' Reference
Home
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
RawCubeChunk.h
Go to the documentation of this file.
1
21
#ifndef RawCubeChunk_h
22
#define RawCubeChunk_h
23
24
class
QByteArray;
25
26
namespace
Isis {
27
class
Area3D;
28
42
class
RawCubeChunk
{
43
public
:
44
RawCubeChunk
(
const
Area3D
&placement,
int
numBytes);
45
RawCubeChunk
(
int
startSample,
int
startLine,
int
startBand,
46
int
endSample,
int
endLine,
int
endBand,
int
numBytes);
47
virtual
~RawCubeChunk
();
48
bool
isDirty
()
const
;
49
53
QByteArray &
getRawData
()
const
{
54
return
*
m_rawBuffer
;
55
}
56
57
void
setRawData
(QByteArray rawData);
58
59
unsigned
char
getChar
(
int
offset)
const
;
60
short
getShort
(
int
offset)
const
;
61
float
getFloat
(
int
offset)
const
;
62
63
// The following methods are inlined for proven performance gain.
64
68
int
getStartSample
()
const
{
69
return
m_startSample
;
70
}
71
75
int
getStartLine
()
const
{
76
return
m_startLine
;
77
}
78
82
int
getStartBand
()
const
{
83
return
m_startBand
;
84
}
85
89
int
sampleCount
()
const
{
90
return
m_sampleCount
;
91
}
92
96
int
lineCount
()
const
{
97
return
m_lineCount
;
98
}
99
103
int
bandCount
()
const
{
104
return
m_bandCount
;
105
}
106
107
int
getByteCount
()
const
;
108
109
void
setData
(
unsigned
char
value,
int
offset);
110
void
setData
(
short
value,
int
offset);
111
void
setData
(
const
float
&value,
const
int
&offset);
112
void
setDirty
(
bool
dirty);
113
114
private
:
120
RawCubeChunk
(
const
RawCubeChunk
&other);
121
128
RawCubeChunk
&
operator=
(
const
RawCubeChunk
&other);
129
130
private
:
132
bool
m_dirty
;
133
135
QByteArray *
m_rawBuffer
;
137
char
*
m_rawBufferInternalPtr
;
138
140
int
m_sampleCount
;
142
int
m_lineCount
;
144
int
m_bandCount
;
145
147
int
m_startSample
;
149
int
m_startLine
;
151
int
m_startBand
;
152
};
153
}
154
155
#endif
156