USGS

Isis 3.0 Object Programmers' Reference

Home

Brick.h

Go to the documentation of this file.
00001 #if !defined(Brick_h)
00002 #define Brick_h
00003 
00026 #include "PixelType.h"
00027 #include "BufferManager.h"
00028 #include "Cube.h"
00029 
00030 namespace Isis {
00053   class Brick : public Isis::BufferManager {
00054   public:
00055 
00067     Brick(const int nsamps, const int nlines, const int nbands,
00068           const Isis::PixelType type) :
00069       Isis::BufferManager(nsamps,nlines,nbands,
00070                           nsamps,nlines,nbands,type) {
00071       };
00072 
00073     Brick(const Isis::Cube &cube, const int &bufNumSamples,
00074           const int &bufNumLines, const int &bufNumBands) :
00075       Isis::BufferManager(cube.Samples(),cube.Lines(),cube.Bands(),
00076                         bufNumSamples,bufNumLines,bufNumBands,
00077                         cube.PixelType()) {
00078              };
00079 
00080   public:
00089     void SetBasePosition(const int start_sample, const int start_line,
00090                          const int start_band) {
00091       this->Isis::Buffer::SetBasePosition(start_sample,start_line,start_band);
00092     };
00093 
00099     inline void SetBaseSample(const int start_samp)
00100     { this->Isis::Buffer::SetBaseSample(start_samp);};
00101 
00107     inline void SetBaseLine(const int start_line)
00108     { this->Isis::Buffer::SetBaseLine(start_line);};
00109 
00115     inline void SetBaseBand(const int start_band)
00116     { this->Isis::Buffer::SetBaseBand(start_band);};
00117 
00118     void Resize (const int nsamps, const int nlines, const int nbands);
00119 
00127     bool SetBrick(const int brick);
00128 
00134     inline int Bricks() { return MaxMaps();};
00135   };
00136 };
00137 
00138 #endif