73 #ifndef vtkGaussianSplatter_h 74 #define vtkGaussianSplatter_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;
101 void SetSampleDimensions(
int i,
int j,
int k);
102 void SetSampleDimensions(
int dim[3]);
194 const char *GetAccumulationModeAsString();
219 friend class vtkGaussianSplatterAlgorithm;
221 {
return (this->*Sample)(x);}
224 double v = (this->*SampleFactor)(this->S) * exp(static_cast<double>
225 (this->ExponentFactor*(dist2)/(this->Radius2)));
228 if ( ! this->Visited[idx] )
230 this->Visited[idx] = 1;
235 switch (this->AccumulationMode)
270 int SampleDimensions[3];
273 double ModelBounds[6];
282 double Gaussian(
double x[3]);
283 double EccentricGaussian(
double x[3]);
285 {
return this->ScaleFactor * s;}
287 {
return this->ScaleFactor;}
295 double Eccentricity2;
301 double SplatDistance[3];
void SetAccumulationModeToMin()
abstract class to specify dataset behavior
#define vtkGetMacro(name, type)
#define VTK_ACCUMULATION_MODE_MAX
#define vtkSetClampMacro(name, type, min, max)
#define vtkTypeMacro(thisClass, superclass)
void SetAccumulationModeToMax()
splat points into a volume with an elliptical, Gaussian distribution
dynamic, self-adjusting array of double
abstract superclass for composite (multi-block or AMR) datasets
a simple class to control print indentation
topologically and geometrically regular array of data
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
double PositionSampling(double)
#define VTK_ACCUMULATION_MODE_SUM
virtual int FillInputPortInformation(int port, vtkInformation *info)
void SetAccumulationModeToSum()
#define vtkSetVector6Macro(name, type)
#define VTK_ACCUMULATION_MODE_MIN
double SamplePoint(double x[3])
Generic algorithm superclass for image algs.
void SetScalar(int idx, double dist2, double *sPtr)
void PrintSelf(ostream &os, vtkIndent indent)
static vtkAlgorithm * New()
#define vtkBooleanMacro(name, type)
#define VTKIMAGINGHYBRID_EXPORT
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
#define vtkGetVectorMacro(name, type, count)
double ScalarSampling(double s)
#define vtkSetMacro(name, type)