USGS

Isis 3.0 Object Programmers' Reference

Home

ProcessByTile.h
Go to the documentation of this file.
1 #ifndef ProcessByTile_h
2 #define ProcessByTile_h
3 
25 #include "ProcessByBrick.h"
26 #include "Buffer.h"
27 
28 namespace Isis {
56  class ProcessByTile : public ProcessByBrick {
57 
58  private:
62 
63  public:
64 
67  p_tileSizeSet = false;
68  };
69 
72 
73  void SetTileSize(const int ns, const int nl);
74 
75  void StartProcess(void funct(Buffer &in));
76  void StartProcess(void funct(Buffer &in, Buffer &out));
77 
78  void StartProcess(void funct(std::vector<Buffer *> &in,
79  std::vector<Buffer *> &out));
80  void EndProcess();
81  void Finalize();
82 
88  template <typename Functor>
89  void ProcessCubeInPlace(const Functor & funct, bool threaded = true) {
91  ProcessByBrick::ProcessCubeInPlace(funct, threaded);
92  }
93 
99  template <typename Functor>
100  void ProcessCube(const Functor & funct, bool threaded = true) {
102  ProcessByBrick::ProcessCube(funct, threaded);
103  }
104 
110  template <typename Functor>
111  void ProcessCubes(const Functor & funct, bool threaded = true) {
113  ProcessByBrick::ProcessCubes(funct, threaded);
114  }
115 
116  private:
120  };
121 };
122 
123 #endif