14#include "macrologger.h"
45 return "VA_SINGLE_ARRAY_DOWNSCALED";
50static std::map<std::string, int> for_each_mode_as_string = {
78 std::unique_ptr<TileStorage>
storage);
94 bool deep_copy =
false);
97 bool copy_src_data =
true);
101 float get(
int global_i,
int global_j)
const;
104 void set(
int global_i,
int global_j,
float v);
126 void remap(
float vmin,
Declaration of the Array class for 2D floating-point arrays with various mathematical operations and ...
Array class, helper to manipulate 2D float array with "(i, j)" indexing.
Definition array.hpp:32
Header file for filter-related functions and classes.
Provides core mathematical utilities for procedural generation, including trigonometry,...
Definition algebra.hpp:23
std::string to_string(StorageMode m)
Definition tile_storage.hpp:36
void copy_data(VirtualArray &src, VirtualArray &dst, const ComputeMode &cm)
Definition virtual_array.cpp:526
StorageMode
Definition tile_storage.hpp:29
@ VA_RAM
Definition tile_storage.hpp:30
ForEachMode
Definition virtual_array.hpp:30
@ VA_SINGLE_ARRAY_DOWNSCALED
Definition virtual_array.hpp:34
@ VA_DISTRIBUTED
Definition virtual_array.hpp:32
@ VA_SEQUENTIAL
Definition virtual_array.hpp:31
@ VA_SINGLE_ARRAY
Definition virtual_array.hpp:33
Definition virtual_array.hpp:57
float k_cutoff
Definition virtual_array.hpp:61
int stride
Definition virtual_array.hpp:60
ForEachMode mode
Definition virtual_array.hpp:58
bool trim_storage
Definition virtual_array.hpp:59
Definition tile_region.hpp:38
Definition virtual_array.hpp:69
Array to_array_dbg() const
Definition virtual_array.cpp:508
glm::ivec2 local_indices(const TileRegion ®ion, int global_i, int global_j) const
Definition virtual_array.cpp:302
TileRegion tile_region_from_tile_coords(int tile_x, int tile_y) const
Definition virtual_array.cpp:407
int get_ntiles() const
Definition virtual_array.cpp:270
void inverse(const ComputeMode &cm)
Definition virtual_array_processing.cpp:17
int halo
Definition virtual_array.hpp:152
glm::ivec2 tile_shape
Definition virtual_array.hpp:151
TileRegion tile_region_from_global_index(int global_i, int global_j) const
Definition virtual_array.cpp:397
void copy_from(VirtualArray &src, const ComputeMode &cm, bool copy_src_data=true)
Definition virtual_array.cpp:51
void from_array_bilinear(const Array &array, const ComputeMode &cm)
Definition virtual_array.cpp:127
void smooth_overlap_buffers()
Definition virtual_array.cpp:328
void from_array_bicubic(const Array &array, const ComputeMode &cm)
Definition virtual_array.cpp:167
glm::vec4 bbox
Definition virtual_array.hpp:150
float min(const ComputeMode &cm) const
Definition virtual_array_processing.cpp:57
std::vector< float > unique_values(const ComputeMode &cm) const
Definition virtual_array_processing.cpp:128
Array to_array(const glm::ivec2 &array_shape, const ComputeMode &cm) const
Definition virtual_array.cpp:466
float max(const ComputeMode &cm) const
Definition virtual_array_processing.cpp:32
void trim_storage() const
Definition virtual_array.cpp:519
float get(int global_i, int global_j) const
Definition virtual_array.cpp:207
void remap(float vmin, float vmax, const ComputeMode &cm)
Definition virtual_array_processing.cpp:76
void set(int global_i, int global_j, float v)
Definition virtual_array.cpp:319
glm::ivec2 shape
Definition virtual_array.hpp:149
std::unique_ptr< VirtualArray > clone(const ComputeMode &cm, bool deep_copy=false)
Definition virtual_array.cpp:67
void from_array(const Array &array, const ComputeMode &cm)
Definition virtual_array.cpp:96
std::unique_ptr< TileStorage > storage
Definition virtual_array.hpp:153
float mean(const ComputeMode &cm) const
Definition virtual_array_processing.cpp:51
glm::ivec2 get_max_tiles() const
Definition virtual_array.cpp:218
glm::vec2 tile_region_global_position(const TileRegion ®ion) const
Definition virtual_array.cpp:448
float get_bilinear(float x, float y) const
Definition virtual_array.cpp:226
void fill(float value, const ComputeMode &cm)
Definition virtual_array.cpp:88
float get_nearest(float x, float y) const
Definition virtual_array.cpp:256
std::string info_string(const ComputeMode &cm, int indent=0) const
Definition virtual_array.cpp:276
float sum(const ComputeMode &cm) const
Definition virtual_array_processing.cpp:97
glm::ivec2 tile_region_global_indices(const TileRegion ®ion) const
Definition virtual_array.cpp:458