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

Header file for boundary condition functions and utilities. More...

Go to the source code of this file.

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.
 

Detailed Description

Header file for boundary condition functions and utilities.

Author
Otto Link (otto..nosp@m.link.nosp@m..bv@g.nosp@m.mail.nosp@m..com)

This header file contains declarations for functions and utilities that manage and enforce boundary conditions in heightmap arrays. The functions include methods for filling, extrapolating, and smoothing values at the boundaries, as well as making arrays periodic and handling symmetry.