79 #ifndef vtkGaussianSplatter_h
80 #define vtkGaussianSplatter_h
82 #include "vtkImagingHybridModule.h"
85 #define VTK_ACCUMULATION_MODE_MIN 0
86 #define VTK_ACCUMULATION_MODE_MAX 1
87 #define VTK_ACCUMULATION_MODE_SUM 2
91 class vtkGaussianSplatterAlgorithm;
111 void SetSampleDimensions(
int i,
int j,
int k);
112 void SetSampleDimensions(
int dim[3]);
113 vtkGetVectorMacro(SampleDimensions,
int,3);
123 vtkSetVector6Macro(ModelBounds,
double);
124 vtkGetVectorMacro(ModelBounds,
double,6);
133 vtkSetClampMacro(Radius,
double,0.0,1.0);
134 vtkGetMacro(Radius,
double);
144 vtkGetMacro(ScaleFactor,
double);
154 vtkGetMacro(ExponentFactor,
double);
164 vtkGetMacro(NormalWarping,
int);
177 vtkGetMacro(Eccentricity,
double);
185 vtkGetMacro(ScalarWarping,
int);
196 vtkGetMacro(Capping,
int);
206 vtkGetMacro(CapValue,
double);
216 vtkSetClampMacro(AccumulationMode,
int,
218 vtkGetMacro(AccumulationMode,
int);
225 const char *GetAccumulationModeAsString();
234 vtkGetMacro(NullValue,
double);
254 friend class vtkGaussianSplatterAlgorithm;
256 {
return (this->*Sample)(x);}
259 double v = (this->*SampleFactor)(this->S) * exp(static_cast<double>
260 (this->ExponentFactor*(dist2)/(this->Radius2)));
263 if ( ! this->Visited[idx] )
265 this->Visited[idx] = 1;
270 switch (this->AccumulationMode)
304 int SampleDimensions[3];
307 double ModelBounds[6];
316 double Gaussian(
double x[3]);
317 double EccentricGaussian(
double x[3]);
319 {
return this->ScaleFactor * s;}
321 {
return this->ScaleFactor;}
328 double Eccentricity2;
334 double SplatDistance[3];
void SetAccumulationModeToMin()
Specify the scalar accumulation mode.
int Capping
Provide access to templated helper class.
double Eccentricity
Provide access to templated helper class.
int ScalarWarping
Provide access to templated helper class.
abstract class to specify dataset behavior
#define VTK_ACCUMULATION_MODE_MAX
~vtkGaussianSplatter()
Provide access to templated helper class.
void SetAccumulationModeToMax()
Specify the scalar accumulation mode.
int AccumulationMode
Provide access to templated helper class.
double Radius
Provide access to templated helper class.
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
double CapValue
Provide access to templated helper class.
a simple class to control print indentation
topologically and geometrically regular array of data
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Subclasses can reimplement this method to collect information from their inputs and set information f...
double PositionSampling(double)
Provide access to templated helper class.
#define VTK_ACCUMULATION_MODE_SUM
void SetAccumulationModeToSum()
Specify the scalar accumulation mode.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
#define VTK_ACCUMULATION_MODE_MIN
double SamplePoint(double x[3])
Provide access to templated helper class.
int FillInputPortInformation(int port, vtkInformation *info) override
These method should be reimplemented by subclasses that have more than a single input or single outpu...
Generic algorithm superclass for image algs.
void SetScalar(int idx, double dist2, double *sPtr)
Provide access to templated helper class.
static vtkAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called in response to a REQUEST_DATA request from the executive.
double ScaleFactor
Provide access to templated helper class.
int NormalWarping
Provide access to templated helper class.
double ExponentFactor
Provide access to templated helper class.
double ScalarSampling(double s)
Provide access to templated helper class.