Panda3D
Classes | Public Member Functions
StackedPerlinNoise3 Class Reference

Implements a multi-layer PerlinNoise, with one or more high-frequency noise functions added to a lower-frequency base noise function. More...

#include "stackedPerlinNoise3.h"

List of all members.

Classes

class  Noise

Public Member Functions

 StackedPerlinNoise3 ()
 Creates a StackedPerlinNoise3 object with no levels.
 StackedPerlinNoise3 (double sx, double sy, double sz, int num_levels=3, double scale_factor=4.0f, double amp_scale=0.5f, int table_size=256, unsigned long seed=0)
 Creates num_levels nested PerlinNoise3 objects.
 StackedPerlinNoise3 (const StackedPerlinNoise3 &copy)
 Creates an exact duplicate of the existing StackedPerlinNoise3 object, including the random seed.
void add_level (const PerlinNoise3 &level, double amp=1.0)
 Adds an arbitrary PerlinNoise3 object, and an associated amplitude, to the stack.
void clear ()
 Removes all levels from the stack.
double noise (double x, double y, double z)
 Returns the noise function of the three inputs.
float noise (const LVecBase3f &value)
 Returns the noise function of the three inputs.
double noise (const LVecBase3d &value)
 Returns the noise function of the three inputs.
double operator() (double x, double y, double z)
 Returns the noise function of the three inputs.
float operator() (const LVecBase3f &value)
 Returns the noise function of the three inputs.
double operator() (const LVecBase3d &value)
 Returns the noise function of the three inputs.
void operator= (const StackedPerlinNoise3 &copy)
 Creates an exact duplicate of the existing StackedPerlinNoise3 object, including the random seed.

Detailed Description

Implements a multi-layer PerlinNoise, with one or more high-frequency noise functions added to a lower-frequency base noise function.

Definition at line 28 of file stackedPerlinNoise3.h.


Constructor & Destructor Documentation

Creates a StackedPerlinNoise3 object with no levels.

You should call add_level() to add each level by hand.

Definition at line 24 of file stackedPerlinNoise3.I.

StackedPerlinNoise3::StackedPerlinNoise3 ( double  sx,
double  sy,
double  sz,
int  num_levels = 3,
double  scale_factor = 4.0f,
double  amp_scale = 0.5f,
int  table_size = 256,
unsigned long  seed = 0 
)

Creates num_levels nested PerlinNoise3 objects.

Each stacked Perlin object will have a scale of 1 / scale_factor times the previous object (so that it is higher-frequency, if scale_factor > 1), and an amplitude of amp_scale times the previous object (so that it is less important, if amp_scale < 1).

Definition at line 28 of file stackedPerlinNoise3.cxx.

References add_level(), PerlinNoise::get_seed(), and noise().

Creates an exact duplicate of the existing StackedPerlinNoise3 object, including the random seed.

Definition at line 53 of file stackedPerlinNoise3.cxx.


Member Function Documentation

void StackedPerlinNoise3::add_level ( const PerlinNoise3 level,
double  amp = 1.0 
)

Adds an arbitrary PerlinNoise3 object, and an associated amplitude, to the stack.

Definition at line 77 of file stackedPerlinNoise3.cxx.

Referenced by StackedPerlinNoise3().

Removes all levels from the stack.

You must call add_level() again to restore them.

Definition at line 91 of file stackedPerlinNoise3.cxx.

double StackedPerlinNoise3::noise ( double  x,
double  y,
double  z 
) [inline]

Returns the noise function of the three inputs.

Definition at line 33 of file stackedPerlinNoise3.I.

Referenced by noise(), operator()(), and StackedPerlinNoise3().

float StackedPerlinNoise3::noise ( const LVecBase3f value) [inline]

Returns the noise function of the three inputs.

Definition at line 43 of file stackedPerlinNoise3.I.

References noise().

double StackedPerlinNoise3::noise ( const LVecBase3d value)

Returns the noise function of the three inputs.

Definition at line 101 of file stackedPerlinNoise3.cxx.

double StackedPerlinNoise3::operator() ( double  x,
double  y,
double  z 
) [inline]

Returns the noise function of the three inputs.

Definition at line 53 of file stackedPerlinNoise3.I.

References noise().

float StackedPerlinNoise3::operator() ( const LVecBase3f value) [inline]

Returns the noise function of the three inputs.

Definition at line 63 of file stackedPerlinNoise3.I.

References noise().

double StackedPerlinNoise3::operator() ( const LVecBase3d value) [inline]

Returns the noise function of the three inputs.

Definition at line 73 of file stackedPerlinNoise3.I.

References noise().

void StackedPerlinNoise3::operator= ( const StackedPerlinNoise3 copy)

Creates an exact duplicate of the existing StackedPerlinNoise3 object, including the random seed.

Definition at line 66 of file stackedPerlinNoise3.cxx.


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations