27 #ifndef vtkAMRGaussianPulseSource_h
28 #define vtkAMRGaussianPulseSource_h
30 #include "vtkFiltersAMRModule.h"
66 {this->RefinmentRatio=r;this->
Modified();}
74 this->RootSpacing[0]=this->RootSpacing[1]=this->RootSpacing[2]=h0;
83 vtkSetVector3Macro(PulseOrigin,
double);
84 vtkGetVector3Macro(PulseOrigin,
double);
86 {this->PulseOrigin[0]=f;this->
Modified();}
88 {this->PulseOrigin[1]=f;this->
Modified();}
90 {this->PulseOrigin[2]=f;this->
Modified();}
97 vtkSetVector3Macro(PulseWidth,
double);
98 vtkGetVector3Macro(PulseWidth,
double);
100 {this->PulseWidth[0]=f;this->
Modified();}
102 {this->PulseWidth[1]=f;this->
Modified();}
104 {this->PulseWidth[2]=f;this->
Modified();}
112 vtkGetMacro(PulseAmplitude,
double);
132 double ComputePulseAt(const
double x, const
double y, const
double z)
134 double xyz[3]; xyz[0]=x; xyz[1]=y; xyz[2]=z;
135 return( this->ComputePulseAt(xyz) );
141 for(
int i=0; i < this->Dimension; ++i )
143 double d = pt[i]-this->PulseOrigin[i];
145 double L2 = this->PulseWidth[i]*this->PulseWidth[i];
148 pulse = this->PulseAmplitude*std::exp( -r );
159 double centroid[3] );
170 vtkUniformGrid* GetGrid(
double origin[3],
double h[3],
int ndim[3] );
185 double RootSpacing[3];
186 double PulseOrigin[3];
187 double PulseWidth[3];
void SetZPulseOrigin(double f)
Set & Get macro for the pulse origin.
void SetYPulseWidth(double f)
Set & Get macro for the pulse width.
A base class for all algorithms that take as input vtkOverlappingAMR and produce vtkOverlappingAMR.
A source that generates sample AMR data with gaussian pulse field.
void SetXPulseWidth(double f)
Set & Get macro for the pulse width.
a simple class to control print indentation
void SetRootSpacing(double h0)
Set the root spacing.
virtual void Modified()
Update the modification time for this object.
double ComputePulseAt(double pt[3])
Computes the gaussian pulse at the given location based on the user supplied parameters for pulse wid...
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
void SetYPulseOrigin(double f)
Set & Get macro for the pulse origin.
hierarchical dataset of vtkUniformGrids
void SetZPulseWidth(double f)
Set & Get macro for the pulse width.
void SetRefinementRatio(int r)
Set the refinement ratio.
void SetXPulseOrigin(double f)
Set & Get macro for the pulse origin.
static vtkOverlappingAMRAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.