Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

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.
double EvaluateFunction (double x[3])
double EvaluateFunction (double x, double y, double z)
static vtkPerlinNoiseNew ()

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])
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)

Protected Member Functions

 vtkPerlinNoise ()
 ~vtkPerlinNoise ()

Protected Attributes

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


Member Typedef Documentation

typedef vtkImplicitFunction vtkPerlinNoise::Superclass
 

Reimplemented from vtkImplicitFunction.

Definition at line 45 of file vtkPerlinNoise.h.


Constructor & Destructor Documentation

vtkPerlinNoise::vtkPerlinNoise  )  [protected]
 

vtkPerlinNoise::~vtkPerlinNoise  )  [inline, protected]
 

Definition at line 88 of file vtkPerlinNoise.h.


Member Function Documentation

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

Reimplemented from vtkImplicitFunction.

static int vtkPerlinNoise::IsTypeOf const char *  type  )  [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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkImplicitFunction.

virtual int vtkPerlinNoise::IsA const char *  type  )  [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 vtkTypeRevisionMacro 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.

References vtkImplicitFunction::EvaluateFunction().

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]
 

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

virtual double* vtkPerlinNoise::GetFrequency  )  [virtual]
 

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

virtual void vtkPerlinNoise::GetFrequency double  data[3]  )  [virtual]
 

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

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. By default, the amplitude is 1.

virtual double vtkPerlinNoise::GetAmplitude  )  [virtual]
 

Set/get the amplitude of the noise function. By default, the amplitude is 1.


Member Data Documentation

double vtkPerlinNoise::Frequency[3] [protected]
 

Definition at line 90 of file vtkPerlinNoise.h.

double vtkPerlinNoise::Phase[3] [protected]
 

Definition at line 91 of file vtkPerlinNoise.h.

double vtkPerlinNoise::Amplitude [protected]
 

Definition at line 92 of file vtkPerlinNoise.h.


The documentation for this class was generated from the following file:
Generated on Tue Jan 22 00:06:47 2008 for VTK by  doxygen 1.4.3-20050530