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. | |
ProcessCubesFunctor (const ProcessCubesFunctor &other) | |
Copy construction of these objects is fully supported. | |
virtual | ~ProcessCubesFunctor () |
Destructor. | |
void * | operator() (const int &brickPosition) const |
Do the work for one position in a cube. | |
ProcessCubesFunctor & | operator= (const ProcessCubesFunctor &rhs) |
Assignment of these objects is fully supported. | |
Private Attributes | |
std::vector< Cube * > | m_inputCubes |
The input cubes for reading data from. | |
std::vector< Brick * > & | m_inputTemplateBricks |
Template bricks for reading input data. | |
std::vector< Cube * > | m_outputCubes |
The output cubes for writing data to. | |
std::vector< Brick * > & | m_outputTemplateBricks |
Template bricks for writing output data. | |
bool | m_wraps |
Wrap smaller cubes back to the beginning? | |
const T & | m_processingFunctor |
The functor which does the work/arbitrary calculations. | |
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 574 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 596 of file ProcessByBrick.h.
|
inline |
Copy construction of these objects is fully supported.
other | The functor to copy |
Definition at line 616 of file ProcessByBrick.h.
|
inlinevirtual |
Destructor.
Definition at line 629 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 639 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.
|
inline |
Assignment of these objects is fully supported.
rhs | The ProcessCubeFunctor on the right-hand side of the assignment. |
Definition at line 693 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 709 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 714 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 717 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 722 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 728 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 725 of file ProcessByBrick.h.
Referenced by Isis::ProcessByBrick::ProcessCubesFunctor< T >::operator()(), and Isis::ProcessByBrick::ProcessCubesFunctor< T >::operator=().