|
HighMap library (C++)
|
Header file for boundary condition functions and utilities. More...
Go to the source code of this file.
Namespaces | |
| namespace | hmap |
Enumerations | |
| enum | hmap::PeriodicityType : int { hmap::PERIODICITY_X , hmap::PERIODICITY_Y , hmap::PERIODICITY_XY } |
| Describes the periodicity mode applied along map axes. More... | |
| enum | hmap::DomainBoundary : int { hmap::BOUNDARY_LEFT , hmap::BOUNDARY_RIGHT , hmap::BOUNDARY_TOP , hmap::BOUNDARY_BOTTOM } |
| Describes which domain boundary. More... | |
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, glm::vec4 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, glm::ivec4 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, const PeriodicityType &periodicity_type=PeriodicityType::PERIODICITY_XY) |
| 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, glm::ivec2 tiling) |
| Creates a tiled, periodic array by applying a transition with overlap in both directions. | |
| void | hmap::set_borders (Array &array, glm::vec4 border_values, glm::ivec4 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, glm::ivec4 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, glm::vec4 bbox={0.f, 1.f, 0.f, 1.f}) |
| Applies a smooth transition to zero at the array borders. | |
Header file for boundary condition functions and utilities.
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.