vtkPerlinNoise Class Reference

#include <vtkPerlinNoise.h>

Inheritance diagram for vtkPerlinNoise:

Inheritance graph
[legend]
Collaboration diagram for vtkPerlinNoise:

Collaboration graph
[legend]

List of all members.


Detailed Description

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 42 of file vtkPerlinNoise.h.


Public Types

typedef vtkImplicitFunction Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
void EvaluateGradient (double x[3], double n[3])
double EvaluateFunction (double x[3])
double EvaluateFunction (double x, double y, double z)
virtual void SetFrequency (double, double, double)
virtual void SetFrequency (double[3])
virtual double * GetFrequency ()
virtual void GetFrequency (double data[3])
virtual void SetPhase (double, double, double)
virtual void SetPhase (double[3])
virtual double * GetPhase ()
virtual void GetPhase (double data[3])
virtual void SetAmplitude (double)
virtual double GetAmplitude ()

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkPerlinNoiseSafeDownCast (vtkObject *o)
static vtkPerlinNoiseNew ()

Protected Member Functions

 vtkPerlinNoise ()
 ~vtkPerlinNoise ()

Protected Attributes

double Frequency [3]
double Phase [3]
double Amplitude

Member Typedef Documentation

Reimplemented from vtkImplicitFunction.

Definition at line 45 of file vtkPerlinNoise.h.


Constructor & Destructor Documentation

vtkPerlinNoise::vtkPerlinNoise (  )  [protected]

vtkPerlinNoise::~vtkPerlinNoise (  )  [inline, protected]

Definition at line 90 of file vtkPerlinNoise.h.


Member Function Documentation

virtual const char* vtkPerlinNoise::GetClassName (  )  [virtual]

Reimplemented from vtkImplicitFunction.

static int vtkPerlinNoise::IsTypeOf ( const char *  name  )  [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkImplicitFunction.

virtual int vtkPerlinNoise::IsA ( const char *  name  )  [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkImplicitFunction.

static vtkPerlinNoise* vtkPerlinNoise::SafeDownCast ( vtkObject o  )  [static]

Reimplemented from vtkImplicitFunction.

void vtkPerlinNoise::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkImplicitFunction.

static vtkPerlinNoise* vtkPerlinNoise::New (  )  [static]

Instantiate the class.

Reimplemented from vtkObject.

double vtkPerlinNoise::EvaluateFunction ( double  x[3]  )  [virtual]

Evaluate PerlinNoise function.

Implements vtkImplicitFunction.

double vtkPerlinNoise::EvaluateFunction ( double  x,
double  y,
double  z 
) [inline]

Evaluate PerlinNoise function.

Reimplemented from vtkImplicitFunction.

Definition at line 54 of file vtkPerlinNoise.h.

void vtkPerlinNoise::EvaluateGradient ( double  x[3],
double  n[3] 
) [virtual]

Evaluate PerlinNoise gradient. Currently, the method returns a 0 gradient.

Implements vtkImplicitFunction.

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.


Member Data Documentation

double vtkPerlinNoise::Frequency[3] [protected]

Definition at line 92 of file vtkPerlinNoise.h.

double vtkPerlinNoise::Phase[3] [protected]

Definition at line 93 of file vtkPerlinNoise.h.

double vtkPerlinNoise::Amplitude [protected]

Definition at line 94 of file vtkPerlinNoise.h.


The documentation for this class was generated from the following file:

Generated on Mon Sep 27 18:40:07 2010 for VTK by  doxygen 1.5.6