Isis 3.0 Object Programmers' Reference
Home
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
ProcessBySample.h
Go to the documentation of this file.
1
#ifndef ProcessBySample_h
2
#define ProcessBySample_h
3
25
#include "
ProcessByBrick.h
"
26
#include "
Buffer.h
"
27
28
namespace
Isis {
52
class
ProcessBySample
:
public
Isis::ProcessByBrick
{
53
54
public
:
55
ProcessBySample
():
ProcessByBrick
() {
56
SetWrap
(
true
);
57
};
58
59
Isis::Cube
*
SetInputCube
(
const
QString ¶meter,
60
int
requirements = 0);
61
Isis::Cube
*
SetInputCube
(
const
QString &file,
62
Isis::CubeAttributeInput
&att,
63
int
requirements = 0);
64
65
void
StartProcess
(
void
funct(
Isis::Buffer
&inout));
66
67
void
StartProcess
(
void
funct(
Isis::Buffer
&in,
Isis::Buffer
&out));
68
69
void
StartProcess
(
void
funct(std::vector<Isis::Buffer *> &in,
70
std::vector<Isis::Buffer *> &out));
71
77
template
<
typename
Functor>
78
void
ProcessCubeInPlace
(
const
Functor & funct,
bool
threaded =
true
) {
79
SetBrickSizesForProcessCubeInPlace
();
80
ProcessByBrick::ProcessCubeInPlace
(funct, threaded);
81
}
82
88
template
<
typename
Functor>
89
void
ProcessCube
(
const
Functor & funct,
bool
threaded =
true
) {
90
SetBrickSizesForProcessCube
();
91
ProcessByBrick::ProcessCube
(funct, threaded);
92
}
93
99
template
<
typename
Functor>
100
void
ProcessCubes
(
const
Functor & funct,
bool
threaded =
true
) {
101
SetBrickSizesForProcessCubes
();
102
ProcessByBrick::ProcessCubes
(funct, threaded);
103
}
104
105
106
private
:
107
void
SetBrickSizesForProcessCubeInPlace
();
108
void
SetBrickSizesForProcessCube
();
109
void
SetBrickSizesForProcessCubes
();
110
};
111
};
112
113
#endif