Panda3D
Public Member Functions | List of all members
PerlinNoise2 Class Reference

This class provides an implementation of Perlin noise for 2 variables. More...

#include "perlinNoise2.h"

Inheritance diagram for PerlinNoise2:
PerlinNoise

Public Member Functions

 PerlinNoise2 ()
 Randomizes the tables to make a unique noise function. More...
 
 PerlinNoise2 (const PerlinNoise2 &copy)
 Makes an exact copy of the existing PerlinNoise object, including its random seed. More...
 
 PerlinNoise2 (double sx, double sy, int table_size=256, unsigned long seed=0)
 Randomizes the tables to make a unique noise function. More...
 
double noise (const LVecBase2d &value) const
 Returns the noise function of the three inputs. More...
 
float noise (const LVecBase2f &value) const
 Returns the noise function of the three inputs. More...
 
double noise (double x, double y) const
 Returns the noise function of the three inputs. More...
 
double operator() (const LVecBase2d &value) const
 Returns the noise function of the two inputs. More...
 
float operator() (const LVecBase2f &value) const
 Returns the noise function of the two inputs. More...
 
double operator() (double x, double y) const
 Returns the noise function of the two inputs. More...
 
void operator= (const PerlinNoise2 &copy)
 Makes an exact copy of the existing PerlinNoise object, including its random seed. More...
 
void set_scale (const LVecBase2d &scale)
 Changes the scale (frequency) of the noise. More...
 
void set_scale (const LVecBase2f &scale)
 Changes the scale (frequency) of the noise. More...
 
void set_scale (double scale)
 Changes the scale (frequency) of the noise. More...
 
void set_scale (double sx, double sy)
 Changes the scale (frequency) of the noise. More...
 
- Public Member Functions inherited from PerlinNoise
unsigned long get_seed ()
 Returns a unique seed value based on the seed value passed to this PerlinNoise object (and on its current state). More...
 

Detailed Description

This class provides an implementation of Perlin noise for 2 variables.

This code is loosely based on the reference implementation at https://mrl.nyu.edu/~perlin/noise/ .

Definition at line 25 of file perlinNoise2.h.

Constructor & Destructor Documentation

◆ PerlinNoise2() [1/3]

PerlinNoise2::PerlinNoise2 ( )
inline

Randomizes the tables to make a unique noise function.

Uses a default scale (noise frequency), table size, and seed.

Definition at line 18 of file perlinNoise2.I.

◆ PerlinNoise2() [2/3]

PerlinNoise2::PerlinNoise2 ( double  sx,
double  sy,
int  table_size = 256,
unsigned long  seed = 0 
)
inlineexplicit

Randomizes the tables to make a unique noise function.

If seed is nonzero, it is used to define the tables; if it is zero a random seed is generated.

Definition at line 32 of file perlinNoise2.I.

◆ PerlinNoise2() [3/3]

PerlinNoise2::PerlinNoise2 ( const PerlinNoise2 copy)
inline

Makes an exact copy of the existing PerlinNoise object, including its random seed.

Definition at line 45 of file perlinNoise2.I.

Member Function Documentation

◆ noise() [1/3]

double PerlinNoise2::noise ( const LVecBase2d &  value) const

Returns the noise function of the three inputs.

Definition at line 20 of file perlinNoise2.cxx.

◆ noise() [2/3]

float PerlinNoise2::noise ( const LVecBase2f &  value) const
inline

Returns the noise function of the three inputs.

Definition at line 107 of file perlinNoise2.I.

◆ noise() [3/3]

double PerlinNoise2::noise ( double  x,
double  y 
) const
inline

Returns the noise function of the three inputs.

Definition at line 99 of file perlinNoise2.I.

Referenced by PNMImage::perlin_noise_fill().

◆ operator()() [1/3]

double PerlinNoise2::operator() ( const LVecBase2d &  value) const
inline

Returns the noise function of the two inputs.

Definition at line 131 of file perlinNoise2.I.

◆ operator()() [2/3]

float PerlinNoise2::operator() ( const LVecBase2f &  value) const
inline

Returns the noise function of the two inputs.

Definition at line 123 of file perlinNoise2.I.

◆ operator()() [3/3]

double PerlinNoise2::operator() ( double  x,
double  y 
) const
inline

Returns the noise function of the two inputs.

Definition at line 115 of file perlinNoise2.I.

◆ operator=()

void PerlinNoise2::operator= ( const PerlinNoise2 copy)
inline

Makes an exact copy of the existing PerlinNoise object, including its random seed.

Definition at line 57 of file perlinNoise2.I.

◆ set_scale() [1/4]

void PerlinNoise2::set_scale ( const LVecBase2d &  scale)
inline

Changes the scale (frequency) of the noise.

Definition at line 91 of file perlinNoise2.I.

◆ set_scale() [2/4]

void PerlinNoise2::set_scale ( const LVecBase2f &  scale)
inline

Changes the scale (frequency) of the noise.

Definition at line 83 of file perlinNoise2.I.

◆ set_scale() [3/4]

void PerlinNoise2::set_scale ( double  scale)
inline

Changes the scale (frequency) of the noise.

Definition at line 67 of file perlinNoise2.I.

◆ set_scale() [4/4]

void PerlinNoise2::set_scale ( double  sx,
double  sy 
)
inline

Changes the scale (frequency) of the noise.

Definition at line 75 of file perlinNoise2.I.


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