35 #ifndef vtkParametricRandomHills_h
36 #define vtkParametricRandomHills_h
38 #include "vtkCommonComputationalGeometryModule.h"
81 vtkGetMacro(NumberOfHills,
int);
90 vtkGetMacro(HillXVariance,
double);
99 vtkGetMacro(HillYVariance,
double);
108 vtkGetMacro(HillAmplitude,
double);
119 vtkGetMacro(RandomSeed,
int);
136 vtkSetClampMacro(AllowRandomGeneration,
int, 0, 1);
137 vtkGetMacro(AllowRandomGeneration,
int);
147 vtkGetMacro(XVarianceScaleFactor,
double);
156 vtkGetMacro(YVarianceScaleFactor,
double);
165 vtkGetMacro(AmplitudeScaleFactor,
double);
176 void Evaluate(
double uvw[3],
double Pt[3],
double Duvw[9]) VTK_OVERRIDE;
192 double Duvw[9]) VTK_OVERRIDE;
200 double HillXVariance;
201 double HillYVariance;
202 double HillAmplitude;
204 double XVarianceScaleFactor;
205 double YVarianceScaleFactor;
206 double AmplitudeScaleFactor;
207 int AllowRandomGeneration;
210 int previousNumberOfHills;
211 double previousHillXVariance;
212 double previousHillYVariance;
213 double previousHillAmplitude;
214 int previousRandomSeed;
215 double previousXVarianceScaleFactor;
216 double previousYVarianceScaleFactor;
217 double previousAmplitudeScaleFactor;
218 int previousAllowRandomGeneration;
227 void InitRNG(
int RandomSeed);
245 void MakeTheHillData(
void);
250 bool ParametersChanged();
255 void CopyParameters();
Generate a surface covered with randomly placed hills.
virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9])=0
Calculate a user defined scalar using one or all of uvw, Pt, Duvw.
virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9])=0
Performs the mapping $f(uvw)->(Pt,Duvw)$f.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int GetDimension() override
Return the parametric dimension of the class.
dynamic, self-adjusting array of double
abstract interface for parametric functions
a simple class to control print indentation
Park and Miller Sequence of pseudo random numbers.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...