28 #ifndef vtkThreadedImageAlgorithm_h
29 #define vtkThreadedImageAlgorithm_h
31 #include "vtkCommonExecutionModelModule.h"
51 int extent[6],
int threadId);
61 vtkGetMacro(EnableSMP,
bool);
62 vtkSetMacro(EnableSMP,
bool);
78 vtkSetVector3Macro(MinimumPieceSize,
int);
79 vtkGetVector3Macro(MinimumPieceSize,
int);
101 vtkSetClampMacro(SplitMode,
int, 0, 2);
105 vtkGetMacro(SplitMode,
int);
113 vtkSetClampMacro(NumberOfThreads,
int, 1, VTK_MAX_THREADS);
114 vtkGetMacro(NumberOfThreads,
int);
120 virtual int SplitExtent(
int splitExt[6],
int startExt[6],
int num,
int total);
142 int MinimumPieceSize[3];
176 friend class vtkThreadedImageAlgorithmFunctor;
Generic algorithm superclass for image algs.
topologically and geometrically regular array of data
a simple class to control print indentation
A class for performing multithreaded execution.
Generic filter that has one input.
vtkMultiThreader * Threader
void SetSplitModeToBlock()
static bool GlobalDefaultEnableSMP
virtual void SMPRequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, vtkIdType begin, vtkIdType end, vtkIdType pieces, int extent[6])
Execute ThreadedRequestData for the given set of pieces.
~vtkThreadedImageAlgorithm() override
void SetSplitModeToBeam()
virtual void ThreadedExecute(vtkImageData *inData, vtkImageData *outData, int extent[6], int threadId)
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
vtkThreadedImageAlgorithm()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual int SplitExtent(int splitExt[6], int startExt[6], int num, int total)
Putting this here until I merge graphics and imaging streaming.
virtual void PrepareImageData(vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inDataObjects=nullptr, vtkImageData **outDataObjects=nullptr)
Allocate space for output data and copy attributes from first input.
void SetSplitModeToSlab()
virtual void ThreadedRequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, int extent[6], int threadId)
If the subclass does not define an Execute method, then the task will be broken up,...
vtkIdType DesiredBytesPerPiece
static bool GetGlobalDefaultEnableSMP()
static void SetGlobalDefaultEnableSMP(bool enable)
Global Disable SMP for all derived Imaging filters.