Go to the documentation of this file.
48 #ifndef vtkFastSplatter_h
49 #define vtkFastSplatter_h
51 #include "vtkImagingHybridModule.h"
68 vtkSetVector6Macro(ModelBounds,
double);
69 vtkGetVectorMacro(ModelBounds,
double,6);
76 vtkSetVector3Macro( OutputDimensions,
int );
77 vtkGetVector3Macro( OutputDimensions,
int );
80 enum { NoneLimit, ClampLimit,
ScaleLimit, FreezeScaleLimit };
89 vtkSetMacro(LimitMode,
int);
90 vtkGetMacro(LimitMode,
int);
101 vtkSetMacro(MinValue,
double);
102 vtkGetMacro(MinValue,
double);
103 vtkSetMacro(MaxValue,
double);
104 vtkGetMacro(MaxValue,
double);
112 vtkGetMacro(NumberOfPointsSplatted,
int);
126 double ModelBounds[6];
127 int OutputDimensions[3];
170 T minValue, T maxValue)
172 for (
vtkIdType i = 0; i < arraySize; i++)
174 if (array[i] < minValue) array[i] = minValue;
175 if (array[i] > maxValue) array[i] = maxValue;
183 T minValue, T maxValue,
184 double *dataMinValue,
double *dataMaxValue)
191 for (
int c = 0; c < numComponents; c++)
197 for (t = 1; t < numTuples; t++, a += numComponents)
199 if (min > *a) min = *a;
206 for (t = 0, a = array+c; t < numTuples; t++, a += numComponents)
215 for (t = 0, a = array+c; t < numTuples; t++, a += numComponents)
217 *a = ((maxValue-minValue)*(*a))/(
max-min);
224 for (t = 0, a = array+c; t < numTuples; t++, a += numComponents)
243 T minValue, T maxValue,
244 double min,
double max)
249 for (
int c = 0; c < numComponents; c++)
254 for (t = 0, a = array+c; t < numTuples; t++, a += numComponents)
256 *a -=
static_cast<T
>(min);
263 for (t = 0, a = array+c; t < numTuples; t++, a += numComponents)
265 *a =
static_cast<T
>(((maxValue-minValue)*(*a))/(
max-min));
272 for (t = 0, a = array+c; t < numTuples; t++, a += numComponents)
280 #endif //vtkFastSplatter_h
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
Generic algorithm superclass for image algs.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called in response to a REQUEST_DATA request from the executive.
int NumberOfPointsSplatted
void SetLimitModeToNone()
void vtkFastSplatterFrozenScale(T *array, int numComponents, vtkIdType numTuples, T minValue, T maxValue, double min, double max)
void SetSplatConnection(vtkAlgorithmOutput *)
Convenience function for connecting the splat algorithm source.
static vtkFastSplatter * New()
void vtkFastSplatterScale(T *array, int numComponents, vtkIdType numTuples, T minValue, T maxValue, double *dataMinValue, double *dataMaxValue)
~vtkFastSplatter() override
topologically and geometrically regular array of data
a simple class to control print indentation
A splatter optimized for splatting single kernels.
void vtkFastSplatterClamp(T *array, vtkIdType arraySize, T minValue, T maxValue)
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to translate the update extent requests from each output port ...
void SetLimitModeToFreezeScale()
Proxy object to connect input/output ports.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to collect information from their inputs and set information f...
void SetLimitModeToScale()
void SetLimitModeToClamp()