HighMap library (C++)
|
A class for generating fractal noise functions based on an underlying noise function. More...
#include <functions.hpp>
Public Member Functions | |
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. | |
Protected Member Functions | |
void | update_amp0 () |
Update the initial amplitude (amp0) based on the current octaves and persistence. | |
Protected Attributes | |
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. | |
A class for generating fractal noise functions based on an underlying noise function.
The GenericFractalFunction
class generates fractal noise using an underlying base noise function. It allows customization of the fractal properties such as octaves, weight, persistence, and lacunarity.
|
explicit |
Construct a new GenericFractalFunction object.
p_base | Unique pointer to the base noise function. |
octaves | Number of octaves in the fractal noise. |
weight | Weight of the base noise function. |
persistence | Persistence of the fractal noise. |
lacunarity | Lacunarity of the fractal noise. |
|
inlineoverridevirtual |
Set the frequency scaling vector.
new_kw | The new frequency scaling vector. |
Reimplemented from hmap::NoiseFunction.
|
inline |
Set the lacunarity of the fractal noise.
new_lacunarity | The new lacunarity value. |
|
inline |
Set the number of octaves in the fractal noise.
new_octaves | The new number of octaves. |
|
inline |
Set the persistence of the fractal noise.
new_persistence | The new persistence value. |
|
inlineoverridevirtual |
Set a new random seed for the noise generation.
new_seed | The new random seed. |
Reimplemented from hmap::NoiseFunction.
|
inline |
Scale the initial amplitude of the fractal noise.
scale | The scale factor for the initial amplitude. |
|
inline |
Get the lacunarity of the fractal noise.
|
inline |
Get the number of octaves in the fractal noise.
|
inline |
Get the persistence of the fractal noise.
|
inline |
Get the weight of the fractal noise.
|
protected |
Update the initial amplitude (amp0) based on the current octaves and persistence.
|
protected |
Unique pointer to the base noise function.
|
protected |
Number of octaves in the fractal noise.
|
protected |
Weight of the base noise function.
|
protected |
Persistence of the fractal noise.
|
protected |
Lacunarity of the fractal noise.
|
protected |
Initial amplitude of the fractal noise.