14#include "macrologger.h"
46static std::map<std::string, int> for_each_mode_as_string = {
71 std::unique_ptr<TileStorage>
storage);
87 bool deep_copy =
false);
90 bool copy_src_data =
true);
94 float get(
int global_i,
int global_j)
const;
97 void set(
int global_i,
int global_j,
float v);
117 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
Provides core mathematical utilities for procedural generation, including trigonometry,...
Definition algebra.hpp:22
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:440
StorageMode
Definition tile_storage.hpp:29
@ VA_RAM
Definition tile_storage.hpp:30
ForEachMode
Definition virtual_array.hpp:29
@ VA_DISTRIBUTED
Definition virtual_array.hpp:31
@ VA_SEQUENTIAL
Definition virtual_array.hpp:30
@ VA_SINGLE_ARRAY
Definition virtual_array.hpp:32
Definition virtual_array.hpp:52
ForEachMode mode
Definition virtual_array.hpp:53
bool trim_storage
Definition virtual_array.hpp:54
Definition tile_region.hpp:38
Definition virtual_array.hpp:62
Array to_array_dbg() const
Definition virtual_array.cpp:422
glm::ivec2 local_indices(const TileRegion ®ion, int global_i, int global_j) const
Definition virtual_array.cpp:224
TileRegion tile_region_from_tile_coords(int tile_x, int tile_y) const
Definition virtual_array.cpp:329
int get_ntiles() const
Definition virtual_array.cpp:192
void inverse(const ComputeMode &cm)
Definition virtual_array_processing.cpp:17
int halo
Definition virtual_array.hpp:143
glm::ivec2 tile_shape
Definition virtual_array.hpp:142
TileRegion tile_region_from_global_index(int global_i, int global_j) const
Definition virtual_array.cpp:319
void copy_from(VirtualArray &src, const ComputeMode &cm, bool copy_src_data=true)
Definition virtual_array.cpp:52
void smooth_overlap_buffers()
Definition virtual_array.cpp:250
glm::vec4 bbox
Definition virtual_array.hpp:141
Array to_array(const glm::ivec2 array_shape, const ComputeMode &cm) const
Definition virtual_array.cpp:388
float min(const ComputeMode &cm) const
Definition virtual_array_processing.cpp:55
void trim_storage()
Definition virtual_array.cpp:433
std::vector< float > unique_values(const ComputeMode &cm) const
Definition virtual_array_processing.cpp:124
float max(const ComputeMode &cm) const
Definition virtual_array_processing.cpp:32
float get(int global_i, int global_j) const
Definition virtual_array.cpp:129
void remap(float vmin, float vmax, const ComputeMode &cm)
Definition virtual_array_processing.cpp:72
void set(int global_i, int global_j, float v)
Definition virtual_array.cpp:241
glm::ivec2 shape
Definition virtual_array.hpp:140
std::unique_ptr< VirtualArray > clone(const ComputeMode &cm, bool deep_copy=false)
Definition virtual_array.cpp:68
void from_array(const Array &array, const ComputeMode &cm)
Definition virtual_array.cpp:97
std::unique_ptr< TileStorage > storage
Definition virtual_array.hpp:144
float mean(const ComputeMode &cm) const
Definition virtual_array_processing.cpp:49
glm::ivec2 get_max_tiles() const
Definition virtual_array.cpp:140
glm::vec2 tile_region_global_position(const TileRegion ®ion) const
Definition virtual_array.cpp:370
float get_bilinear(float x, float y) const
Definition virtual_array.cpp:148
void fill(float value, const ComputeMode &cm)
Definition virtual_array.cpp:89
float get_nearest(float x, float y) const
Definition virtual_array.cpp:178
std::string info_string(const ComputeMode &cm, int indent=0) const
Definition virtual_array.cpp:198
float sum(const ComputeMode &cm) const
Definition virtual_array_processing.cpp:93
glm::ivec2 tile_region_global_indices(const TileRegion ®ion) const
Definition virtual_array.cpp:380