HighMap library (C++)
Loading...
Searching...
No Matches
boundary.cpp File Reference

Namespaces

namespace  hmap
 

Functions

void hmap::extrapolate_borders (Array &array, int nbuffer=1, float sigma=0.f)
 Performs linear extrapolation of values at the borders of an array (e.g., i = 0, j = 0, etc.) based on the inner values of the array.
 
void hmap::falloff (Array &array, float strength=1.f, DistanceFunction dist_fct=DistanceFunction::EUCLIDIAN, const Array *p_noise=nullptr, Vec4< float > bbox={0.f, 1.f, 0.f, 1.f})
 Applies a falloff effect to the input array based on distance.
 
void hmap::fill_borders (Array &array)
 Fills the border values of an array (e.g., i = 0, j = 0, etc.) based on the values of the first neighboring cells.
 
void hmap::fill_borders (Array &array, int nbuffer)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
Array hmap::generate_buffered_array (const Array &array, Vec4< int > buffers, bool zero_padding=false)
 Creates and returns a new array with additional buffer zones at the boundaries, where the buffer values are filled either by symmetry or by zero-padding.
 
void hmap::make_periodic (Array &array, int nbuffer)
 Adjusts the input array to be periodic in both directions by transitioning smoothly at the boundaries.
 
Array hmap::make_periodic_stitching (const Array &array, float overlap)
 Creates a periodic array in both directions using a stitching operation that minimizes errors at the boundaries.
 
Array hmap::make_periodic_tiling (const Array &array, float overlap, Vec2< int > tiling)
 Creates a tiled, periodic array by applying a transition with overlap in both directions.
 
void hmap::set_borders (Array &array, Vec4< float > border_values, Vec4< int > buffer_sizes)
 Enforces specific values at the boundaries of the array.
 
void hmap::set_borders (Array &array, float border_values, int buffer_sizes)
 Enforces a uniform value at all boundaries of the array.
 
void hmap::sym_borders (Array &array, Vec4< int > buffer_sizes)
 Fills the values at the domain borders using symmetry over a specified buffer depth.
 
void hmap::zeroed_borders (Array &array)
 Fills the border values (e.g., i = 0, j = 0, etc.) of the array with zeros.
 
void hmap::zeroed_edges (Array &array, float sigma=1.f, DistanceFunction dist_fct=DistanceFunction::EUCLIDIAN, const Array *p_noise=nullptr, Vec4< float > bbox={0.f, 1.f, 0.f, 1.f})
 Applies a smooth transition to zero at the array borders.