27 #ifndef vtkAMRGaussianPulseSource_h
28 #define vtkAMRGaussianPulseSource_h
30 #include "vtkFiltersAMRModule.h"
52 vtkSetMacro(Dimension,
int);
59 vtkSetMacro(NumberOfLevels,
int);
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();}
111 vtkSetMacro(PulseAmplitude,
double);
112 vtkGetMacro(PulseAmplitude,
double);
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] );
185 double RootSpacing[3];
186 double PulseOrigin[3];
187 double PulseWidth[3];