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] );
188 double RootSpacing[3];
189 double PulseOrigin[3];
190 double PulseWidth[3];