Isis 3 Programmer Reference
Isis::RawCubeChunk Class Reference

A section of raw data on the disk. More...

#include <RawCubeChunk.h>

Collaboration diagram for Isis::RawCubeChunk:
Collaboration graph

Public Member Functions

 RawCubeChunk (const Area3D &placement, int numBytes)
 This constructor creates a new cube chunk based on the provided placement and data size. More...
 
 RawCubeChunk (int startSample, int startLine, int startBand, int endSample, int endLine, int endBand, int numBytes)
 This constructor creates a new cube chunk based on the provided coordinates and data size. More...
 
virtual ~RawCubeChunk ()
 The destructor. More...
 
bool isDirty () const
 
QByteArray & getRawData () const
 
void setRawData (QByteArray rawData)
 Sets the chunk's raw data. More...
 
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 internal pointer). More...
 
short getShort (int offset) const
 
float getFloat (int offset) const
 
int getStartSample () const
 
int getStartLine () const
 
int getStartBand () const
 
int sampleCount () const
 
int lineCount () const
 
int bandCount () const
 
int getByteCount () const
 
void setData (unsigned char value, int offset)
 Sets the char at the given offset in the raw data buffer of this chunk. More...
 
void setData (short value, int offset)
 Sets the short at the given offset in the raw data buffer of this chunk. More...
 
void setData (const float &value, const int &offset)
 Sets the float at the given offset in the raw data buffer of this chunk. More...
 
void setDirty (bool dirty)
 Sets the chunk's dirty flag, indicating whether or not the chunk's data matches the data that is on disk. More...
 

Private Member Functions

 RawCubeChunk (const RawCubeChunk &other)
 The copy constructor is disabled. More...
 
RawCubeChunkoperator= (const RawCubeChunk &other)
 The assignment operator is disabled. More...
 

Private Attributes

bool m_dirty
 True if the data does not match what is on disk. More...
 
QByteArray * m_rawBuffer
 This is the raw data to be put on disk. More...
 
char * m_rawBufferInternalPtr
 This is the internal pointer to the raw buffer for performance. More...
 
int m_sampleCount
 The number of samples in the cube chunk. More...
 
int m_lineCount
 The number of lines in the cube chunk. More...
 
int m_bandCount
 The number of bands in the cube chunk. More...
 
int m_startSample
 The one-based (inclusive) start sample of the cube chunk. More...
 
int m_startLine
 The one-based (inclusive) start line of the cube chunk. More...
 
int m_startBand
 The one-based (inclusive) start band of the cube chunk. More...
 

Detailed Description

A section of raw data on the disk.

This encapsulates a chunk's data. The data stored in this class is literally what is stored on disk - an unswapped byte array. These should only be used by CubeIoHandler and it's children to manage what is in memory versus what is on disk.

Author
2011-06-15 Steven Lambright and Jai Rideout

Definition at line 42 of file RawCubeChunk.h.

Constructor & Destructor Documentation

◆ RawCubeChunk() [1/3]

Isis::RawCubeChunk::RawCubeChunk ( const Area3D placement,
int  numBytes 
)

This constructor creates a new cube chunk based on the provided placement and data size.

Parameters
placementthe 3D "cube" that this chunk will cover (inclusive)
numBytesthe number of raw data bytes in the chunk

Definition at line 23 of file RawCubeChunk.cpp.

References Isis::Area3D::getDepth(), Isis::Area3D::getHeight(), Isis::Area3D::getStartX(), Isis::Area3D::getStartY(), Isis::Area3D::getStartZ(), Isis::Area3D::getWidth(), m_bandCount, m_dirty, m_lineCount, m_rawBuffer, m_rawBufferInternalPtr, m_sampleCount, m_startBand, m_startLine, m_startSample, Isis::Displacement::pixels(), and Isis::Distance::pixels().

◆ RawCubeChunk() [2/3]

Isis::RawCubeChunk::RawCubeChunk ( int  startSample,
int  startLine,
int  startBand,
int  endSample,
int  endLine,
int  endBand,
int  numBytes 
)

This constructor creates a new cube chunk based on the provided coordinates and data size.

This constructor is provided in addition to the previous one for performance gain.

Parameters
startSamplethe starting sample of the chunk (inclusive)
startLinethe starting line of the chunk (inclusive)
startBandthe starting band of the chunk (inclusive)
endSamplethe ending sample of the chunk (inclusive)
endLinethe ending line of the chunk (inclusive)
endBandthe ending band of the chunk (inclusive)
numBytesthe number of raw data bytes in the chunk

Definition at line 51 of file RawCubeChunk.cpp.

References m_bandCount, m_dirty, m_lineCount, m_rawBuffer, m_rawBufferInternalPtr, m_sampleCount, m_startBand, m_startLine, and m_startSample.

◆ ~RawCubeChunk()

Isis::RawCubeChunk::~RawCubeChunk ( )
virtual

The destructor.

Definition at line 72 of file RawCubeChunk.cpp.

References m_rawBuffer, and m_rawBufferInternalPtr.

◆ RawCubeChunk() [3/3]

Isis::RawCubeChunk::RawCubeChunk ( const RawCubeChunk other)
private

The copy constructor is disabled.

Parameters
otherthe other chunk to be copied from

Member Function Documentation

◆ bandCount()

int Isis::RawCubeChunk::bandCount ( ) const
inline
Returns
the number of bands in the cube chunk.

Definition at line 103 of file RawCubeChunk.h.

References m_bandCount.

Referenced by Isis::CubeIoHandler::findIntersection(), and Isis::CubeIoHandler::getNullChunk().

◆ getByteCount()

int Isis::RawCubeChunk::getByteCount ( ) const
Returns
the size (in bytes) of the raw data buffer. If the raw data buffer is null, -1 is returned.

Definition at line 148 of file RawCubeChunk.cpp.

References m_rawBuffer.

Referenced by Isis::CubeTileHandler::readRaw(), Isis::CubeBsqHandler::readRaw(), setData(), Isis::CubeTileHandler::writeRaw(), and Isis::CubeBsqHandler::writeRaw().

◆ getChar()

unsigned char Isis::RawCubeChunk::getChar ( int  offset) const

This method is currently not in use due to a faster way of getting data from the buffer (through the internal pointer).

Parameters
offsetthe offset into the raw data buffer
Returns
the char at the position indicated by the given offset.

Definition at line 115 of file RawCubeChunk.cpp.

References m_rawBuffer.

◆ getFloat()

float Isis::RawCubeChunk::getFloat ( int  offset) const
Returns
the float at the position indicated by the given offset. The value returned is not byte swapped. This method is currently not in use due to a faster way of getting data from the buffer (through the internal pointer).
Parameters
offsetthe offset into the raw data buffer

Definition at line 139 of file RawCubeChunk.cpp.

References m_rawBuffer.

◆ getRawData()

QByteArray& Isis::RawCubeChunk::getRawData ( ) const
inline
Returns
a reference to the raw data in this cube chunk.

Definition at line 53 of file RawCubeChunk.h.

References m_rawBuffer.

Referenced by Isis::CubeIoHandler::writeIntoDouble(), Isis::CubeIoHandler::writeIntoRaw(), Isis::CubeTileHandler::writeRaw(), and Isis::CubeBsqHandler::writeRaw().

◆ getShort()

short Isis::RawCubeChunk::getShort ( int  offset) const
Returns
the short at the position indicated by the given offset. The value returned is not byte swapped. This method is currently not in use due to a faster way of getting data from the buffer (through the internal pointer).
Parameters
offsetthe offset into the raw data buffer

Definition at line 127 of file RawCubeChunk.cpp.

References m_rawBuffer.

◆ getStartBand()

int Isis::RawCubeChunk::getStartBand ( ) const
inline
Returns
the first (inclusive) band of the cube chunk.

Definition at line 82 of file RawCubeChunk.h.

References m_startBand.

Referenced by Isis::CubeIoHandler::findIntersection(), Isis::CubeIoHandler::getChunkIndex(), Isis::CubeIoHandler::writeIntoDouble(), and Isis::CubeIoHandler::writeIntoRaw().

◆ getStartLine()

int Isis::RawCubeChunk::getStartLine ( ) const
inline

◆ getStartSample()

int Isis::RawCubeChunk::getStartSample ( ) const
inline
Returns
the first (inclusive) sample of the cube chunk.

Definition at line 68 of file RawCubeChunk.h.

References m_startSample.

Referenced by Isis::CubeIoHandler::findIntersection(), Isis::CubeIoHandler::getChunkIndex(), Isis::CubeIoHandler::writeIntoDouble(), and Isis::CubeIoHandler::writeIntoRaw().

◆ isDirty()

bool Isis::RawCubeChunk::isDirty ( ) const
Returns
true if the data in this chunk does not match what is on disk.

Definition at line 84 of file RawCubeChunk.cpp.

References m_dirty.

Referenced by Isis::CubeIoHandler::freeChunk().

◆ lineCount()

int Isis::RawCubeChunk::lineCount ( ) const
inline

◆ operator=()

RawCubeChunk& Isis::RawCubeChunk::operator= ( const RawCubeChunk other)
private

The assignment operator is disabled.

Parameters
otherthe other chunk to be copied from
Returns
A reference to *this

◆ sampleCount()

int Isis::RawCubeChunk::sampleCount ( ) const
inline
Returns
the number of samples in the cube chunk.

Definition at line 89 of file RawCubeChunk.h.

References m_sampleCount.

Referenced by Isis::CubeIoHandler::findIntersection(), Isis::CubeIoHandler::getNullChunk(), Isis::CubeIoHandler::writeIntoDouble(), and Isis::CubeIoHandler::writeIntoRaw().

◆ setData() [1/3]

void Isis::RawCubeChunk::setData ( unsigned char  value,
int  offset 
)

Sets the char at the given offset in the raw data buffer of this chunk.

The chunk's dirty flag is set to true.

Parameters
valuethe new char value
offsetthe position to place the new value at

Definition at line 163 of file RawCubeChunk.cpp.

References getByteCount(), m_dirty, and m_rawBufferInternalPtr.

◆ setData() [2/3]

void Isis::RawCubeChunk::setData ( short  value,
int  offset 
)

Sets the short at the given offset in the raw data buffer of this chunk.

The chunk's dirty flag is set to true.

Parameters
valuethe new short value
offsetthe position to place the new value at

Definition at line 178 of file RawCubeChunk.cpp.

References getByteCount(), m_dirty, and m_rawBufferInternalPtr.

◆ setData() [3/3]

void Isis::RawCubeChunk::setData ( const float &  value,
const int &  offset 
)

Sets the float at the given offset in the raw data buffer of this chunk.

The chunk's dirty flag is set to true.

Parameters
valuethe new float value
offsetthe position to place the new value at

Definition at line 193 of file RawCubeChunk.cpp.

References getByteCount(), m_dirty, and m_rawBufferInternalPtr.

◆ setDirty()

void Isis::RawCubeChunk::setDirty ( bool  dirty)

Sets the chunk's dirty flag, indicating whether or not the chunk's data matches the data that is on disk.

Parameters
dirtybool indicating whether the chunk is dirty or not

Definition at line 207 of file RawCubeChunk.cpp.

References m_dirty.

Referenced by Isis::CubeIoHandler::getChunk(), and Isis::CubeIoHandler::writeIntoRaw().

◆ setRawData()

void Isis::RawCubeChunk::setRawData ( QByteArray  rawData)

Sets the chunk's raw data.

This size of the new raw data must match that of the chunk's current raw data buffer.

Parameters
rawDatathe raw data

Definition at line 95 of file RawCubeChunk.cpp.

References _FILEINFO_, m_dirty, m_rawBuffer, m_rawBufferInternalPtr, and Isis::IException::Programmer.

Referenced by Isis::CubeTileHandler::readRaw(), and Isis::CubeBsqHandler::readRaw().

Member Data Documentation

◆ m_bandCount

int Isis::RawCubeChunk::m_bandCount
private

The number of bands in the cube chunk.

Definition at line 144 of file RawCubeChunk.h.

Referenced by bandCount(), and RawCubeChunk().

◆ m_dirty

bool Isis::RawCubeChunk::m_dirty
private

True if the data does not match what is on disk.

Definition at line 132 of file RawCubeChunk.h.

Referenced by isDirty(), RawCubeChunk(), setData(), setDirty(), and setRawData().

◆ m_lineCount

int Isis::RawCubeChunk::m_lineCount
private

The number of lines in the cube chunk.

Definition at line 142 of file RawCubeChunk.h.

Referenced by lineCount(), and RawCubeChunk().

◆ m_rawBuffer

QByteArray* Isis::RawCubeChunk::m_rawBuffer
private

This is the raw data to be put on disk.

Definition at line 135 of file RawCubeChunk.h.

Referenced by getByteCount(), getChar(), getFloat(), getRawData(), getShort(), RawCubeChunk(), setRawData(), and ~RawCubeChunk().

◆ m_rawBufferInternalPtr

char* Isis::RawCubeChunk::m_rawBufferInternalPtr
private

This is the internal pointer to the raw buffer for performance.

Definition at line 137 of file RawCubeChunk.h.

Referenced by RawCubeChunk(), setData(), setRawData(), and ~RawCubeChunk().

◆ m_sampleCount

int Isis::RawCubeChunk::m_sampleCount
private

The number of samples in the cube chunk.

Definition at line 140 of file RawCubeChunk.h.

Referenced by RawCubeChunk(), and sampleCount().

◆ m_startBand

int Isis::RawCubeChunk::m_startBand
private

The one-based (inclusive) start band of the cube chunk.

Definition at line 151 of file RawCubeChunk.h.

Referenced by getStartBand(), and RawCubeChunk().

◆ m_startLine

int Isis::RawCubeChunk::m_startLine
private

The one-based (inclusive) start line of the cube chunk.

Definition at line 149 of file RawCubeChunk.h.

Referenced by getStartLine(), and RawCubeChunk().

◆ m_startSample

int Isis::RawCubeChunk::m_startSample
private

The one-based (inclusive) start sample of the cube chunk.

Definition at line 147 of file RawCubeChunk.h.

Referenced by getStartSample(), and RawCubeChunk().


The documentation for this class was generated from the following files: