Rosetta
Public Member Functions | Static Private Member Functions | Private Attributes | List of all members
protocols::electron_density::PerlinNoise Class Reference

#include <PerlinNoise.hh>

Public Member Functions

 PerlinNoise (std::uint32_t seed=std::default_random_engine::default_seed)
 
void reseed (std::uint32_t seed)
 
double noise (double x) const
 
double noise (double x, double y) const
 
double noise (double x, double y, double z) const
 
double octaveNoise (double x, std::int32_t octaves) const
 
double octaveNoise (double x, double y, std::int32_t octaves) const
 
double octaveNoise (double x, double y, double z, std::int32_t octaves) const
 
double noise0_1 (double x) const
 
double noise0_1 (double x, double y) const
 
double noise0_1 (double x, double y, double z) const
 
double octaveNoise0_1 (double x, std::int32_t octaves) const
 
double octaveNoise0_1 (double x, double y, std::int32_t octaves) const
 
double octaveNoise0_1 (double x, double y, double z, std::int32_t octaves) const
 

Static Private Member Functions

static double Fade (double t) noexcept
 
static double Lerp (double t, double a, double b) noexcept
 
static double Grad (std::int32_t hash, double x, double y, double z) noexcept
 

Private Attributes

std::int32_t p [512]
 

Constructor & Destructor Documentation

◆ PerlinNoise()

protocols::electron_density::PerlinNoise::PerlinNoise ( std::uint32_t  seed = std::default_random_engine::default_seed)
inlineexplicit

References reseed().

Member Function Documentation

◆ Fade()

static double protocols::electron_density::PerlinNoise::Fade ( double  t)
inlinestaticprivatenoexcept

References protocols::hybridization::t.

Referenced by noise().

◆ Grad()

static double protocols::electron_density::PerlinNoise::Grad ( std::int32_t  hash,
double  x,
double  y,
double  z 
)
inlinestaticprivatenoexcept

References protocols::hybridization::u.

Referenced by noise().

◆ Lerp()

static double protocols::electron_density::PerlinNoise::Lerp ( double  t,
double  a,
double  b 
)
inlinestaticprivatenoexcept

◆ noise() [1/3]

double protocols::electron_density::PerlinNoise::noise ( double  x) const
inline

Referenced by noise(), noise0_1(), and octaveNoise().

◆ noise() [2/3]

double protocols::electron_density::PerlinNoise::noise ( double  x,
double  y 
) const
inline

References noise().

◆ noise() [3/3]

double protocols::electron_density::PerlinNoise::noise ( double  x,
double  y,
double  z 
) const
inline

◆ noise0_1() [1/3]

double protocols::electron_density::PerlinNoise::noise0_1 ( double  x) const
inline

References noise().

◆ noise0_1() [2/3]

double protocols::electron_density::PerlinNoise::noise0_1 ( double  x,
double  y 
) const
inline

References noise().

◆ noise0_1() [3/3]

double protocols::electron_density::PerlinNoise::noise0_1 ( double  x,
double  y,
double  z 
) const
inline

References noise().

◆ octaveNoise() [1/3]

double protocols::electron_density::PerlinNoise::octaveNoise ( double  x,
double  y,
double  z,
std::int32_t  octaves 
) const
inline

References noise().

◆ octaveNoise() [2/3]

double protocols::electron_density::PerlinNoise::octaveNoise ( double  x,
double  y,
std::int32_t  octaves 
) const
inline

References noise().

◆ octaveNoise() [3/3]

double protocols::electron_density::PerlinNoise::octaveNoise ( double  x,
std::int32_t  octaves 
) const
inline

References noise().

Referenced by octaveNoise0_1().

◆ octaveNoise0_1() [1/3]

double protocols::electron_density::PerlinNoise::octaveNoise0_1 ( double  x,
double  y,
double  z,
std::int32_t  octaves 
) const
inline

References octaveNoise().

◆ octaveNoise0_1() [2/3]

double protocols::electron_density::PerlinNoise::octaveNoise0_1 ( double  x,
double  y,
std::int32_t  octaves 
) const
inline

References octaveNoise().

◆ octaveNoise0_1() [3/3]

double protocols::electron_density::PerlinNoise::octaveNoise0_1 ( double  x,
std::int32_t  octaves 
) const
inline

References octaveNoise().

◆ reseed()

void protocols::electron_density::PerlinNoise::reseed ( std::uint32_t  seed)
inline

References p.

Referenced by PerlinNoise().

Member Data Documentation

◆ p

std::int32_t protocols::electron_density::PerlinNoise::p[512]
private

Referenced by noise(), and reseed().


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