Isis 3 Programmer Reference
|
Create an arbitrary number of output cubes given an arbitrary number of input cubes (these counts can be zero). More...
Public Member Functions | |
ProcessCubesFunctor (std::vector< Cube *> &inputCubes, std::vector< Brick *> &inputTemplateBricks, std::vector< Cube *> &outputCubes, std::vector< Brick *> &outputTemplateBricks, bool wraps, const T &processingFunctor) | |
Construct a ProcessCubesFunctor. More... | |
ProcessCubesFunctor (const ProcessCubesFunctor &other) | |
Copy construction of these objects is fully supported. More... | |
virtual | ~ProcessCubesFunctor () |
Destructor. More... | |
void * | operator() (const int &brickPosition) const |
Do the work for one position in a cube. More... | |
ProcessCubesFunctor & | operator= (const ProcessCubesFunctor &rhs) |
Assignment of these objects is fully supported. More... | |
Private Attributes | |
std::vector< Cube * > | m_inputCubes |
The input cubes for reading data from. More... | |
std::vector< Brick * > & | m_inputTemplateBricks |
Template bricks for reading input data. More... | |
std::vector< Cube * > | m_outputCubes |
The output cubes for writing data to. More... | |
std::vector< Brick * > & | m_outputTemplateBricks |
Template bricks for writing output data. More... | |
bool | m_wraps |
Wrap smaller cubes back to the beginning? More... | |
const T & | m_processingFunctor |
The functor which does the work/arbitrary calculations. More... | |
Create an arbitrary number of output cubes given an arbitrary number of input cubes (these counts can be zero).
Given a ProcessIterator position, this runs the functor passed into ProcessCubes with the appropriate data.
This functor is a helper for the ProcessCubes() public method. This is designed to be passed into QtConcurrent::mapped to operate over the pre-set cubes.
Definition at line 586 of file ProcessByBrick.h.
|
inline |
Construct a ProcessCubesFunctor.
This doesn't take ownership of the passed in pointers but expects them to not be deleted.
inputCubes | The cubes to read from for input data |
inputTemplateBricks | The brick initialized for use with the processingFunctor's input parameter. These must be in the same order as the inputCubes. |
outputCubes | The cubes to write to after running the processingFunctor |
outputTemplateBricks | The bricks initialized for use with the processingFunctor's output parameter. These must be in the same order as the outputCubes. |
wraps | The current setting for the ProcessByBrick::Wrap() option. |
processingFunctor | The functor supplied to ProcessCubes() which actually does the work/ calculations. |
Definition at line 608 of file ProcessByBrick.h.
|
inline |
Copy construction of these objects is fully supported.
other | The functor to copy |
Definition at line 628 of file ProcessByBrick.h.
|
inlinevirtual |
Destructor.
Definition at line 641 of file ProcessByBrick.h.
|
inline |
Do the work for one position in a cube.
brickPosition | The position we're calculating values for currently. |
Definition at line 651 of file ProcessByBrick.h.
References Isis::Buffer::Band(), Isis::Brick::Bricks(), Isis::ProcessByBrick::ProcessCubesFunctor< T >::m_inputCubes, Isis::ProcessByBrick::ProcessCubesFunctor< T >::m_inputTemplateBricks, Isis::ProcessByBrick::ProcessCubesFunctor< T >::m_outputCubes, Isis::ProcessByBrick::ProcessCubesFunctor< T >::m_outputTemplateBricks, Isis::ProcessByBrick::ProcessCubesFunctor< T >::m_processingFunctor, Isis::ProcessByBrick::ProcessCubesFunctor< T >::m_wraps, Isis::Brick::SetBaseBand(), and Isis::BufferManager::setpos().
|
inline |
Assignment of these objects is fully supported.
rhs | The ProcessCubeFunctor on the right-hand side of the assignment. |
Definition at line 705 of file ProcessByBrick.h.
References Isis::ProcessByBrick::ProcessCubesFunctor< T >::m_inputCubes, Isis::ProcessByBrick::ProcessCubesFunctor< T >::m_inputTemplateBricks, Isis::ProcessByBrick::ProcessCubesFunctor< T >::m_outputCubes, Isis::ProcessByBrick::ProcessCubesFunctor< T >::m_outputTemplateBricks, Isis::ProcessByBrick::ProcessCubesFunctor< T >::m_processingFunctor, and Isis::ProcessByBrick::ProcessCubesFunctor< T >::m_wraps.
|
private |
The input cubes for reading data from.
Definition at line 721 of file ProcessByBrick.h.
Referenced by Isis::ProcessByBrick::ProcessCubesFunctor< T >::operator()(), and Isis::ProcessByBrick::ProcessCubesFunctor< T >::operator=().
|
private |
Template bricks for reading input data.
Must be parallel to inputCubes.
Definition at line 726 of file ProcessByBrick.h.
Referenced by Isis::ProcessByBrick::ProcessCubesFunctor< T >::operator()(), and Isis::ProcessByBrick::ProcessCubesFunctor< T >::operator=().
|
private |
The output cubes for writing data to.
Definition at line 729 of file ProcessByBrick.h.
Referenced by Isis::ProcessByBrick::ProcessCubesFunctor< T >::operator()(), and Isis::ProcessByBrick::ProcessCubesFunctor< T >::operator=().
|
private |
Template bricks for writing output data.
Must be parallel to oututCubes.
Definition at line 734 of file ProcessByBrick.h.
Referenced by Isis::ProcessByBrick::ProcessCubesFunctor< T >::operator()(), and Isis::ProcessByBrick::ProcessCubesFunctor< T >::operator=().
|
private |
The functor which does the work/arbitrary calculations.
Definition at line 740 of file ProcessByBrick.h.
Referenced by Isis::ProcessByBrick::ProcessCubesFunctor< T >::operator()(), and Isis::ProcessByBrick::ProcessCubesFunctor< T >::operator=().
|
private |
Wrap smaller cubes back to the beginning?
Definition at line 737 of file ProcessByBrick.h.
Referenced by Isis::ProcessByBrick::ProcessCubesFunctor< T >::operator()(), and Isis::ProcessByBrick::ProcessCubesFunctor< T >::operator=().