Filtering/vtkPerlinNoise.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00053 #ifndef __vtkPerlinNoise_h
00054 #define __vtkPerlinNoise_h
00055
00056 #include "vtkImplicitFunction.h"
00057
00058 class VTK_FILTERING_EXPORT vtkPerlinNoise : public vtkImplicitFunction
00059 {
00060 public:
00061 vtkTypeRevisionMacro(vtkPerlinNoise,vtkImplicitFunction);
00062 void PrintSelf(ostream& os, vtkIndent indent);
00063
00065 static vtkPerlinNoise *New();
00066
00068
00069 float EvaluateFunction(float x[3]);
00070 float EvaluateFunction(float x, float y, float z)
00071 {return this->vtkImplicitFunction::EvaluateFunction(x, y, z); } ;
00073
00076 void EvaluateGradient(float x[3], float n[3]);
00077
00079
00082 vtkSetVector3Macro(Frequency,float);
00083 vtkGetVectorMacro(Frequency,float,3);
00085
00087
00091 vtkSetVector3Macro(Phase,float);
00092 vtkGetVectorMacro(Phase,float,3);
00094
00096
00098 vtkSetMacro(Amplitude,float);
00099 vtkGetMacro(Amplitude,float);
00101
00102 protected:
00103 vtkPerlinNoise();
00104 ~vtkPerlinNoise() {}
00105
00106 float Frequency[3];
00107 float Phase[3];
00108 float Amplitude;
00109
00110 private:
00111 vtkPerlinNoise(const vtkPerlinNoise&);
00112 void operator=(const vtkPerlinNoise&);
00113 };
00114
00115 #endif