30 #ifndef vtkAMRGaussianPulseSource_h 31 #define vtkAMRGaussianPulseSource_h 33 #include "vtkFiltersAMRModule.h" 55 vtkSetMacro(Dimension,
int);
62 vtkSetMacro(NumberOfLevels,
int);
69 {this->RefinmentRatio=r;this->
Modified();}
77 this->RootSpacing[0]=this->RootSpacing[1]=this->RootSpacing[2]=h0;
86 vtkSetVector3Macro(PulseOrigin,
double);
87 vtkGetVector3Macro(PulseOrigin,
double);
89 {this->PulseOrigin[0]=f;this->
Modified();}
91 {this->PulseOrigin[1]=f;this->
Modified();}
93 {this->PulseOrigin[2]=f;this->
Modified();}
100 vtkSetVector3Macro(PulseWidth,
double);
101 vtkGetVector3Macro(PulseWidth,
double);
103 {this->PulseWidth[0]=f;this->
Modified();}
105 {this->PulseWidth[1]=f;this->
Modified();}
107 {this->PulseWidth[2]=f;this->
Modified();}
114 vtkSetMacro(PulseAmplitude,
double);
115 vtkGetMacro(PulseAmplitude,
double);
137 double xyz[3]; xyz[0]=x; xyz[1]=y; xyz[2]=z;
138 return( this->ComputePulseAt(xyz) );
144 for(
int i=0; i < this->Dimension; ++i )
146 double d = pt[i]-this->PulseOrigin[i];
148 double L2 = this->PulseWidth[i]*this->PulseWidth[i];
151 pulse = this->PulseAmplitude*std::exp( -r );
162 double centroid[3] );
173 vtkUniformGrid* GetGrid(
double origin[3],
double h[3],
int ndim[3] );
188 double RootSpacing[3];
189 double PulseOrigin[3];
190 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.
double ComputePulseAt(const double x, const double y, const double z)
Computes the gaussian pulse at the given location based on the user supplied parameters for pulse wid...
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...
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.