terraingenpy 0.1.1.dev73__tar.gz → 0.1.1.dev77__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/CHANGELOG.md +1 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/CMakeLists.txt +1 -1
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/PKG-INFO +1 -1
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/README.md +1 -1
- terraingenpy-0.1.1.dev77/examples/config/ages/example_ages_freshness.json +71 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/albedo/example_albedo_rocks_and_slopes.json +3 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/boulders/example_boulders_buried.json +3 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/boulders/example_boulders_ejecta.json +3 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/boulders/example_boulders_exposure.json +3 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/boulders/example_boulders_fragments.json +3 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/boulders/example_boulders_layer.json +3 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/boulders/example_boulders_max_slope.json +3 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/boulders/example_boulders_models.json +3 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/boulders/example_boulders_patches.json +3 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/boulders/example_boulders_rolling.json +3 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/boulders/example_boulders_scene.json +3 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/boulders/example_boulders_shapes.json +3 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/planets/example_planets_mars_exposure.json +3 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/planets/example_planets_mars_sand_shadows.json +3 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/planets/example_planets_mars_ventifacts.json +3 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/build.cpp +4 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/config.h +9 -1
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/fields/boulders.h +10 -5
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/fields/crater_models.h +17 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/fields/craters.h +7 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/fields/enums.h +3 -1
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/validate.cpp +29 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/CMakeLists.txt +1 -0
- terraingenpy-0.1.1.dev77/terraingen/layers/craters/ages/freshness.cpp +41 -0
- terraingenpy-0.1.1.dev77/terraingen/layers/craters/ages/freshness.h +37 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/crater_models.cpp +10 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/random.cpp +2 -1
- terraingenpy-0.1.1.dev77/terraingen/random/value_distribution.cpp +133 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/random/value_distribution.h +9 -3
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/terraingen.h +1 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/python/conftest.py +7 -1
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/python/test_config.py +18 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/python/test_crater_models.py +43 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/config/build_test.cpp +9 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/config/json_io_test.cpp +29 -1
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/config/schema_test.cpp +13 -2
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/config/validate_config_test.cpp +77 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/config/write_outputs_test.cpp +3 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/CMakeLists.txt +1 -0
- terraingenpy-0.1.1.dev77/tests/unit/layers/craters/ages/freshness_test.cpp +166 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/random/value_distribution_test.cpp +46 -0
- terraingenpy-0.1.1.dev73/terraingen/random/value_distribution.cpp +0 -75
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/.clang-format +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/.clang-tidy +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/.cmake-format.yaml +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/.dockerignore +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/.gitattributes +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/.github/pull_request_template.md +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/.github/scripts/install-lavapipe-windows.sh +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/.github/workflows/ci.yml +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/.gitignore +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/.pre-commit-config.yaml +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/CITATION.cff +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/CONTRIBUTING.md +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/Dockerfile +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/LICENSE +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/README.md +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/assets/textures/README.md +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/assets/textures/moon_01_diff_4k.jpg +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/assets/textures/moon_01_disp_4k.png +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/assets/textures/moon_01_nor_gl_4k.exr +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/assets/textures/moon_01_rough_4k.exr +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/assets/textures/seaside_rock_ao_2k.png +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/assets/textures/seaside_rock_arm_2k.png +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/assets/textures/seaside_rock_diff_2k.png +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/assets/textures/seaside_rock_disp_2k.png +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/assets/textures/seaside_rock_nor_dx_2k.exr +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/assets/textures/seaside_rock_nor_gl_2k.exr +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/assets/textures/seaside_rock_rough_2k.exr +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/cmake/BuildInfo.cmake +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/cmake/CoverageBadge.cmake +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/cmake/EmbedFile.cmake +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/cmake/Kernel.cpp.in +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/cmake/TerrainGenPackaging.cmake +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/cmake/TerrainGenSlang.cmake +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/cmake/TerrainGenTesting.cmake +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/cmake/terraingenConfig.cmake.in +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/cmake/third_party/benchmark.cmake +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/cmake/third_party/ernie.cmake +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/cmake/third_party/googletest.cmake +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/cmake/third_party/mesh_formats.cmake +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/cmake/third_party/miniz.cmake +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/cmake/third_party/nanobind.cmake +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/cmake/third_party/nvrtc.cmake +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/cmake/third_party/slang.cmake +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/cmake/third_party/volk.cmake +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/cmake/third_party/vulkan_headers.cmake +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/docs/.gitignore +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/docs/Makefile +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/docs/README.md +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/docs/api/cpp.md +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/docs/api/python.md +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/docs/concepts/index.md +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/docs/css/extra.css +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/docs/getting-started/command-line.md +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/docs/getting-started/gui.md +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/docs/getting-started/index.md +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/docs/getting-started/installation.md +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/docs/getting-started/quickstart.md +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/docs/guides/index.md +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/docs/images/hero_mk1_sn101_connecting_ridge.jpg +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/docs/images/hero_mk1_sn101_connecting_ridge_split.jpg +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/docs/index.md +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/docs/overrides/home.html +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/docs/overrides/partials/header.html +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/docs/requirements.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/docs/scripts/generate_schema.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/docs/validation/index.md +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/ages/example_ages_fresh.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/ages/example_ages_steady_state.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/ages/example_ages_uniform.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/albedo/example_albedo_blast_zone.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/albedo/example_albedo_crater_rays.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/albedo/example_albedo_fresh_crater.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/albedo/example_albedo_moon_site.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/albedo/example_albedo_new_crater.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/albedo/example_albedo_oblique_rays.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/albedo/example_albedo_rgb.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/albedo/example_albedo_synthetic.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/boulders/example_boulders_rock_abundance.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/boulders/example_boulders_slope_map.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/boulders/example_boulders_sp8023.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/boulders/example_boulders_thomas_clusters.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/craters/example_craters_catalog_and_map.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/craters/example_craters_datum.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/craters/example_craters_degradation_diffusion.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/craters/example_craters_degradation_none.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/craters/example_craters_interior_replacement.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/craters/example_craters_irregular.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/craters/example_craters_manual.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/craters/example_craters_max_craters.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/craters/example_craters_profile_complex.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/craters/example_craters_profile_martin_parkes_dunstan.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/craters/example_craters_rim_smoothing_soft.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/craters/example_craters_secondaries.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/craters/example_craters_secondary_rays.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/craters/example_craters_simple.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/craters/example_craters_slopes.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/craters/example_craters_smoothed_rims.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/craters/example_craters_spacing.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/craters/example_craters_texture.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/craters/example_craters_wall_marks.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/distributions/example_distributions_moore_rough_mare.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/distributions/example_distributions_piecewise_power_law.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/distributions/example_distributions_piecewise_uniform.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/distributions/example_distributions_power_law.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/distributions/example_distributions_tabulated.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/distributions/example_distributions_trask_equilibrium.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/distributions/example_distributions_viper.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/layers/example_layers_regions.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/layers/example_layers_roughness.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/layers/example_layers_scale_and_clamp.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/planets/example_planets_asteroid_body_mesh.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/planets/example_planets_mars_bedforms.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/planets/example_planets_mars_craters.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/planets/example_planets_mars_dunes.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/planets/example_planets_mars_pavement.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/planets/example_planets_mars_sand_fill.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/planets/example_planets_mars_strata.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/planets/example_planets_mercury_site.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/planets/example_planets_moon_body_mesh.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/planets/example_planets_moon_site.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/terrain/example_terrain_billow.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/terrain/example_terrain_cellular.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/terrain/example_terrain_domain_warp.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/terrain/example_terrain_fbm.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/terrain/example_terrain_layered.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/terrain/example_terrain_ridged.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/terrain/example_terrain_roughness.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/config/terrain/example_terrain_voronoi.json +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/ages/example_ages_models.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/albedo/example_albedo_crater_rays.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/boulders/example_boulders_ejecta.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/boulders/example_boulders_layer.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/boulders/example_boulders_shapes.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/common/browser.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/common/browser.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/common/example.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/common/example.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/common/main.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/common/standalone_main.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/config/example_config_load.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/craters/example_craters_degradation.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/craters/example_craters_manual.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/craters/example_craters_profiles.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/craters/example_craters_secondaries.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/craters/example_craters_simple.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/distributions/example_distributions_csfd.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/layers/example_layers_custom.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/layers/example_layers_regions.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/planets/example_planets_moon.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/sources/example_sources_raster_detail.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/terrain/example_terrain_fbm.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/terrain/example_terrain_layered.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/tiles/example_tiles_body_pyramid.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/tiles/example_tiles_quadtree.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/cpp/tiles/example_tiles_rover_contacts.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/__main__.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/_browser.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/_common.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/_harness.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/_images.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/ages/example_ages_models.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/albedo/example_albedo_crater_rays.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/albedo/example_albedo_moon_site.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/albedo/example_albedo_options.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/boulders/example_boulders_exposure.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/boulders/example_boulders_layer.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/boulders/example_boulders_positioning.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/boulders/example_boulders_shapes.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/boulders/example_boulders_size_models.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/config/example_config_load.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/craters/example_craters_age_sweep.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/craters/example_craters_apply_options.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/craters/example_craters_degradation.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/craters/example_craters_irregularity.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/craters/example_craters_manual.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/craters/example_craters_positioning.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/craters/example_craters_profiles.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/craters/example_craters_rim_smoothing.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/craters/example_craters_secondaries.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/craters/example_craters_simple.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/distributions/example_distributions_csfd.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/distributions/example_distributions_custom.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/layers/example_layers_custom.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/layers/example_layers_regions.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/planets/example_planets_body_mesh.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/planets/example_planets_mars.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/planets/example_planets_mars_dunes.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/planets/example_planets_mars_exposure.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/planets/example_planets_mercury.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/planets/example_planets_moon_site.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/sources/example_sources_chain.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/sources/example_sources_raster_detail.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/terrain/example_terrain_fbm.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/terrain/example_terrain_fractal_types.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/terrain/example_terrain_hurst_sweep.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/terrain/example_terrain_layered.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/terrain/example_terrain_noise_kernels.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/tiles/example_tiles_body_pyramid.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/tiles/example_tiles_point_queries.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/tiles/example_tiles_quadtree.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/examples/python/tiles/example_tiles_rover_contacts.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/mkdocs.yml +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/pyproject.toml +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/albedo.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/albedo.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/bands.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/bands.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/blast_zones.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/blast_zones.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/brightness_statistics.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/brightness_statistics.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/crater_albedo.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/crater_albedo.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/maturity.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/maturity.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/photometry.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/photometry.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/raster_albedo.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/raster_albedo.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/rock_albedo.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/rock_albedo.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/slope_albedo.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/slope_albedo.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/splotches.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/splotches.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/synthetic.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/albedo/synthetic.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/app/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/app/cli.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/app/cli.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/app/gui/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/app/gui/config_editor.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/app/gui/config_editor.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/app/gui/gui_app.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/app/gui/gui_app.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/app/gui/run.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/app/gui/run.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/app/gui/run_none.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/app/gui/terrain_scene.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/app/gui/terrain_scene.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/app/gui/widgets.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/app/main.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/build.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/config.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/feature_lists.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/fields/albedo.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/fields/checks.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/fields/common.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/fields/fields.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/fields/json_io.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/fields/layers.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/fields/maps.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/fields/materials.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/fields/outputs.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/fields/ranges.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/fields/sources.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/generate.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/generate.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/json.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/json.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/ranges.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/schema.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/validate.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/composition.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/composition.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/equilibrium.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/equilibrium.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/exponential_chronology.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/exponential_chronology.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/golombek_rapp.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/golombek_rapp.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/ivanov.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/ivanov.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/log_polynomial.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/log_polynomial.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/minimum.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/minimum.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/moore.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/moore.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/neukum.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/neukum.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/piecewise_power_law.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/piecewise_power_law.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/piecewise_uniform.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/piecewise_uniform.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/power_law.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/power_law.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/production_surface.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/production_surface.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/size_frequency.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/size_frequency.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/sp8023.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/sp8023.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/spliced.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/spliced.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/summed.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/summed.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/synthterrain.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/synthterrain.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/tabulated.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/tabulated.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/viper.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/distribution/viper.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/gpu/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/gpu/backend.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/gpu/backend.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/gpu/cuda.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/gpu/cuda.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/gpu/device.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/gpu/kernel.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/gpu/kernel.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/gpu/kernel.slang +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/gpu/metal.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/gpu/metal.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/gpu/program.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/gpu/vulkan.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/gpu/vulkan.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/anchored_plane.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/anchored_plane.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/bedforms.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/bedforms.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/bisection.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/boulders/abundance.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/boulders/boulder.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/boulders/boulder_abundance.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/boulders/boulder_abundance.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/boulders/boulder_clusters.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/boulders/boulder_clusters.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/boulders/boulder_fragments.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/boulders/boulder_fragments.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/boulders/boulder_layer.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/boulders/boulder_layer.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/boulders/boulder_models.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/boulders/boulder_models.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/boulders/boulder_options.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/boulders/boulder_options.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/boulders/boulder_placer.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/boulders/boulder_shape.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/boulders/boulder_shape.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/boulders/ejecta_index.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/boulders/ejecta_index.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/ages/age_model.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/ages/age_model.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/ages/steady_state.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/ages/steady_state.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/crater.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/crater.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/crater_layer.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/crater_layer.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/crater_placer.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/crater_placer.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/degradation/degradation_model.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/degradation/degradation_model.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/degradation/diffusion.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/degradation/diffusion.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/degradation/diffusivities.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/degradation/diffusivities.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/degradation/freshness.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/degradation/freshness.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/degradation/state.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/generation/cell_cache.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/generation/cell_cache.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/generation/population.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/generation/population.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/generation/spacing.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/generation/spacing.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/profiles/complex.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/profiles/complex.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/profiles/fassett_thomson.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/profiles/fassett_thomson.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/profiles/martin_parkes_dunstan.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/profiles/martin_parkes_dunstan.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/profiles/profile.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/rays.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/rays.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/secondaries.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/secondaries.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/secondary_model.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/secondary_model.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/shaping/apply.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/shaping/apply.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/shaping/apply_options.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/shaping/apply_options.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/shaping/attributes.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/shaping/attributes.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/shaping/crater_kernel.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/shaping/crater_kernel.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/shaping/datum.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/shaping/datum.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/shaping/irregularity.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/shaping/irregularity.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/shaping/morphometry.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/shaping/morphometry.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/shaping/prepared.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/shaping/prepared.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/shaping/slope.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/craters/shaping/slope.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/density_map.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/density_map.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/detail.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/detail.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/dunes.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/dunes.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/evaluation_cache.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/exposure.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/exposure.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/fade.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/fade.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/ground.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/ground.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/kernel.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/kernels/cell.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/kernels/crater_body_datums.slang +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/kernels/crater_datums.slang +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/kernels/craters.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/kernels/craters.slang +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/kernels/noise_relief.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/kernels/noise_relief.slang +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/lattice.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/layer.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/layer.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/material.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/material.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/noise_relief.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/noise_relief.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/pavement.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/pavement.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/region.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/region.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/roughness.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/roughness.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/sample_block.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/sample_block.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/sand_fill.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/sand_fill.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/sand_shadow.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/sand_shadow.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/strata.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/strata.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/transforms.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/layers/transforms.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/mesh/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/mesh/io/formats.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/mesh/io/gltf.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/mesh/io/icq.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/mesh/io/icq.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/mesh/io/mesh_io.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/mesh/io/mesh_io.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/mesh/io/obj.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/mesh/io/stl.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/mesh/mesh.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/mesh/mesh.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/mesh/polyhedra.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/mesh/polyhedra.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/mesh/shape_model.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/mesh/shape_model.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/noise/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/noise/fractal.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/noise/hash.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/noise/lattice.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/noise/noise_layers.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/noise/perlin.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/noise/simplex.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/noise/validate.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/noise/validate.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/noise/value.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/noise/worley.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/pipeline/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/pipeline/body_mesh.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/pipeline/body_mesh.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/pipeline/features.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/pipeline/features.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/pipeline/height_mesh.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/pipeline/height_mesh.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/pipeline/materials.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/pipeline/materials.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/pipeline/terrain.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/pipeline/terrain.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/pipeline/tiles.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/pipeline/tiles.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/albedo.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/arrays.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/bindings.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/boulders.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/casters.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/common.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/craters.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/distribution.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/gpu.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/layers.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/materials.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/mesh.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/module.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/noise.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/objects.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/options.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/pipeline.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/raster.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/sources.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/tables.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/trampolines.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/util.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/terraingen/__init__.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/terraingen/render.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/random/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/random/philox.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/random/samplers.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/random/samplers.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/random/stream.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/random/stream.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/random/streams.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/raster/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/raster/cell_loops.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/raster/cell_loops.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/raster/gaussian_blur.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/raster/gaussian_blur.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/raster/geo_transform.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/raster/geotiff/geotiff.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/raster/geotiff/geotiff.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/raster/geotiff/geotiff_read.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/raster/geotiff/geotiff_write.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/raster/geotiff/tiff_codecs.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/raster/geotiff/tiff_codecs.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/raster/geotiff/tiff_format.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/raster/geotiff/tiff_format.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/raster/grid.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/raster/grid.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/raster/raster.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/raster/raster_stats.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/raster/resample.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/raster/resample.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/sources/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/sources/field.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/sources/field.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/sources/flat_source.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/sources/flat_source.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/sources/geotiff_source.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/sources/geotiff_source.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/sources/source.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/sources/source_chain.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/sources/source_chain.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/sources/synthetic_terrain.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/sources/synthetic_terrain.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/arithmetic.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/build_info.cpp.in +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/build_info.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/cells.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/checks.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/checks.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/cube_faces.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/cube_sphere_cells.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/fft.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/fft.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/files.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/files.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/geometry.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/log.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/log.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/lru_cache.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/overloaded.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/parallel.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/parallel.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/planar_cells.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/portable.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/radial_shape.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/radial_shape.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/special_functions.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/special_functions.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/surface.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/surface.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/text.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/text.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/version.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/util/version.h.in +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/benchmark/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/benchmark/bench_boulders.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/benchmark/bench_craters.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/benchmark/bench_grids.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/benchmark/bench_point_queries.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/benchmark/bench_python_subclasses.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/benchmark/fixtures.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/golden/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/golden/noise/kernels_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/integration/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/integration/build_info_stable.cmake +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/integration/examples/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/integration/package/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/integration/package/main.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/integration/package/test_debian_packages.cmake +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/python/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/python/test_albedo.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/python/test_boulders.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/python/test_craters.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/python/test_distributions.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/python/test_examples_harness.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/python/test_gpu.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/python/test_layers.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/python/test_meshes.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/python/test_noise.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/python/test_pipeline.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/python/test_random.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/python/test_raster.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/python/test_render.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/python/test_sources.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/python/test_stubs.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/python/test_tiles.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/python/test_util.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/statistical/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/statistical/distribution/crater_references_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/statistical/distribution/size_frequency_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/statistical/layers/boulders/boulder_layer_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/statistical/layers/craters/ages/ages_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/statistical/layers/craters/population_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/statistical/layers/roughness_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/statistical/random/random_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/support/log_capture.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/support/lunar_craters.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/support/raster_equality.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/support/statistics.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/support/temp_path.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/albedo/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/albedo/albedo_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/albedo/bands_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/albedo/blast_zones_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/albedo/crater_albedo_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/albedo/photometry_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/albedo/rock_albedo_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/albedo/slope_albedo_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/albedo/splotches_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/app/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/app/cli_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/app/gui/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/app/gui/config_editor_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/app/gui/gui_app_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/app/gui/terrain_scene_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/config/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/config/checks_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/config/config_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/config/configs.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/config/feature_lists_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/config/generate_terrain_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/config/json_parse_errors_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/config/json_read_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/config/ranges_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/config/validate_sources_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/distribution/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/distribution/composition_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/distribution/equilibrium_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/distribution/exponential_chronology_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/distribution/golombek_rapp_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/distribution/ivanov_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/distribution/log_polynomial_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/distribution/minimum_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/distribution/moore_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/distribution/neukum_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/distribution/piecewise_power_law_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/distribution/piecewise_uniform_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/distribution/power_law_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/distribution/production_surface_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/distribution/size_frequency_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/distribution/sp8023_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/distribution/spliced_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/distribution/summed_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/distribution/synthterrain_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/distribution/tabulated_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/distribution/viper_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/examples/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/examples/example_browser_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/examples/example_harness_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/gpu/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/gpu/backend_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/gpu/kernels/hash_conformance.slang +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/gpu/kernels/noise_conformance.slang +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/gpu/noise_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/gpu/vulkan_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/anchored_plane_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/bedforms_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/bisection_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/boulders/boulder_fragments_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/boulders/boulder_layer_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/boulders/boulder_models_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/boulders/boulder_options_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/boulders/boulder_shape_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/boulders/ejecta_index_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/craters/ages/age_model_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/craters/ages/steady_state_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/craters/crater_layer_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/craters/crater_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/craters/degradation/degradation_model_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/craters/degradation/diffusion_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/craters/degradation/freshness_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/craters/generation/cell_cache_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/craters/generation/population_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/craters/generation/spacing_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/craters/profiles/complex_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/craters/profiles/fassett_thomson_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/craters/profiles/martin_parkes_dunstan_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/craters/secondaries_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/craters/shaping/apply_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/craters/shaping/attributes_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/craters/shaping/crater_kernel_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/craters/shaping/datum_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/craters/shaping/irregularity_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/craters/shaping/morphometry_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/craters/shaping/slope_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/craters/sphere_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/density_map_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/detail_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/dunes_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/evaluation_cache_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/exposure_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/fade_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/ground_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/lattice_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/layer_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/noise_relief_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/pavement_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/region_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/roughness_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/sample_block_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/sand_fill_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/sand_shadow_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/sphere_layers_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/strata_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/layers/transforms_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/mesh/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/mesh/io/icq_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/mesh/io/mesh_io_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/mesh/mesh_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/mesh/polyhedra_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/mesh/shape_model_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/mesh/support.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/noise/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/noise/fractal_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/noise/hash_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/noise/noise3_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/noise/noise_layers_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/noise/perlin_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/noise/simplex_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/noise/validate_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/noise/value_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/noise/worley_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/pipeline/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/pipeline/features_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/pipeline/height_mesh_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/pipeline/materials_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/pipeline/terrain_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/pipeline/terrain_tiles_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/pipeline/terrains.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/pipeline/tile_cache_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/pipeline/tiling_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/random/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/random/philox_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/random/samplers_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/random/stream_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/raster/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/raster/cell_loops_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/raster/gaussian_blur_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/raster/gdal_fixtures.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/raster/generate_geotiff_fixtures.py +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/raster/geo_transform_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/raster/geotiff_fixtures.inc +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/raster/geotiff_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/raster/grid_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/raster/raster_stats_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/raster/raster_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/raster/resample_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/raster/tiff_format_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/sources/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/sources/field_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/sources/flat_source_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/sources/geotiff_source_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/sources/source_chain_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/sources/synthetic_terrain_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/util/CMakeLists.txt +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/util/cells_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/util/checks_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/util/fft_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/util/geometry_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/util/log_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/util/lru_cache_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/util/overloaded_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/util/parallel_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/util/radial_shape_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/util/special_functions_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/util/surface_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/util/text_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/tests/unit/util/version_test.cpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/third_party/README.md +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/third_party/cgltf/LICENSE +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/third_party/cgltf/cgltf.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/third_party/cgltf/cgltf_write.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/third_party/miniz/LICENSE +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/third_party/miniz/miniz.c +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/third_party/miniz/miniz.h +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/third_party/nlohmann/LICENSE.MIT +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/third_party/nlohmann/json.hpp +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/third_party/tinyobjloader/LICENSE +0 -0
- {terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/third_party/tinyobjloader/tiny_obj_loader.h +0 -0
|
@@ -27,6 +27,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
27
27
|
### Changed
|
|
28
28
|
|
|
29
29
|
- Defaults give a plausible lunar terrain at 1 m per pixel in which every height layer shows: craters from a production surface capped below the Trask equilibrium with steady-state ages, diffusion and irregular outlines; Surveyor boulders; noise relief scaled to its wavelength; and visible roughness, bedforms and dunes.
|
|
30
|
+
- Boulder layers default to the nominal NASA SP-8023 intercrater sizes rather than Golombek-Rapp; a `coverage`, `qa`, `qb` or `ejecta.coverage` that no Golombek-Rapp sizes use is now an error that names `"sizes": {"type": "golombek_rapp"}`.
|
|
30
31
|
- Boulder lists and models hold every boulder of the layer's diameter range; only the heightmap leaves out boulders too small to resolve.
|
|
31
32
|
- Boulder ejecta come from every crater layer before the boulder layer, not only the last one.
|
|
32
33
|
- The boulder layer's `exposure_spacing` key is now `ground_spacing` (Python `ground_spacing`), the spacing of every ground read the layer makes.
|
|
@@ -8,7 +8,7 @@ endif()
|
|
|
8
8
|
|
|
9
9
|
# The release being worked towards, such as 0.1.0, or for a development build a PEP 440 pre-release of
|
|
10
10
|
# it, such as 0.1.0.dev42, which only the Python package carries.
|
|
11
|
-
set(TERRAINGEN_FULL_VERSION "0.1.1.
|
|
11
|
+
set(TERRAINGEN_FULL_VERSION "0.1.1.dev77")
|
|
12
12
|
string(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" TERRAINGEN_VERSION "${TERRAINGEN_FULL_VERSION}")
|
|
13
13
|
|
|
14
14
|
project(
|
|
@@ -57,7 +57,7 @@ Options:
|
|
|
57
57
|
| terrain | `example_terrain_billow`, `_cellular`, `_domain_warp`, `_fbm`, `_layered`, `_ridged`, `_roughness`, `_voronoi` | `example_terrain_fbm`, `_layered` | `example_terrain_fbm`, `_fractal_types`, `_hurst_sweep`, `_layered`, `_noise_kernels` |
|
|
58
58
|
| craters | `example_craters_datum`, `_degradation_diffusion`, `_degradation_none`, `_interior_replacement`, `_irregular`, `_manual`, `_max_craters`, `_profile_complex`, `_profile_martin_parkes_dunstan`, `_rim_smoothing_soft`, `_secondaries`, `_secondary_rays`, `_simple`, `_smoothed_rims`, `_spacing` | `example_craters_degradation`, `_manual`, `_profiles`, `_secondaries`, `_simple` | `example_craters_age_sweep`, `_apply_options`, `_degradation`, `_irregularity`, `_manual`, `_positioning`, `_profiles`, `_rim_smoothing`, `_secondaries`, `_simple` |
|
|
59
59
|
| distributions | `example_distributions_moore_rough_mare`, `_piecewise_power_law`, `_power_law`, `_tabulated`, `_trask_equilibrium`, `_viper` | `example_distributions_csfd` | `example_distributions_csfd`, `_custom` |
|
|
60
|
-
| ages | `example_ages_fresh`, `_steady_state`, `_uniform` | `example_ages_models` | `example_ages_models` |
|
|
60
|
+
| ages | `example_ages_fresh`, `_freshness`, `_steady_state`, `_uniform` | `example_ages_models` | `example_ages_models` |
|
|
61
61
|
| boulders | `example_boulders_buried`, `_ejecta`, `_fragments`, `_exposure`, `_layer`, `_models`, `_patches`, `_scene`, `_shapes`, `_sp8023` | `example_boulders_ejecta`, `_layer`, `_shapes` | `example_boulders_exposure`, `_layer`, `_positioning`, `_shapes`, `_size_models` |
|
|
62
62
|
| albedo | `example_albedo_blast_zone`, `_crater_rays`, `_fresh_crater`, `_moon_site`, `_new_crater`, `_oblique_rays`, `_rgb`, `_synthetic` | `example_albedo_crater_rays` | `example_albedo_crater_rays`, `_moon_site`, `_options` |
|
|
63
63
|
| layers | `example_layers_regions`, `_roughness`, `_scale_and_clamp` | `example_layers_custom`, `_regions` | `example_layers_custom`, `_regions` |
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"layers": [
|
|
4
|
+
{
|
|
5
|
+
"type": "noise",
|
|
6
|
+
"stack": [
|
|
7
|
+
{
|
|
8
|
+
"seed": 1,
|
|
9
|
+
"wavelength": 800,
|
|
10
|
+
"amplitude": 40,
|
|
11
|
+
"octaves": 8
|
|
12
|
+
}
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"type": "craters",
|
|
17
|
+
"seed": 1,
|
|
18
|
+
"density": {
|
|
19
|
+
"type": "minimum",
|
|
20
|
+
"distributions": [
|
|
21
|
+
{
|
|
22
|
+
"type": "production_surface",
|
|
23
|
+
"production": "extended_neukum",
|
|
24
|
+
"chronology": "neukum",
|
|
25
|
+
"age_gyr": 3.5
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"type": "trask"
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
"min_diameter": 8,
|
|
33
|
+
"max_diameter": 300,
|
|
34
|
+
"ages": {
|
|
35
|
+
"type": "freshness",
|
|
36
|
+
"lifetime_gyr": 3.5,
|
|
37
|
+
"freshness": {
|
|
38
|
+
"kind": "normal",
|
|
39
|
+
"a": 0.35,
|
|
40
|
+
"b": 0.15,
|
|
41
|
+
"min": 0,
|
|
42
|
+
"max": 1
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"degradation": {
|
|
46
|
+
"type": "freshness",
|
|
47
|
+
"cutoff_depth_ratio": 0.04
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"outputs": [
|
|
52
|
+
{
|
|
53
|
+
"type": "heightmap",
|
|
54
|
+
"path": "example_ages_freshness.tif",
|
|
55
|
+
"region": {
|
|
56
|
+
"width": 513,
|
|
57
|
+
"height": 513,
|
|
58
|
+
"pixel_size": 2
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"type": "crater_list",
|
|
63
|
+
"path": "example_ages_freshness.csv",
|
|
64
|
+
"region": {
|
|
65
|
+
"width": 513,
|
|
66
|
+
"height": 513,
|
|
67
|
+
"pixel_size": 2
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
]
|
|
71
|
+
}
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
#include "terraingen/distribution/spliced.h"
|
|
21
21
|
#include "terraingen/distribution/tabulated.h"
|
|
22
22
|
#include "terraingen/layers/craters/ages/age_model.h"
|
|
23
|
+
#include "terraingen/layers/craters/ages/freshness.h"
|
|
23
24
|
#include "terraingen/layers/craters/ages/steady_state.h"
|
|
24
25
|
#include "terraingen/layers/craters/degradation/degradation_model.h"
|
|
25
26
|
#include "terraingen/layers/craters/degradation/diffusivities.h"
|
|
@@ -156,6 +157,9 @@ std::shared_ptr<const CraterAgeModel> BuildAges(const AgesSpec& spec) {
|
|
|
156
157
|
BuildEquilibrium(s.equilibrium), s.ageGyr,
|
|
157
158
|
BuildChronology(s.chronology));
|
|
158
159
|
},
|
|
160
|
+
[](const FreshnessAgesSpec& s) -> Result {
|
|
161
|
+
return std::make_shared<FreshnessAges>(s.freshness, s.lifetimeGyr);
|
|
162
|
+
},
|
|
159
163
|
},
|
|
160
164
|
spec);
|
|
161
165
|
}
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
#include "terraingen/layers/strata.h"
|
|
34
34
|
#include "terraingen/noise/noise_layers.h"
|
|
35
35
|
#include "terraingen/pipeline/materials.h"
|
|
36
|
+
#include "terraingen/random/value_distribution.h"
|
|
36
37
|
#include "terraingen/raster/geotiff/geotiff.h"
|
|
37
38
|
#include "terraingen/raster/resample.h"
|
|
38
39
|
#include "terraingen/sources/geotiff_source.h"
|
|
@@ -285,8 +286,15 @@ struct SteadyStateAgesSpec {
|
|
|
285
286
|
ChronologyModel chronology = ChronologyModel::Neukum;
|
|
286
287
|
bool operator==(const SteadyStateAgesSpec&) const = default;
|
|
287
288
|
};
|
|
289
|
+
/// Crater ages "freshness": `FreshnessAges(freshness, lifetimeGyr)`.
|
|
290
|
+
struct FreshnessAgesSpec {
|
|
291
|
+
double lifetimeGyr = 1.0;
|
|
292
|
+
ValueDistribution freshness{ValueDistribution::Kind::Uniform, 0.0, 1.0, 0.0, 1.0};
|
|
293
|
+
bool operator==(const FreshnessAgesSpec&) const = default;
|
|
294
|
+
};
|
|
288
295
|
/// A crater age model, named in JSON by its "type".
|
|
289
|
-
using AgesSpec =
|
|
296
|
+
using AgesSpec =
|
|
297
|
+
std::variant<UniformAgesSpec, FreshAgesSpec, SteadyStateAgesSpec, FreshnessAgesSpec>;
|
|
290
298
|
|
|
291
299
|
/// Degradation "none": `NoDegradation`, optionally with a fixed depth-to-diameter ratio.
|
|
292
300
|
struct NoDegradationSpec {
|
|
@@ -110,7 +110,8 @@ template <typename IO> void Fields(IO& io, BoulderEjecta& ejecta) {
|
|
|
110
110
|
"", AboveUpTo(0.0, 1.0));
|
|
111
111
|
io("coverage", ejecta.coverage,
|
|
112
112
|
"Golombek-Rapp k, the fraction of ground covered by blocks at the rim of a fresh crater, "
|
|
113
|
-
"between 0 and 1
|
|
113
|
+
"between 0 and 1. Only golombek_rapp ejecta sizes use it, so any other value than the "
|
|
114
|
+
"default needs them.",
|
|
114
115
|
"", Inside(0.0, 1.0));
|
|
115
116
|
io("profile", ejecta.profile,
|
|
116
117
|
"How the share of a crater's blocks falls off with distance from its centre.");
|
|
@@ -323,15 +324,19 @@ template <> struct SpecName<BoulderLayerSpec> {
|
|
|
323
324
|
/// The fields of the Golombek-Rapp terms and diameter range of a boulder layer's boulders.
|
|
324
325
|
template <typename IO> void BoulderSizeRangeFields(IO& io, BoulderSizes& sizes) {
|
|
325
326
|
io("coverage", sizes.coverage,
|
|
326
|
-
"Golombek-Rapp k, the fraction of the ground covered by boulders, between 0 and 1;
|
|
327
|
-
"
|
|
327
|
+
"Golombek-Rapp k, the fraction of the ground covered by boulders, between 0 and 1; higher "
|
|
328
|
+
"values give more boulders. Only golombek_rapp sizes use it, so any other value than the "
|
|
329
|
+
"default needs them.",
|
|
328
330
|
"", Inside(0.0, 1.0));
|
|
329
331
|
io("qa", sizes.qConstant,
|
|
330
332
|
"Constant term of the Golombek-Rapp q = qa + qb / k, per metre; a larger q leaves fewer "
|
|
331
|
-
"large boulders.
|
|
333
|
+
"large boulders. Only golombek_rapp sizes or ejecta sizes use it, so any other value than "
|
|
334
|
+
"the default needs them.",
|
|
332
335
|
"1/m");
|
|
333
336
|
io("qb", sizes.qCoverageCoefficient,
|
|
334
|
-
"Term of the Golombek-Rapp q = qa + qb / k divided by the coverage k, per metre
|
|
337
|
+
"Term of the Golombek-Rapp q = qa + qb / k divided by the coverage k, per metre; used as "
|
|
338
|
+
"qa is.",
|
|
339
|
+
"1/m");
|
|
335
340
|
io("min_diameter", sizes.minDiameter,
|
|
336
341
|
"Smallest boulder generated, in metres; lower values add many more small boulders.", "m",
|
|
337
342
|
Above(0.0));
|
{terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/config/fields/crater_models.h
RENAMED
|
@@ -192,6 +192,23 @@ template <typename IO> void Fields(IO& io, SteadyStateAgesSpec& spec) {
|
|
|
192
192
|
"Chronology whose formation rate the craters' ages are drawn from.");
|
|
193
193
|
}
|
|
194
194
|
|
|
195
|
+
template <> struct SpecName<FreshnessAgesSpec> {
|
|
196
|
+
static constexpr std::string_view kName = "freshness";
|
|
197
|
+
static constexpr std::string_view kDescription =
|
|
198
|
+
"Ages from a freshness f between 0 and 1 drawn per crater, age = (1 - f) lifetime, with "
|
|
199
|
+
"one lifetime for every diameter; freshness stands for age as in degree-of-freshness "
|
|
200
|
+
"dating (Pohn and Offield 1970; Trang et al. 2015).";
|
|
201
|
+
};
|
|
202
|
+
template <typename IO> void Fields(IO& io, FreshnessAgesSpec& spec) {
|
|
203
|
+
io("lifetime_gyr", spec.lifetimeGyr,
|
|
204
|
+
"Lifetime in Gyr, positive, of every crater: freshness 0 is this old, 1 is new; crater "
|
|
205
|
+
"albedo such as ray fading reads these ages.",
|
|
206
|
+
"Gyr", Above(0.0));
|
|
207
|
+
io("freshness", spec.freshness,
|
|
208
|
+
"Distribution each crater's freshness is drawn from, also clamped to 0 to 1: 1 is fresh, "
|
|
209
|
+
"0 at the end of its lifetime; with freshness degradation, depth and rim scale with it.");
|
|
210
|
+
}
|
|
211
|
+
|
|
195
212
|
template <> struct SpecName<FreshnessDegradationSpec> {
|
|
196
213
|
static constexpr std::string_view kName = "freshness";
|
|
197
214
|
static constexpr std::string_view kDescription =
|
|
@@ -72,6 +72,13 @@ template <typename IO> void Fields(IO& io, ValueDistribution& distribution) {
|
|
|
72
72
|
OptionalBound(io, "max", distribution.max,
|
|
73
73
|
"Upper bound drawn values are clamped to; unset leaves them unbounded above, "
|
|
74
74
|
"which normal and log-normal kinds do not allow.");
|
|
75
|
+
io("edges", distribution.edges,
|
|
76
|
+
"With piecewise, the edges of the bins, at least two and strictly increasing; values are "
|
|
77
|
+
"uniform within each bin. Empty for every other kind.");
|
|
78
|
+
io("weights", distribution.weights,
|
|
79
|
+
"With piecewise, the relative weight of each bin, one fewer than the edges, not negative "
|
|
80
|
+
"and not all zero; each bin draws its share of the total. Empty for every other kind.",
|
|
81
|
+
"", AtLeast(0.0));
|
|
75
82
|
}
|
|
76
83
|
|
|
77
84
|
/// The fields of irregular craters' rough, wavy rims.
|
|
@@ -224,12 +224,14 @@ template <> struct EnumNames<BaseSolid> {
|
|
|
224
224
|
};
|
|
225
225
|
|
|
226
226
|
template <> struct EnumNames<ValueDistribution::Kind> {
|
|
227
|
-
static constexpr std::array<EnumEntry<ValueDistribution::Kind>,
|
|
227
|
+
static constexpr std::array<EnumEntry<ValueDistribution::Kind>, 5> kValues{{
|
|
228
228
|
{"constant", ValueDistribution::Kind::Constant, "Always a."},
|
|
229
229
|
{"uniform", ValueDistribution::Kind::Uniform, "Uniform between a and b."},
|
|
230
230
|
{"normal", ValueDistribution::Kind::Normal, "Normal with mean a and standard deviation b."},
|
|
231
231
|
{"log_normal", ValueDistribution::Kind::LogNormal,
|
|
232
232
|
"Log-normal with median a and standard deviation b of the natural logarithm."},
|
|
233
|
+
{"piecewise", ValueDistribution::Kind::Piecewise,
|
|
234
|
+
"Uniform within each bin between edges, each bin drawn in proportion to its weight."},
|
|
233
235
|
}};
|
|
234
236
|
};
|
|
235
237
|
|
|
@@ -211,7 +211,36 @@ void CheckBoulderMaps(const BoulderLayerOptions& boulders, const std::string& pa
|
|
|
211
211
|
}
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
+
bool IsGolombekRapp(const BoulderSizesSpec& sizes) {
|
|
215
|
+
return std::holds_alternative<GolombekRappBouldersSpec>(sizes);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/// @throws ConfigError at a Golombek-Rapp term changed from its default, such as "coverage", when
|
|
219
|
+
/// no size model of the layer is Golombek-Rapp and so none would use it.
|
|
220
|
+
void CheckGolombekRappTerms(const BoulderLayerSpec& spec, const std::string& path) {
|
|
221
|
+
const BoulderLayerSpec defaults{};
|
|
222
|
+
const BoulderSizes& sizes = spec.boulders.sizes;
|
|
223
|
+
const BoulderSizes& unset = defaults.boulders.sizes;
|
|
224
|
+
const bool layer = IsGolombekRapp(spec.sizes);
|
|
225
|
+
const bool ejecta = IsGolombekRapp(spec.ejectaSizes.value_or(spec.sizes));
|
|
226
|
+
const auto check = [](bool used, double value, double fallback, const std::string& at,
|
|
227
|
+
const char* fix) {
|
|
228
|
+
if (!used && value != fallback) {
|
|
229
|
+
throw ConfigError(at, std::string("is only used by Golombek-Rapp sizes; set ") + fix +
|
|
230
|
+
" or leave it out");
|
|
231
|
+
}
|
|
232
|
+
};
|
|
233
|
+
const char* const layerFix = R"("sizes": {"type": "golombek_rapp"})";
|
|
234
|
+
check(layer, sizes.coverage, unset.coverage, Child(path, "coverage"), layerFix);
|
|
235
|
+
check(layer || ejecta, sizes.qConstant, unset.qConstant, Child(path, "qa"), layerFix);
|
|
236
|
+
check(layer || ejecta, sizes.qCoverageCoefficient, unset.qCoverageCoefficient,
|
|
237
|
+
Child(path, "qb"), layerFix);
|
|
238
|
+
check(ejecta, spec.boulders.ejecta.coverage, defaults.boulders.ejecta.coverage,
|
|
239
|
+
Child(Child(path, "ejecta"), "coverage"), R"("ejecta_sizes": {"type": "golombek_rapp"})");
|
|
240
|
+
}
|
|
241
|
+
|
|
214
242
|
void CheckLayerSpec(const BoulderLayerSpec& spec, const std::string& path, LayerChecks& context) {
|
|
243
|
+
CheckGolombekRappTerms(spec, path);
|
|
215
244
|
const BoulderLayerOptions boulders = BuildBoulderOptions(spec, path, context.directory);
|
|
216
245
|
CheckBoulderMaps(boulders, path);
|
|
217
246
|
At(path, [&] { ValidateBoulderLayerOptions(boulders); });
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
#include "terraingen/layers/craters/ages/freshness.h"
|
|
2
|
+
|
|
3
|
+
#include "terraingen/util/checks.h"
|
|
4
|
+
|
|
5
|
+
#include <cmath>
|
|
6
|
+
#include <utility>
|
|
7
|
+
|
|
8
|
+
namespace terraingen {
|
|
9
|
+
|
|
10
|
+
namespace {
|
|
11
|
+
|
|
12
|
+
ValueDistribution ClampedToUnit(ValueDistribution freshness) {
|
|
13
|
+
freshness.min = std::fmax(freshness.min, 0.0);
|
|
14
|
+
freshness.max = std::fmin(freshness.max, 1.0);
|
|
15
|
+
ValidateValueDistribution(freshness);
|
|
16
|
+
return freshness;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
} // namespace
|
|
20
|
+
|
|
21
|
+
FreshnessAges::FreshnessAges(ValueDistribution freshness, double lifetimeGyr)
|
|
22
|
+
: freshness_(ClampedToUnit(std::move(freshness))), lifetimeGyr_(lifetimeGyr) {
|
|
23
|
+
RequirePositive(lifetimeGyr_, "Lifetime");
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
double FreshnessAges::SampleFreshness(RandomStream& random) const {
|
|
27
|
+
const double u1 = random.NextDouble();
|
|
28
|
+
const double u2 = random.NextDouble();
|
|
29
|
+
return freshness_.Sample(u1, u2);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
double FreshnessAges::LifetimeAt(double /*diameter*/) const {
|
|
33
|
+
return lifetimeGyr_;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
double FreshnessAges::SampleAgeAt(RandomStream& random, double /*diameter*/,
|
|
37
|
+
double lifetimeGyr) const {
|
|
38
|
+
return (1.0 - SampleFreshness(random)) * lifetimeGyr;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
} // namespace terraingen
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/// @file
|
|
2
|
+
/// @brief `FreshnessAges`, crater ages from a distribution of freshness.
|
|
3
|
+
#pragma once
|
|
4
|
+
|
|
5
|
+
#include "terraingen/layers/craters/ages/age_model.h"
|
|
6
|
+
#include "terraingen/random/value_distribution.h"
|
|
7
|
+
|
|
8
|
+
namespace terraingen {
|
|
9
|
+
|
|
10
|
+
/// Ages from a freshness f in [0, 1] drawn per crater: age = (1 - f) * lifetime, with one lifetime
|
|
11
|
+
/// for every diameter, so `RemainingLifetime` gives back f.
|
|
12
|
+
class FreshnessAges final : public CraterAgeModel {
|
|
13
|
+
public:
|
|
14
|
+
/// @param freshness The distribution f is drawn from; its clamp is narrowed to [0, 1].
|
|
15
|
+
/// @param lifetimeGyr The lifetime of every crater, in Gyr.
|
|
16
|
+
/// @throws std::invalid_argument unless `lifetimeGyr` is positive and finite and `freshness`,
|
|
17
|
+
/// once clamped to [0, 1], is valid (`ValidateValueDistribution`).
|
|
18
|
+
FreshnessAges(ValueDistribution freshness, double lifetimeGyr);
|
|
19
|
+
|
|
20
|
+
/// The distribution freshness is drawn from, clamped to [0, 1].
|
|
21
|
+
const ValueDistribution& Freshness() const {
|
|
22
|
+
return freshness_;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/// Draws a freshness in [0, 1] from two draws of `random`.
|
|
26
|
+
double SampleFreshness(RandomStream& random) const;
|
|
27
|
+
|
|
28
|
+
protected:
|
|
29
|
+
double LifetimeAt(double diameter) const override;
|
|
30
|
+
double SampleAgeAt(RandomStream& random, double diameter, double lifetimeGyr) const override;
|
|
31
|
+
|
|
32
|
+
private:
|
|
33
|
+
ValueDistribution freshness_;
|
|
34
|
+
double lifetimeGyr_;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
} // namespace terraingen
|
{terraingenpy-0.1.1.dev73 → terraingenpy-0.1.1.dev77}/terraingen/python/src/crater_models.cpp
RENAMED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
#include "trampolines.h"
|
|
5
5
|
|
|
6
6
|
#include "terraingen/layers/craters/ages/age_model.h"
|
|
7
|
+
#include "terraingen/layers/craters/ages/freshness.h"
|
|
7
8
|
#include "terraingen/layers/craters/ages/steady_state.h"
|
|
8
9
|
#include "terraingen/layers/craters/crater_layer.h"
|
|
9
10
|
#include "terraingen/layers/craters/degradation/degradation_model.h"
|
|
@@ -15,6 +16,7 @@
|
|
|
15
16
|
#include "terraingen/layers/craters/profiles/martin_parkes_dunstan.h"
|
|
16
17
|
#include "terraingen/layers/craters/shaping/morphometry.h"
|
|
17
18
|
#include "terraingen/random/stream.h"
|
|
19
|
+
#include "terraingen/random/value_distribution.h"
|
|
18
20
|
|
|
19
21
|
#include <functional>
|
|
20
22
|
#include <memory>
|
|
@@ -101,6 +103,14 @@ void BindAges(nb::module_& m) {
|
|
|
101
103
|
nb::class_<UniformAges, CraterAgeModel>(
|
|
102
104
|
m, "UniformAges", "Ages uniform over a lifetime of `lifetime_gyr`, whatever the size.")
|
|
103
105
|
.def(nb::init<double>(), "lifetime_gyr"_a);
|
|
106
|
+
nb::class_<FreshnessAges, CraterAgeModel>(
|
|
107
|
+
m, "FreshnessAges",
|
|
108
|
+
"Ages from a freshness f drawn per crater from `freshness` (a `ValueDistribution`, also "
|
|
109
|
+
"clamped to [0, 1]): age = (1 - f) * `lifetime_gyr`, whatever the size.")
|
|
110
|
+
.def(nb::init<ValueDistribution, double>(), "freshness"_a, "lifetime_gyr"_a)
|
|
111
|
+
.def_prop_ro("freshness", &FreshnessAges::Freshness)
|
|
112
|
+
.def("sample_freshness", &FreshnessAges::SampleFreshness, "random"_a,
|
|
113
|
+
"Draws a freshness in [0, 1].");
|
|
104
114
|
nb::class_<SteadyStateAges, CraterAgeModel>(
|
|
105
115
|
m, "SteadyStateAges",
|
|
106
116
|
"Ages of a surface `age_gyr` old in steady state: a crater lasts until the "
|
|
@@ -120,7 +120,8 @@ void BindValueDistribution(nb::module_& m) {
|
|
|
120
120
|
BindOptions<ValueDistribution>(
|
|
121
121
|
m, "ValueDistribution",
|
|
122
122
|
"A random value: constant `a`, uniform from `a` to `b`, normal or log-normal with mean "
|
|
123
|
-
"`a` and deviation `b`,
|
|
123
|
+
"`a` and deviation `b`, or piecewise: uniform within bins between `edges`, each drawn "
|
|
124
|
+
"in proportion to its entry in `weights`; clipped to [min, max].",
|
|
124
125
|
&ValidateValueDistribution);
|
|
125
126
|
m.def("validate_value_distribution", &ValidateValueDistribution, "distribution"_a,
|
|
126
127
|
kValidateDoc);
|