33#ifndef vtkFastSplatter_h 
   34#define vtkFastSplatter_h 
   37#include "vtkImagingHybridModule.h"  
   39VTK_ABI_NAMESPACE_BEGIN
 
   54  vtkSetVector6Macro(ModelBounds, 
double);
 
   55  vtkGetVectorMacro(ModelBounds, 
double, 6);
 
   62  vtkSetVector3Macro(OutputDimensions, 
int);
 
   63  vtkGetVector3Macro(OutputDimensions, 
int);
 
   81  vtkSetMacro(LimitMode, 
int);
 
   82  vtkGetMacro(LimitMode, 
int);
 
   93  vtkSetMacro(MinValue, 
double);
 
   94  vtkGetMacro(MinValue, 
double);
 
   95  vtkSetMacro(MaxValue, 
double);
 
   96  vtkGetMacro(MaxValue, 
double);
 
  104  vtkGetMacro(NumberOfPointsSplatted, 
int);
 
  118  double ModelBounds[6];
 
  119  int OutputDimensions[3];
 
  157  for (
vtkIdType i = 0; i < arraySize; i++)
 
  159    if (array[i] < minValue)
 
  161    if (array[i] > maxValue)
 
  170  double* dataMinValue, 
double* dataMaxValue)
 
  177  for (
int c = 0; c < numComponents; c++)
 
  183    for (t = 1; t < numTuples; t++, a += numComponents)
 
  194      for (t = 0, a = array + c; t < numTuples; t++, a += numComponents)
 
  203      for (t = 0, a = array + c; t < numTuples; t++, a += numComponents)
 
  205        *a = ((maxValue - minValue) * (*a)) / (
max - min);
 
  212      for (t = 0, a = array + c; t < numTuples; t++, a += numComponents)
 
  229  T* array, 
int numComponents, 
vtkIdType numTuples, T minValue, T maxValue, 
double min, 
double max)
 
  234  for (
int c = 0; c < numComponents; c++)
 
  239      for (t = 0, a = array + c; t < numTuples; t++, a += numComponents)
 
  241        *a -= 
static_cast<T
>(min);
 
  248      for (t = 0, a = array + c; t < numTuples; t++, a += numComponents)
 
  250        *a = 
static_cast<T
>(((maxValue - minValue) * (*a)) / (
max - min));
 
  257      for (t = 0, a = array + c; t < numTuples; t++, a += numComponents)
 
Proxy object to connect input/output ports.
 
A splatter optimized for splatting single kernels.
 
int NumberOfPointsSplatted
 
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
 
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to translate the update extent requests from each output port ...
 
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
 
void SetLimitModeToFreezeScale()
Set/get the way voxel values will be limited.
 
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called in response to a REQUEST_DATA request from the executive.
 
void SetLimitModeToNone()
Set/get the way voxel values will be limited.
 
void SetLimitModeToClamp()
Set/get the way voxel values will be limited.
 
static vtkFastSplatter * New()
 
void SetSplatConnection(vtkAlgorithmOutput *)
Convenience function for connecting the splat algorithm source.
 
void SetLimitModeToScale()
Set/get the way voxel values will be limited.
 
~vtkFastSplatter() override
 
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to collect information from their inputs and set information f...
 
Generic algorithm superclass for image algs.
 
topologically and geometrically regular array of data
 
a simple class to control print indentation
 
void vtkFastSplatterClamp(T *array, vtkIdType arraySize, T minValue, T maxValue)
 
void vtkFastSplatterFrozenScale(T *array, int numComponents, vtkIdType numTuples, T minValue, T maxValue, double min, double max)
 
void vtkFastSplatterScale(T *array, int numComponents, vtkIdType numTuples, T minValue, T maxValue, double *dataMinValue, double *dataMaxValue)