HighMap library (C++)
|
Fractional Brownian Motion (FBM) function class. More...
#include <functions.hpp>
Public Member Functions | |
FbmFunction (std::unique_ptr< NoiseFunction > p_base, int octaves, float weight, float persistence, float lacunarity) | |
Construct a new Fbm Function object. | |
![]() | |
GenericFractalFunction (std::unique_ptr< NoiseFunction > p_base, int octaves, float weight, float persistence, float lacunarity) | |
Construct a new GenericFractalFunction object. | |
void | set_kw (Vec2< float > new_kw) override |
Set the frequency scaling vector. | |
void | set_lacunarity (float new_lacunarity) |
Set the lacunarity of the fractal noise. | |
void | set_octaves (int new_octaves) |
Set the number of octaves in the fractal noise. | |
void | set_persistence (float new_persistence) |
Set the persistence of the fractal noise. | |
void | set_seed (uint new_seed) override |
Set a new random seed for the noise generation. | |
void | scale_amp0 (float scale) |
Scale the initial amplitude of the fractal noise. | |
float | get_lacunarity () const |
Get the lacunarity of the fractal noise. | |
int | get_octaves () const |
Get the number of octaves in the fractal noise. | |
float | get_persistence () const |
Get the persistence of the fractal noise. | |
float | get_weight () const |
Get the weight of the fractal noise. | |
![]() | |
NoiseFunction () | |
Default constructor. Initializes with default frequency scaling and seed. | |
NoiseFunction (Vec2< float > kw) | |
Constructor to initialize with specific frequency scaling. | |
NoiseFunction (Vec2< float > kw, uint seed) | |
Constructor to initialize with specific frequency scaling and seed. | |
Vec2< float > | get_kw () const |
Get the frequency scaling vector. | |
uint | get_seed () const |
Get the random seed. | |
![]() | |
Function () | |
Default constructor. Initializes the delegate function to a default that returns 0. | |
virtual | ~Function ()=default |
Virtual destructor to ensure proper cleanup in derived classes. | |
Function (HMAP_FCT_XY_TYPE delegate) | |
Constructor to initialize with a specific delegate function. | |
HMAP_FCT_XY_TYPE | get_delegate () const |
Get the current delegate function. | |
float | get_value (float x, float y, float ctrl_param) const |
Call the delegate function with given arguments. | |
void | set_delegate (HMAP_FCT_XY_TYPE new_delegate) |
Set a new delegate function. | |
Additional Inherited Members | |
![]() | |
void | update_amp0 () |
Update the initial amplitude (amp0) based on the current octaves and persistence. | |
![]() | |
std::unique_ptr< NoiseFunction > | p_base |
Unique pointer to the base noise function. | |
int | octaves |
Number of octaves in the fractal noise. | |
float | weight |
Weight of the base noise function. | |
float | persistence |
Persistence of the fractal noise. | |
float | lacunarity |
Lacunarity of the fractal noise. | |
float | amp0 |
Initial amplitude of the fractal noise. | |
![]() | |
Vec2< float > | kw |
Frequency scaling vector. | |
uint | seed |
Random seed for noise generation. | |
Fractional Brownian Motion (FBM) function class.
hmap::FbmFunction::FbmFunction | ( | std::unique_ptr< NoiseFunction > | p_base, |
int | octaves, | ||
float | weight, | ||
float | persistence, | ||
float | lacunarity | ||
) |
Construct a new Fbm Function object.
p_base | Unique pointer to the base noise function. |
octaves | Number of octaves. |
weight | Octave weighting. |
persistence | Octave persistence. |
lacunarity | Defines the wavenumber ratio between each octave. |