an implicit function that implements Perlin noise
More...
#include <vtkPerlinNoise.h>
Inherits vtkImplicitFunction.
an implicit function that implements Perlin noise
vtkPerlinNoise computes a Perlin noise field as an implicit function. vtkPerlinNoise is a concrete implementation of vtkImplicitFunction. Perlin noise, originally described by Ken Perlin, is a non-periodic and continuous noise function useful for modeling real-world objects.
The amplitude and frequency of the noise pattern are adjustable. This implementation of Perlin noise is derived closely from Greg Ward's version in Graphics Gems II.
- See Also
- vtkImplicitFunction
- Examples:
- vtkPerlinNoise (Examples)
- Tests:
- vtkPerlinNoise (Tests)
Definition at line 43 of file vtkPerlinNoise.h.
vtkPerlinNoise::vtkPerlinNoise |
( |
| ) |
|
|
protected |
vtkPerlinNoise::~vtkPerlinNoise |
( |
| ) |
|
|
inlineprotected |
static int vtkPerlinNoise::IsTypeOf |
( |
const char * |
type | ) |
|
|
static |
virtual int vtkPerlinNoise::IsA |
( |
const char * |
type | ) |
|
|
virtual |
virtual vtkObjectBase* vtkPerlinNoise::NewInstanceInternal |
( |
| ) |
const |
|
protectedvirtual |
void vtkPerlinNoise::PrintSelf |
( |
ostream & |
os, |
|
|
vtkIndent |
indent |
|
) |
| |
double vtkPerlinNoise::EvaluateFunction |
( |
double |
x[3] | ) |
|
Evaluate PerlinNoise function.
double vtkPerlinNoise::EvaluateFunction |
( |
double |
x, |
|
|
double |
y, |
|
|
double |
z |
|
) |
| |
|
inline |
void vtkPerlinNoise::EvaluateGradient |
( |
double |
x[3], |
|
|
double |
n[3] |
|
) |
| |
Evaluate PerlinNoise gradient. Currently, the method returns a 0 gradient.
virtual void vtkPerlinNoise::SetFrequency |
( |
double |
, |
|
|
double |
, |
|
|
double |
|
|
) |
| |
|
virtual |
Set/get the frequency, or physical scale, of the noise function (higher is finer scale). The frequency can be adjusted per axis, or the same for all axes.
virtual void vtkPerlinNoise::SetFrequency |
( |
double |
[3] | ) |
|
|
virtual |
Set/get the frequency, or physical scale, of the noise function (higher is finer scale). The frequency can be adjusted per axis, or the same for all axes.
virtual double* vtkPerlinNoise::GetFrequency |
( |
| ) |
|
|
virtual |
Set/get the frequency, or physical scale, of the noise function (higher is finer scale). The frequency can be adjusted per axis, or the same for all axes.
virtual void vtkPerlinNoise::GetFrequency |
( |
double |
data[3] | ) |
|
|
virtual |
Set/get the frequency, or physical scale, of the noise function (higher is finer scale). The frequency can be adjusted per axis, or the same for all axes.
virtual void vtkPerlinNoise::SetPhase |
( |
double |
, |
|
|
double |
, |
|
|
double |
|
|
) |
| |
|
virtual |
Set/get the phase of the noise function. This parameter can be used to shift the noise function within space (perhaps to avoid a beat with a noise pattern at another scale). Phase tends to repeat about every unit, so a phase of 0.5 is a half-cycle shift.
virtual void vtkPerlinNoise::SetPhase |
( |
double |
[3] | ) |
|
|
virtual |
Set/get the phase of the noise function. This parameter can be used to shift the noise function within space (perhaps to avoid a beat with a noise pattern at another scale). Phase tends to repeat about every unit, so a phase of 0.5 is a half-cycle shift.
virtual double* vtkPerlinNoise::GetPhase |
( |
| ) |
|
|
virtual |
Set/get the phase of the noise function. This parameter can be used to shift the noise function within space (perhaps to avoid a beat with a noise pattern at another scale). Phase tends to repeat about every unit, so a phase of 0.5 is a half-cycle shift.
virtual void vtkPerlinNoise::GetPhase |
( |
double |
data[3] | ) |
|
|
virtual |
Set/get the phase of the noise function. This parameter can be used to shift the noise function within space (perhaps to avoid a beat with a noise pattern at another scale). Phase tends to repeat about every unit, so a phase of 0.5 is a half-cycle shift.
virtual void vtkPerlinNoise::SetAmplitude |
( |
double |
| ) |
|
|
virtual |
Set/get the amplitude of the noise function. Amplitude can be negative. The noise function varies randomly between -|Amplitude| and |Amplitude|. Therefore the range of values is 2*|Amplitude| large. The initial amplitude is 1.
virtual double vtkPerlinNoise::GetAmplitude |
( |
| ) |
|
|
virtual |
Set/get the amplitude of the noise function. Amplitude can be negative. The noise function varies randomly between -|Amplitude| and |Amplitude|. Therefore the range of values is 2*|Amplitude| large. The initial amplitude is 1.
double vtkPerlinNoise::Frequency[3] |
|
protected |
double vtkPerlinNoise::Phase[3] |
|
protected |
double vtkPerlinNoise::Amplitude |
|
protected |
The documentation for this class was generated from the following file: