73 #ifndef vtkGaussianSplatter_h 
   74 #define vtkGaussianSplatter_h 
   77 #include "vtkImagingHybridModule.h"  
   79 #define VTK_ACCUMULATION_MODE_MIN 0 
   80 #define VTK_ACCUMULATION_MODE_MAX 1 
   81 #define VTK_ACCUMULATION_MODE_SUM 2 
   85 class vtkGaussianSplatterAlgorithm;
 
  105   void SetSampleDimensions(
int i, 
int j, 
int k);
 
  106   void SetSampleDimensions(
int dim[3]);
 
  107   vtkGetVectorMacro(SampleDimensions, 
int, 3);
 
  117   vtkSetVector6Macro(ModelBounds, 
double);
 
  118   vtkGetVectorMacro(ModelBounds, 
double, 6);
 
  127   vtkSetClampMacro(Radius, 
double, 0.0, 1.0);
 
  128   vtkGetMacro(Radius, 
double);
 
  138   vtkGetMacro(ScaleFactor, 
double);
 
  147   vtkSetMacro(ExponentFactor, 
double);
 
  148   vtkGetMacro(ExponentFactor, 
double);
 
  171   vtkGetMacro(Eccentricity, 
double);
 
  199   vtkSetMacro(CapValue, 
double);
 
  200   vtkGetMacro(CapValue, 
double);
 
  211   vtkGetMacro(AccumulationMode, 
int);
 
  215   const char* GetAccumulationModeAsString();
 
  223   vtkSetMacro(NullValue, 
double);
 
  224   vtkGetMacro(NullValue, 
double);
 
  233   void ComputeModelBounds(
 
  243   friend class vtkGaussianSplatterAlgorithm;
 
  246     return (this->*Sample)(x);
 
  250     double v = (this->*SampleFactor)(this->S) *
 
  251       exp(
static_cast<double>(this->ExponentFactor * (dist2) / (this->Radius2)));
 
  254     if (!this->Visited[idx])
 
  256       this->Visited[idx] = 1;
 
  261       switch (this->AccumulationMode)
 
  291   int SampleDimensions[3];   
 
  294   double ModelBounds[6];     
 
  303   double Gaussian(
double x[3]);
 
  304   double EccentricGaussian(
double x[3]);
 
  313   double Eccentricity2;
 
  319   double SplatDistance[3];