56 Buffer(
const int nsamps,
const int nlines,
const int nbands,
129 int Sample(
const int index = 0)
const;
130 int Line(
const int index = 0)
const;
131 int Band(
const int index = 0)
const;
132 void Position(
const int index,
int &i_samp,
int &i_line,
int &i_band)
const;
133 int Index(
const int i_samp,
const int i_line,
const int i_band)
const;
136 double at(
const int index)
const;
146 return (
p_buf[index]);
157 return (
p_buf[index]);
168 void Copy(
const Buffer &in,
bool includeRawBuf =
true);
192 const int start_band);
259 return const_cast<Buffer &
>(rvalue);
Buffer for reading and writing cube data.
Definition Buffer.h:53
int size() const
Returns the total number of pixels in the shape buffer.
Definition Buffer.h:124
void * p_rawbuf
The raw dm read from the disk.
Definition Buffer.h:243
void SetBasePosition(const int start_sample, const int start_line, const int start_band)
This method is used to set the base position of the shape buffer.
Definition Buffer.cpp:121
int Line(const int index=0) const
Returns the line position associated with a shape buffer index.
Definition Buffer.cpp:183
double * DoubleBuffer() const
Returns the value of the shape buffer.
Definition Buffer.h:165
void * RawBuffer() const
Returns a void pointer to the raw buffer.
Definition Buffer.h:178
int SampleDimensionScaled() const
Returns the number of samples in the shape buffer.
Definition Buffer.h:88
Buffer()
Default constructor for proper initialization purposes.
Definition Buffer.cpp:26
int p_npixels
Number of pixels (nsamps * nlines * scale ** 2) * bands.
Definition Buffer.h:238
int LineDimensionScaled() const
Returns the number of lines in the shape buffer.
Definition Buffer.h:97
int p_nlinesScaled
Definition Buffer.h:233
Buffer & operator=(const Buffer &rvalue)
Copy operator.
Definition Buffer.h:258
friend std::ostream & operator<<(std::ostream &os, Buffer &buffer)
This method is used to print out a buffer.
Definition Buffer.cpp:137
void Allocate()
Size or resize the memory buffer.
Definition Buffer.cpp:414
int LineDimension() const
Returns the number of lines in the shape buffer.
Definition Buffer.h:79
int p_nlines
Number of lines to read/write.
Definition Buffer.h:232
int p_nbands
Number of bands to read/write.
Definition Buffer.h:236
Buffer & operator=(const double &d)
Assign the entire buffer to a constant double value.
Definition Buffer.cpp:104
bool CopyOverlapFrom(const Buffer &in)
Allows copying of the buffer contents of a larger buffer to another same size or smaller Buffer,...
Definition Buffer.cpp:324
const double & operator[](const int index) const
Returns the value in the shape buffer at given index.
Definition Buffer.h:156
void Position(const int index, int &i_samp, int &i_line, int &i_band) const
Returns the sample, line, and band position associated with a shape buffer index.
Definition Buffer.cpp:215
void SetBaseLine(const int start_line)
This method is used to set the base line position of the shape buffer.
Definition Buffer.h:212
double * p_buf
Shape buffer allocated to the size of npixels for handling reads/writes.
Definition Buffer.h:239
Isis::PixelType PixelType() const
Returns the raw buffer pixel type.
Definition Buffer.h:187
double scale() const
Returns the scale of the shape buffer.
Definition Buffer.h:115
double & operator[](const int index)
Returns the value in the shape buffer at given index.
Definition Buffer.h:145
int Band(const int index=0) const
Returns the band position associated with a shape buffer index.
Definition Buffer.cpp:200
int BandDimension() const
Returns the number of bands in the shape buffer.
Definition Buffer.h:106
int p_sample
Starting sample to read/write.
Definition Buffer.h:227
const Isis::PixelType p_pixelType
The pixel type of the raw buffer.
Definition Buffer.h:242
int SampleDimension() const
Returns the number of samples in the shape buffer.
Definition Buffer.h:70
int p_band
Starting band to read/write.
Definition Buffer.h:235
void Copy(const Buffer &in, bool includeRawBuf=true)
Allows copying of the buffer contents to another Buffer.
Definition Buffer.cpp:294
double at(const int index) const
Returns the value in the shape buffer at the given index.
Definition Buffer.cpp:270
int p_nsamps
Number of samples to read/write.
Definition Buffer.h:228
int Index(const int i_samp, const int i_line, const int i_band) const
Given a sample, line, and band position, this returns the appropriate index in the shape buffer.
Definition Buffer.cpp:235
int p_line
Starting line to read/write.
Definition Buffer.h:231
int Sample(const int index=0) const
Returns the sample position associated with a shape buffer index.
Definition Buffer.cpp:165
void SetBaseBand(const int start_band)
This method is used to set the base band position of the shape buffer.
Definition Buffer.h:222
void SetBaseSample(const int start_samp)
This method is used to set the base sample position of the shape buffer.
Definition Buffer.h:202
~Buffer()
Destroys the Buffer object and frees shape buffer.
Definition Buffer.cpp:83
double p_scale
Amount to scale the buffers lines and samples, defaults to 1.
Definition Buffer.h:246
int p_nsampsScaled
Definition Buffer.h:229
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
PixelType
Enumerations for Isis Pixel Types.
Definition PixelType.h:29