38 #ifndef vtkParametricRandomHills_h
39 #define vtkParametricRandomHills_h
41 #include "vtkCommonComputationalGeometryModule.h"
83 vtkGetMacro(NumberOfHills,
int);
92 vtkGetMacro(HillXVariance,
double);
101 vtkGetMacro(HillYVariance,
double);
110 vtkGetMacro(HillAmplitude,
double);
121 vtkGetMacro(RandomSeed,
int);
138 vtkSetClampMacro(AllowRandomGeneration,
int,0,1);
139 vtkGetMacro(AllowRandomGeneration,
int);
149 vtkGetMacro(XVarianceScaleFactor,
double);
158 vtkGetMacro(YVarianceScaleFactor,
double);
167 vtkGetMacro(AmplitudeScaleFactor,
double);
178 void Evaluate(
double uvw[3],
double Pt[3],
double Duvw[9]) VTK_OVERRIDE;
193 double EvaluateScalar(
double uvw[3],
double Pt[3],
double Duvw[9]) VTK_OVERRIDE;
201 double HillXVariance;
202 double HillYVariance;
203 double HillAmplitude;
205 double XVarianceScaleFactor;
206 double YVarianceScaleFactor;
207 double AmplitudeScaleFactor;
208 int AllowRandomGeneration;
211 int previousNumberOfHills;
212 double previousHillXVariance;
213 double previousHillYVariance;
214 double previousHillAmplitude;
215 int previousRandomSeed;
216 double previousXVarianceScaleFactor;
217 double previousYVarianceScaleFactor;
218 double previousAmplitudeScaleFactor;
219 int previousAllowRandomGeneration;
228 void InitRNG (
int RandomSeed );
233 double Rand (
void );
246 void MakeTheHillData(
void );
251 bool ParametersChanged();
256 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...