HighMap library (C++)
Loading...
Searching...
No Matches
hmap::FbmSwissFunction Class Reference

Swiss layering function class. More...

#include <functions.hpp>

Inheritance diagram for hmap::FbmSwissFunction:
Collaboration diagram for hmap::FbmSwissFunction:

Public Member Functions

 FbmSwissFunction (std::unique_ptr< NoiseFunction > p_base, int octaves, float weight, float persistence, float lacunarity, float warp_scale)
 Construct a new Fbm Swiss Function object.
 
void set_warp_scale (float new_warp_scale)
 Set the warp scale.
 
- Public Member Functions inherited from hmap::GenericFractalFunction
 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.
 
- Public Member Functions inherited from hmap::NoiseFunction
 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.
 
- Public Member Functions inherited from hmap::Function
 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 Attributes

float warp_scale
 Warping scale.
 
float warp_scale_normalized
 Normalized warping scale.
 
- Protected Attributes inherited from hmap::GenericFractalFunction
std::unique_ptr< NoiseFunctionp_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.
 
- Protected Attributes inherited from hmap::NoiseFunction
Vec2< float > kw
 Frequency scaling vector.
 
uint seed
 Random seed for noise generation.
 

Additional Inherited Members

- Protected Member Functions inherited from hmap::GenericFractalFunction
void update_amp0 ()
 Update the initial amplitude (amp0) based on the current octaves and persistence.
 

Detailed Description

Swiss layering function class.

Constructor & Destructor Documentation

◆ FbmSwissFunction()

hmap::FbmSwissFunction::FbmSwissFunction ( std::unique_ptr< NoiseFunction p_base,
int  octaves,
float  weight,
float  persistence,
float  lacunarity,
float  warp_scale 
)

Construct a new Fbm Swiss Function object.

Parameters
p_baseUnique pointer to the base noise function.
octavesNumber of octaves.
weightOctave weighting.
persistenceOctave persistence.
lacunarityDefines the wavenumber ratio between each octave.
warp_scaleWarping scale.

Member Function Documentation

◆ set_warp_scale()

void hmap::FbmSwissFunction::set_warp_scale ( float  new_warp_scale)
inline

Set the warp scale.

Parameters
new_warp_scaleNew warp scale.

Member Data Documentation

◆ warp_scale

float hmap::FbmSwissFunction::warp_scale
protected

Warping scale.

◆ warp_scale_normalized

float hmap::FbmSwissFunction::warp_scale_normalized
protected

Normalized warping scale.


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