Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# vtkPerlinNoise Class Reference

`#include <vtkPerlinNoise.h>`

Inheritance diagram for vtkPerlinNoise:

[legend]
Collaboration diagram for vtkPerlinNoise:

[legend]
List of all members.

## Detailed Description

an implicit function that implements Perlin noise

Date:
  2002/08/30 15:27:28

Revision:
  1.4

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

Created by:
  - Halle, Michael

CVS contributions (if > 5%):
  - Halle, Michael (79%)
  - Schroeder, Will (17%)

CVS logs (CVSweb):
  - .`h` (`/Filtering/vtkPerlinNoise.h)`
  - .`cxx` (`/Filtering/vtkPerlinNoise.cxx)`

Examples:
  vtkPerlinNoise (Examples)

Tests:
  vtkPerlinNoise (Tests)

Definition at line 57 of file vtkPerlinNoise.h.

## Public Types
typedef vtkImplicitFunction | Superclass
## Public Methods
virtual const char * | GetClassName ()
virtual int | IsA (const char *type)
void | PrintSelf (ostream &os, vtkIndent indent)
void | EvaluateGradient (float x[3], float n[3])
float | EvaluateFunction (float x[3])
float | EvaluateFunction (float x, float y, float z)
virtual void | SetFrequency (float, float, float)
virtual void | SetFrequency (float[3])
virtual float * | GetFrequency ()
virtual void | GetFrequency (float data[3])
virtual void | SetPhase (float, float, float)
virtual void | SetPhase (float[3])
virtual float * | GetPhase ()
virtual void | GetPhase (float data[3])
virtual void | SetAmplitude (float)
virtual float | GetAmplitude ()
## Static Public Methods
int | IsTypeOf (const char *type)
vtkPerlinNoise * | SafeDownCast (vtkObject *o)
vtkPerlinNoise * | New ()
## Protected Methods
| vtkPerlinNoise ()
| ~vtkPerlinNoise ()
## Protected Attributes
float | Frequency [3]
float | Phase [3]
float | Amplitude

## Member Typedef Documentation

typedef vtkImplicitFunction vtkPerlinNoise::Superclass

| Reimplemented from vtkImplicitFunction. Definition at line 60 of file vtkPerlinNoise.h.

## Constructor & Destructor Documentation

vtkPerlinNoise::vtkPerlinNoise | ( |  | ) | `[protected]`

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

| Definition at line 103 of file vtkPerlinNoise.h.

## Member Function Documentation

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

| Reimplemented from vtkImplicitFunction.

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.

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.

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

| Instantiate the class. Reimplemented from vtkObject.

float vtkPerlinNoise::EvaluateFunction | ( | float | x[3] | ) | `[virtual]`

| Evaluate PerlinNoise function. Implements vtkImplicitFunction.

float vtkPerlinNoise::EvaluateFunction | ( | float | x,
|  | float | y,
|  | float | z
| ) | `[inline]`

| Evaluate PerlinNoise function. Reimplemented from vtkImplicitFunction. Definition at line 69 of file vtkPerlinNoise.h. References vtkImplicitFunction::EvaluateFunction().

void vtkPerlinNoise::EvaluateGradient | ( | float | x[3],
|  | float | n[3]
| ) | `[virtual]`

| Evaluate PerlinNoise gradient. Currently, the method returns a 0 gradient. Implements vtkImplicitFunction.

virtual void vtkPerlinNoise::SetFrequency | ( | float | ,
|  | float | ,
|  | float |
| ) | `[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 | ( | float | [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 float* 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 | ( | float | 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 | ( | float | ,
|  | float | ,
|  | float |
| ) | `[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 | ( | float | [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 float* 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 | ( | float | 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 | ( | float |  | ) | `[virtual]`

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

virtual float vtkPerlinNoise::GetAmplitude | ( |  | ) | `[virtual]`

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

## Member Data Documentation

float vtkPerlinNoise::Frequency[3]`[protected]`

| Definition at line 105 of file vtkPerlinNoise.h.

float vtkPerlinNoise::Phase[3]`[protected]`

| Definition at line 106 of file vtkPerlinNoise.h.

float vtkPerlinNoise::Amplitude`[protected]`

| Definition at line 107 of file vtkPerlinNoise.h.

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

- Filtering/vtkPerlinNoise.h