26 #ifndef vtkParametricRandomHills_h
27 #define vtkParametricRandomHills_h
29 #include "vtkCommonComputationalGeometryModule.h"
32 VTK_ABI_NAMESPACE_BEGIN
71 vtkSetMacro(NumberOfHills,
int);
72 vtkGetMacro(NumberOfHills,
int);
80 vtkSetMacro(HillXVariance,
double);
81 vtkGetMacro(HillXVariance,
double);
89 vtkSetMacro(HillYVariance,
double);
90 vtkGetMacro(HillYVariance,
double);
98 vtkSetMacro(HillAmplitude,
double);
99 vtkGetMacro(HillAmplitude,
double);
109 vtkSetMacro(RandomSeed,
int);
110 vtkGetMacro(RandomSeed,
int);
127 vtkSetClampMacro(AllowRandomGeneration,
vtkTypeBool, 0, 1);
129 vtkBooleanMacro(AllowRandomGeneration,
vtkTypeBool);
137 vtkSetMacro(XVarianceScaleFactor,
double);
138 vtkGetMacro(XVarianceScaleFactor,
double);
146 vtkSetMacro(YVarianceScaleFactor,
double);
147 vtkGetMacro(YVarianceScaleFactor,
double);
155 vtkSetMacro(AmplitudeScaleFactor,
double);
156 vtkGetMacro(AmplitudeScaleFactor,
double);
167 void Evaluate(
double uvw[3],
double Pt[3],
double Duvw[9])
override;
182 double EvaluateScalar(
double uvw[3],
double Pt[3],
double Duvw[9])
override;
217 void InitRNG(
int RandomSeed);
235 void MakeTheHillData();
240 bool ParametersChanged();
245 void CopyParameters();
255 VTK_ABI_NAMESPACE_END
int previousNumberOfHills
vtkTypeBool AllowRandomGeneration
Generate a surface covered with randomly placed hills.
double XVarianceScaleFactor
int previousAllowRandomGeneration
double previousAmplitudeScaleFactor
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
double previousHillXVariance
abstract interface for parametric functions
a simple class to control print indentation
double previousHillYVariance
Park and Miller Sequence of pseudo random numbers.
double AmplitudeScaleFactor
double YVarianceScaleFactor
double previousXVarianceScaleFactor
double previousHillAmplitude
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
double previousYVarianceScaleFactor