73 #ifndef vtkGaussianSplatter_h 74 #define vtkGaussianSplatter_h 76 #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);
148 vtkGetMacro(ExponentFactor,
double);
158 vtkGetMacro(NormalWarping,
int);
171 vtkGetMacro(Eccentricity,
double);
179 vtkGetMacro(ScalarWarping,
int);
190 vtkGetMacro(Capping,
int);
200 vtkGetMacro(CapValue,
double);
210 vtkSetClampMacro(AccumulationMode,
int,
212 vtkGetMacro(AccumulationMode,
int);
219 const char *GetAccumulationModeAsString();
228 vtkGetMacro(NullValue,
double);
248 friend class vtkGaussianSplatterAlgorithm;
250 {
return (this->*Sample)(x);}
253 double v = (this->*SampleFactor)(this->S) * exp(static_cast<double>
254 (this->ExponentFactor*(dist2)/(this->Radius2)));
257 if ( ! this->Visited[idx] )
259 this->Visited[idx] = 1;
264 switch (this->AccumulationMode)
298 int SampleDimensions[3];
301 double ModelBounds[6];
310 double Gaussian(
double x[3]);
311 double EccentricGaussian(
double x[3]);
313 {
return this->ScaleFactor * s;}
315 {
return this->ScaleFactor;}
322 double Eccentricity2;
328 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
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.
~vtkGaussianSplatter() override
Provide access to templated helper class.
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.