terraingenpy 0.2.0__tar.gz → 0.2.0.dev90__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.
Files changed (1998) hide show
  1. terraingenpy-0.2.0.dev90/.dockerignore +20 -0
  2. terraingenpy-0.2.0.dev90/.gitattributes +17 -0
  3. terraingenpy-0.2.0.dev90/.github/workflows/ci.yml +516 -0
  4. terraingenpy-0.2.0.dev90/.gitignore +33 -0
  5. terraingenpy-0.2.0.dev90/.pre-commit-config.yaml +66 -0
  6. terraingenpy-0.2.0.dev90/CHANGELOG.md +337 -0
  7. terraingenpy-0.2.0.dev90/CMakeLists.txt +147 -0
  8. terraingenpy-0.2.0.dev90/CONTRIBUTING.md +47 -0
  9. terraingenpy-0.2.0.dev90/PKG-INFO +250 -0
  10. terraingenpy-0.2.0.dev90/README.md +194 -0
  11. terraingenpy-0.2.0.dev90/cmake/BuildInfo.cmake +49 -0
  12. terraingenpy-0.2.0.dev90/cmake/CoverageBadge.cmake +29 -0
  13. terraingenpy-0.2.0.dev90/cmake/EmbedFile.cmake +17 -0
  14. terraingenpy-0.2.0.dev90/cmake/Kernel.cpp.in +29 -0
  15. terraingenpy-0.2.0.dev90/cmake/TerrainGenPackaging.cmake +36 -0
  16. terraingenpy-0.2.0.dev90/cmake/TerrainGenSlang.cmake +131 -0
  17. terraingenpy-0.2.0.dev90/cmake/TerrainGenTesting.cmake +21 -0
  18. terraingenpy-0.2.0.dev90/cmake/terraingenConfig.cmake.in +10 -0
  19. terraingenpy-0.2.0.dev90/cmake/third_party/benchmark.cmake +20 -0
  20. terraingenpy-0.2.0.dev90/cmake/third_party/ernie.cmake +37 -0
  21. terraingenpy-0.2.0.dev90/cmake/third_party/googletest.cmake +19 -0
  22. terraingenpy-0.2.0.dev90/cmake/third_party/mesh_formats.cmake +8 -0
  23. terraingenpy-0.2.0.dev90/cmake/third_party/miniz.cmake +14 -0
  24. terraingenpy-0.2.0.dev90/cmake/third_party/nanobind.cmake +29 -0
  25. terraingenpy-0.2.0.dev90/cmake/third_party/nvrtc.cmake +43 -0
  26. terraingenpy-0.2.0.dev90/cmake/third_party/slang.cmake +43 -0
  27. terraingenpy-0.2.0.dev90/cmake/third_party/volk.cmake +25 -0
  28. terraingenpy-0.2.0.dev90/cmake/third_party/vulkan_headers.cmake +20 -0
  29. terraingenpy-0.2.0.dev90/docs/Makefile +25 -0
  30. terraingenpy-0.2.0.dev90/docs/README.md +31 -0
  31. terraingenpy-0.2.0.dev90/docs/_src/api/python.md +3 -0
  32. terraingenpy-0.2.0.dev90/docs/_src/concepts/configuration.md +1 -0
  33. terraingenpy-0.2.0.dev90/docs/_src/concepts/evaluation.md +1 -0
  34. terraingenpy-0.2.0.dev90/docs/_src/concepts/extending.md +1 -0
  35. terraingenpy-0.2.0.dev90/docs/_src/concepts/gpu.md +1 -0
  36. terraingenpy-0.2.0.dev90/docs/_src/concepts/layers.md +1 -0
  37. terraingenpy-0.2.0.dev90/docs/_src/concepts/sources.md +1 -0
  38. terraingenpy-0.2.0.dev90/docs/_src/concepts/surfaces.md +1 -0
  39. terraingenpy-0.2.0.dev90/docs/_src/features/albedo/base-maps.md +1 -0
  40. terraingenpy-0.2.0.dev90/docs/_src/features/albedo/blast-zones.md +1 -0
  41. terraingenpy-0.2.0.dev90/docs/_src/features/albedo/crater-rays.md +1 -0
  42. terraingenpy-0.2.0.dev90/docs/_src/features/albedo/index.md +1 -0
  43. terraingenpy-0.2.0.dev90/docs/_src/features/albedo/photometry.md +1 -0
  44. terraingenpy-0.2.0.dev90/docs/_src/features/albedo/reflectance-zones.md +1 -0
  45. terraingenpy-0.2.0.dev90/docs/_src/features/albedo/rocks.md +1 -0
  46. terraingenpy-0.2.0.dev90/docs/_src/features/albedo/slopes.md +1 -0
  47. terraingenpy-0.2.0.dev90/docs/_src/features/albedo/splotches.md +1 -0
  48. terraingenpy-0.2.0.dev90/docs/_src/features/boulders/burial-and-exposure.md +1 -0
  49. terraingenpy-0.2.0.dev90/docs/_src/features/boulders/fragmentation.md +1 -0
  50. terraingenpy-0.2.0.dev90/docs/_src/features/boulders/index.md +1 -0
  51. terraingenpy-0.2.0.dev90/docs/_src/features/boulders/lists-and-meshes.md +1 -0
  52. terraingenpy-0.2.0.dev90/docs/_src/features/boulders/placement.md +1 -0
  53. terraingenpy-0.2.0.dev90/docs/_src/features/boulders/shapes.md +1 -0
  54. terraingenpy-0.2.0.dev90/docs/_src/features/boulders/size-distributions.md +1 -0
  55. terraingenpy-0.2.0.dev90/docs/_src/features/craters/ages.md +1 -0
  56. terraingenpy-0.2.0.dev90/docs/_src/features/craters/crater-lists.md +1 -0
  57. terraingenpy-0.2.0.dev90/docs/_src/features/craters/degradation.md +1 -0
  58. terraingenpy-0.2.0.dev90/docs/_src/features/craters/index.md +1 -0
  59. terraingenpy-0.2.0.dev90/docs/_src/features/craters/irregularity.md +1 -0
  60. terraingenpy-0.2.0.dev90/docs/_src/features/craters/placement-and-blending.md +1 -0
  61. terraingenpy-0.2.0.dev90/docs/_src/features/craters/populations.md +1 -0
  62. terraingenpy-0.2.0.dev90/docs/_src/features/craters/profiles.md +1 -0
  63. terraingenpy-0.2.0.dev90/docs/_src/features/craters/secondaries-and-rays.md +1 -0
  64. terraingenpy-0.2.0.dev90/docs/_src/features/craters/texture-and-slopes.md +1 -0
  65. terraingenpy-0.2.0.dev90/docs/_src/features/distributions/chronology.md +1 -0
  66. terraingenpy-0.2.0.dev90/docs/_src/features/distributions/combining.md +1 -0
  67. terraingenpy-0.2.0.dev90/docs/_src/features/distributions/equilibrium.md +1 -0
  68. terraingenpy-0.2.0.dev90/docs/_src/features/distributions/index.md +1 -0
  69. terraingenpy-0.2.0.dev90/docs/_src/features/distributions/production.md +1 -0
  70. terraingenpy-0.2.0.dev90/docs/_src/features/distributions/sampling.md +1 -0
  71. terraingenpy-0.2.0.dev90/docs/_src/features/distributions/size-frequency.md +1 -0
  72. terraingenpy-0.2.0.dev90/docs/_src/features/distributions/value-distributions.md +1 -0
  73. terraingenpy-0.2.0.dev90/docs/_src/features/geology/bedforms.md +1 -0
  74. terraingenpy-0.2.0.dev90/docs/_src/features/geology/dunes.md +1 -0
  75. terraingenpy-0.2.0.dev90/docs/_src/features/geology/index.md +1 -0
  76. terraingenpy-0.2.0.dev90/docs/_src/features/geology/pavement.md +1 -0
  77. terraingenpy-0.2.0.dev90/docs/_src/features/geology/sand.md +1 -0
  78. terraingenpy-0.2.0.dev90/docs/_src/features/geology/strata.md +1 -0
  79. terraingenpy-0.2.0.dev90/docs/_src/features/index.md +1 -0
  80. terraingenpy-0.2.0.dev90/docs/_src/features/outputs.md +1 -0
  81. terraingenpy-0.2.0.dev90/docs/_src/features/relief/index.md +1 -0
  82. terraingenpy-0.2.0.dev90/docs/_src/features/relief/noise.md +1 -0
  83. terraingenpy-0.2.0.dev90/docs/_src/features/relief/roughness.md +1 -0
  84. terraingenpy-0.2.0.dev90/docs/_src/features/relief/spectral-continuation.md +1 -0
  85. terraingenpy-0.2.0.dev90/docs/_src/features/relief/upsampling.md +1 -0
  86. terraingenpy-0.2.0.dev90/docs/_src/gallery/index.md +39 -0
  87. terraingenpy-0.2.0.dev90/docs/_src/getting-started/first-terrain.md +1 -0
  88. terraingenpy-0.2.0.dev90/docs/_src/getting-started/index.md +14 -0
  89. terraingenpy-0.2.0.dev90/docs/_src/getting-started/installation.md +77 -0
  90. terraingenpy-0.2.0.dev90/docs/_src/guides/contributing.md +1 -0
  91. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/albedo/blast_zones.jpg +0 -0
  92. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/albedo/crater_rays.jpg +0 -0
  93. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/albedo/oblique_impacts.jpg +0 -0
  94. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/albedo/reflectance_zones.jpg +0 -0
  95. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/albedo/rocks.jpg +0 -0
  96. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/albedo/slopes.jpg +0 -0
  97. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/albedo/splotches.jpg +0 -0
  98. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/albedo/synthetic_base.jpg +0 -0
  99. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/clustering.jpg +0 -0
  100. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/crater_ejecta_aging.jpg +0 -0
  101. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/crater_ejecta_coverage.jpg +0 -0
  102. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/crater_ejecta_decay.jpg +0 -0
  103. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/crater_ejecta_floor.jpg +0 -0
  104. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/crater_ejecta_profiles.jpg +0 -0
  105. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/crater_ejecta_reach.jpg +0 -0
  106. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/crater_ejecta_regolith.jpg +0 -0
  107. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/density_map.jpg +0 -0
  108. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/fillets.jpg +0 -0
  109. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/models_axes.jpg +0 -0
  110. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/models_fractures.jpg +0 -0
  111. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/models_fragments.jpg +0 -0
  112. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/models_noise.jpg +0 -0
  113. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/models_rounding.jpg +0 -0
  114. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/models_settle.jpg +0 -0
  115. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/models_solids.jpg +0 -0
  116. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/models_styles.jpg +0 -0
  117. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/models_variety.jpg +0 -0
  118. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/models_weathering.jpg +0 -0
  119. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/patches.jpg +0 -0
  120. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/pose_burial.jpg +0 -0
  121. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/pose_burial_by_wear.jpg +0 -0
  122. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/pose_height_ratio.jpg +0 -0
  123. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/size_distributions.jpg +0 -0
  124. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/slope_map.jpg +0 -0
  125. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/boulders/slopes.jpg +0 -0
  126. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/ages.jpg +0 -0
  127. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/aristarchus.jpg +0 -0
  128. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/blend_shapes.jpg +0 -0
  129. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/catalog_completeness.jpg +0 -0
  130. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/complex_craters.jpg +0 -0
  131. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/complex_profiles.jpg +0 -0
  132. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/copernicus.jpg +0 -0
  133. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/datum.jpg +0 -0
  134. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/datum_profiles.jpg +0 -0
  135. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/default_field.jpg +0 -0
  136. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/degradation_by_age.jpg +0 -0
  137. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/degradation_by_diffusion.jpg +0 -0
  138. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/degradation_by_freshness.jpg +0 -0
  139. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/density_map.jpg +0 -0
  140. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/density_map_areal_fraction.jpg +0 -0
  141. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/density_map_count.jpg +0 -0
  142. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/density_map_scale.jpg +0 -0
  143. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/depth_ratio.jpg +0 -0
  144. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/elongation.jpg +0 -0
  145. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/elongation_and_roughness.jpg +0 -0
  146. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/freshness_vs_diffusion.jpg +0 -0
  147. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/freshness_vs_diffusion_maps.jpg +0 -0
  148. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/interior_replacement.jpg +0 -0
  149. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/irregularity.jpg +0 -0
  150. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/irregularity_harmonics.jpg +0 -0
  151. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/irregularity_models.jpg +0 -0
  152. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/irregularity_spectral_slope.jpg +0 -0
  153. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/manual_depth.jpg +0 -0
  154. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/max_craters.jpg +0 -0
  155. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/peaks.jpg +0 -0
  156. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/peaks_elongation.jpg +0 -0
  157. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/peaks_massifs.jpg +0 -0
  158. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/peaks_roughness.jpg +0 -0
  159. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/peaks_seeds.jpg +0 -0
  160. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/peaks_sharpness.jpg +0 -0
  161. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/peaks_size.jpg +0 -0
  162. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/peaks_spread.jpg +0 -0
  163. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/populations.jpg +0 -0
  164. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/profiles.jpg +0 -0
  165. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/radial_marks.jpg +0 -0
  166. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/resolution_fade.jpg +0 -0
  167. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/rim_models.jpg +0 -0
  168. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/rim_smoothing.jpg +0 -0
  169. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/secondaries.jpg +0 -0
  170. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/secondary_shapes.jpg +0 -0
  171. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/slope_floor_offset.jpg +0 -0
  172. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/slope_hillside.jpg +0 -0
  173. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/slope_response.jpg +0 -0
  174. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/slope_upslope_rim.jpg +0 -0
  175. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/slope_wear.jpg +0 -0
  176. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/source_resolved.jpg +0 -0
  177. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/spacing_both.jpg +0 -0
  178. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/spacing_ratio.jpg +0 -0
  179. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/spacing_separation.jpg +0 -0
  180. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/terraces.jpg +0 -0
  181. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/terraces_arcs.jpg +0 -0
  182. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/terraces_bench_slope.jpg +0 -0
  183. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/terraces_benches.jpg +0 -0
  184. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/terraces_blocks.jpg +0 -0
  185. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/terraces_freshness.jpg +0 -0
  186. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/terraces_gaps.jpg +0 -0
  187. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/terraces_onset.jpg +0 -0
  188. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/terraces_rim_variation.jpg +0 -0
  189. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/terraces_scarps.jpg +0 -0
  190. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/terraces_seeds.jpg +0 -0
  191. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/texture_ejecta.jpg +0 -0
  192. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/texture_gullies.jpg +0 -0
  193. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/texture_mantling.jpg +0 -0
  194. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/texture_noise.jpg +0 -0
  195. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/texture_rim_noise.jpg +0 -0
  196. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/theophilus.jpg +0 -0
  197. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/craters/tycho.jpg +0 -0
  198. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/dem/craters_added.jpg +0 -0
  199. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/dem/globe.jpg +0 -0
  200. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/dem/noise_added.jpg +0 -0
  201. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/dem/upsampling.jpg +0 -0
  202. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/distributions/chronology.jpg +0 -0
  203. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/distributions/combining.jpg +0 -0
  204. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/distributions/crater_densities.jpg +0 -0
  205. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/distributions/literature_boulders.jpg +0 -0
  206. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/distributions/literature_craters.jpg +0 -0
  207. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/distributions/piecewise.jpg +0 -0
  208. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/distributions/power_laws.jpg +0 -0
  209. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/distributions/sampling.jpg +0 -0
  210. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/distributions/value_distributions.jpg +0 -0
  211. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/geology/bedforms_ripples.jpg +0 -0
  212. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/geology/bedforms_tars.jpg +0 -0
  213. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/geology/dune_shapes.jpg +0 -0
  214. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/geology/dunes_barchan_winds.jpg +0 -0
  215. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/geology/dunes_crest_lines.jpg +0 -0
  216. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/geology/dunes_grainflows.jpg +0 -0
  217. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/geology/dunes_ripples.jpg +0 -0
  218. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/geology/exposure.jpg +0 -0
  219. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/geology/pavement.jpg +0 -0
  220. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/geology/sand_fill.jpg +0 -0
  221. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/geology/sand_shadows.jpg +0 -0
  222. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/geology/strata.jpg +0 -0
  223. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/layers/masked.jpg +0 -0
  224. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/layers/masked_craters_boulders.jpg +0 -0
  225. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/layers/masked_polygon.jpg +0 -0
  226. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/layers/masked_polygon_craters_boulders.jpg +0 -0
  227. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/layers/scale_and_clamp.jpg +0 -0
  228. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/outputs/materials.jpg +0 -0
  229. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/planets/ellipsoid_craters.jpg +0 -0
  230. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/planets/ellipsoid_projection.jpg +0 -0
  231. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/planets/mars_scene.jpg +0 -0
  232. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/planets/moon_scene.jpg +0 -0
  233. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/queries/rover_traverse.jpg +0 -0
  234. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/relief/noise_blending.jpg +0 -0
  235. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/relief/noise_gain.jpg +0 -0
  236. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/relief/noise_lacunarity.jpg +0 -0
  237. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/relief/noise_octaves.jpg +0 -0
  238. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/relief/noise_perlin.jpg +0 -0
  239. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/relief/noise_simplex.jpg +0 -0
  240. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/relief/noise_value.jpg +0 -0
  241. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/relief/noise_warp.jpg +0 -0
  242. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/relief/noise_worley.jpg +0 -0
  243. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/relief/roughness_lunar.jpg +0 -0
  244. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/relief/spectral_continuation.jpg +0 -0
  245. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/relief/upsampling.jpg +0 -0
  246. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/relief/upsampling_diamond_square.jpg +0 -0
  247. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/relief/upsampling_synthetic.jpg +0 -0
  248. terraingenpy-0.2.0.dev90/docs/_src/images/gallery/sources/chain.jpg +0 -0
  249. terraingenpy-0.2.0.dev90/docs/_src/images/gdomes_viper_rover.jpg +0 -0
  250. terraingenpy-0.2.0.dev90/docs/_src/images/render_connecting_ridge_crater.jpg +0 -0
  251. terraingenpy-0.2.0.dev90/docs/_src/images/render_connecting_ridge_ground.jpg +0 -0
  252. terraingenpy-0.2.0.dev90/docs/_src/index.md +46 -0
  253. terraingenpy-0.2.0.dev90/docs/_src/reference/bibliography.md +1 -0
  254. terraingenpy-0.2.0.dev90/docs/_src/reference/changelog.md +1 -0
  255. terraingenpy-0.2.0.dev90/docs/gallery/albedo/blast_zones.py +44 -0
  256. terraingenpy-0.2.0.dev90/docs/gallery/albedo/crater_rays.py +60 -0
  257. terraingenpy-0.2.0.dev90/docs/gallery/albedo/oblique_impacts.py +49 -0
  258. terraingenpy-0.2.0.dev90/docs/gallery/albedo/reflectance_zones.py +51 -0
  259. terraingenpy-0.2.0.dev90/docs/gallery/albedo/rocks.py +48 -0
  260. terraingenpy-0.2.0.dev90/docs/gallery/albedo/slopes.py +42 -0
  261. terraingenpy-0.2.0.dev90/docs/gallery/albedo/splotches.py +37 -0
  262. terraingenpy-0.2.0.dev90/docs/gallery/albedo/synthetic_base.py +60 -0
  263. terraingenpy-0.2.0.dev90/docs/gallery/assets.py +102 -0
  264. terraingenpy-0.2.0.dev90/docs/gallery/boulders/clustering.py +42 -0
  265. terraingenpy-0.2.0.dev90/docs/gallery/boulders/crater_ejecta_aging.py +69 -0
  266. terraingenpy-0.2.0.dev90/docs/gallery/boulders/crater_ejecta_coverage.py +62 -0
  267. terraingenpy-0.2.0.dev90/docs/gallery/boulders/crater_ejecta_decay.py +65 -0
  268. terraingenpy-0.2.0.dev90/docs/gallery/boulders/crater_ejecta_floor.py +64 -0
  269. terraingenpy-0.2.0.dev90/docs/gallery/boulders/crater_ejecta_profiles.py +58 -0
  270. terraingenpy-0.2.0.dev90/docs/gallery/boulders/crater_ejecta_reach.py +63 -0
  271. terraingenpy-0.2.0.dev90/docs/gallery/boulders/crater_ejecta_regolith.py +51 -0
  272. terraingenpy-0.2.0.dev90/docs/gallery/boulders/density_map.py +74 -0
  273. terraingenpy-0.2.0.dev90/docs/gallery/boulders/fillets.py +77 -0
  274. terraingenpy-0.2.0.dev90/docs/gallery/boulders/models_axes.py +31 -0
  275. terraingenpy-0.2.0.dev90/docs/gallery/boulders/models_fractures.py +36 -0
  276. terraingenpy-0.2.0.dev90/docs/gallery/boulders/models_fragments.py +56 -0
  277. terraingenpy-0.2.0.dev90/docs/gallery/boulders/models_noise.py +37 -0
  278. terraingenpy-0.2.0.dev90/docs/gallery/boulders/models_rounding.py +29 -0
  279. terraingenpy-0.2.0.dev90/docs/gallery/boulders/models_settle.py +62 -0
  280. terraingenpy-0.2.0.dev90/docs/gallery/boulders/models_solids.py +36 -0
  281. terraingenpy-0.2.0.dev90/docs/gallery/boulders/models_styles.py +30 -0
  282. terraingenpy-0.2.0.dev90/docs/gallery/boulders/models_variety.py +27 -0
  283. terraingenpy-0.2.0.dev90/docs/gallery/boulders/models_weathering.py +42 -0
  284. terraingenpy-0.2.0.dev90/docs/gallery/boulders/patches.py +37 -0
  285. terraingenpy-0.2.0.dev90/docs/gallery/boulders/pose_burial.py +56 -0
  286. terraingenpy-0.2.0.dev90/docs/gallery/boulders/pose_burial_by_wear.py +51 -0
  287. terraingenpy-0.2.0.dev90/docs/gallery/boulders/pose_height_ratio.py +56 -0
  288. terraingenpy-0.2.0.dev90/docs/gallery/boulders/size_distributions.py +67 -0
  289. terraingenpy-0.2.0.dev90/docs/gallery/boulders/slope_map.py +68 -0
  290. terraingenpy-0.2.0.dev90/docs/gallery/boulders/slopes.py +72 -0
  291. terraingenpy-0.2.0.dev90/docs/gallery/craters/ages.py +75 -0
  292. terraingenpy-0.2.0.dev90/docs/gallery/craters/aristarchus.py +78 -0
  293. terraingenpy-0.2.0.dev90/docs/gallery/craters/blend_shapes.py +61 -0
  294. terraingenpy-0.2.0.dev90/docs/gallery/craters/catalog_completeness.py +73 -0
  295. terraingenpy-0.2.0.dev90/docs/gallery/craters/complex_craters.py +59 -0
  296. terraingenpy-0.2.0.dev90/docs/gallery/craters/complex_profiles.py +77 -0
  297. terraingenpy-0.2.0.dev90/docs/gallery/craters/copernicus.py +77 -0
  298. terraingenpy-0.2.0.dev90/docs/gallery/craters/datum.py +58 -0
  299. terraingenpy-0.2.0.dev90/docs/gallery/craters/datum_profiles.py +62 -0
  300. terraingenpy-0.2.0.dev90/docs/gallery/craters/default_field.py +28 -0
  301. terraingenpy-0.2.0.dev90/docs/gallery/craters/degradation_by_age.py +44 -0
  302. terraingenpy-0.2.0.dev90/docs/gallery/craters/degradation_by_diffusion.py +54 -0
  303. terraingenpy-0.2.0.dev90/docs/gallery/craters/degradation_by_freshness.py +52 -0
  304. terraingenpy-0.2.0.dev90/docs/gallery/craters/density_map.py +77 -0
  305. terraingenpy-0.2.0.dev90/docs/gallery/craters/density_map_areal_fraction.py +90 -0
  306. terraingenpy-0.2.0.dev90/docs/gallery/craters/density_map_count.py +87 -0
  307. terraingenpy-0.2.0.dev90/docs/gallery/craters/density_map_scale.py +77 -0
  308. terraingenpy-0.2.0.dev90/docs/gallery/craters/depth_ratio.py +70 -0
  309. terraingenpy-0.2.0.dev90/docs/gallery/craters/elongation.py +52 -0
  310. terraingenpy-0.2.0.dev90/docs/gallery/craters/elongation_and_roughness.py +57 -0
  311. terraingenpy-0.2.0.dev90/docs/gallery/craters/freshness_vs_diffusion.py +44 -0
  312. terraingenpy-0.2.0.dev90/docs/gallery/craters/freshness_vs_diffusion_maps.py +64 -0
  313. terraingenpy-0.2.0.dev90/docs/gallery/craters/interior_replacement.py +46 -0
  314. terraingenpy-0.2.0.dev90/docs/gallery/craters/irregularity.py +48 -0
  315. terraingenpy-0.2.0.dev90/docs/gallery/craters/irregularity_harmonics.py +81 -0
  316. terraingenpy-0.2.0.dev90/docs/gallery/craters/irregularity_models.py +82 -0
  317. terraingenpy-0.2.0.dev90/docs/gallery/craters/irregularity_spectral_slope.py +77 -0
  318. terraingenpy-0.2.0.dev90/docs/gallery/craters/manual_depth.py +64 -0
  319. terraingenpy-0.2.0.dev90/docs/gallery/craters/max_craters.py +51 -0
  320. terraingenpy-0.2.0.dev90/docs/gallery/craters/peaks.py +81 -0
  321. terraingenpy-0.2.0.dev90/docs/gallery/craters/peaks_elongation.py +88 -0
  322. terraingenpy-0.2.0.dev90/docs/gallery/craters/peaks_massifs.py +88 -0
  323. terraingenpy-0.2.0.dev90/docs/gallery/craters/peaks_roughness.py +88 -0
  324. terraingenpy-0.2.0.dev90/docs/gallery/craters/peaks_seeds.py +84 -0
  325. terraingenpy-0.2.0.dev90/docs/gallery/craters/peaks_sharpness.py +88 -0
  326. terraingenpy-0.2.0.dev90/docs/gallery/craters/peaks_size.py +88 -0
  327. terraingenpy-0.2.0.dev90/docs/gallery/craters/peaks_spread.py +89 -0
  328. terraingenpy-0.2.0.dev90/docs/gallery/craters/populations.py +106 -0
  329. terraingenpy-0.2.0.dev90/docs/gallery/craters/profiles.py +72 -0
  330. terraingenpy-0.2.0.dev90/docs/gallery/craters/radial_marks.py +55 -0
  331. terraingenpy-0.2.0.dev90/docs/gallery/craters/resolution_fade.py +43 -0
  332. terraingenpy-0.2.0.dev90/docs/gallery/craters/rim_models.py +59 -0
  333. terraingenpy-0.2.0.dev90/docs/gallery/craters/rim_smoothing.py +64 -0
  334. terraingenpy-0.2.0.dev90/docs/gallery/craters/secondaries.py +81 -0
  335. terraingenpy-0.2.0.dev90/docs/gallery/craters/secondary_shapes.py +45 -0
  336. terraingenpy-0.2.0.dev90/docs/gallery/craters/slope_floor_offset.py +61 -0
  337. terraingenpy-0.2.0.dev90/docs/gallery/craters/slope_hillside.py +56 -0
  338. terraingenpy-0.2.0.dev90/docs/gallery/craters/slope_response.py +59 -0
  339. terraingenpy-0.2.0.dev90/docs/gallery/craters/slope_upslope_rim.py +61 -0
  340. terraingenpy-0.2.0.dev90/docs/gallery/craters/slope_wear.py +70 -0
  341. terraingenpy-0.2.0.dev90/docs/gallery/craters/source_resolved.py +64 -0
  342. terraingenpy-0.2.0.dev90/docs/gallery/craters/spacing_both.py +45 -0
  343. terraingenpy-0.2.0.dev90/docs/gallery/craters/spacing_ratio.py +46 -0
  344. terraingenpy-0.2.0.dev90/docs/gallery/craters/spacing_separation.py +40 -0
  345. terraingenpy-0.2.0.dev90/docs/gallery/craters/terraces.py +82 -0
  346. terraingenpy-0.2.0.dev90/docs/gallery/craters/terraces_arcs.py +87 -0
  347. terraingenpy-0.2.0.dev90/docs/gallery/craters/terraces_bench_slope.py +87 -0
  348. terraingenpy-0.2.0.dev90/docs/gallery/craters/terraces_benches.py +87 -0
  349. terraingenpy-0.2.0.dev90/docs/gallery/craters/terraces_blocks.py +87 -0
  350. terraingenpy-0.2.0.dev90/docs/gallery/craters/terraces_freshness.py +85 -0
  351. terraingenpy-0.2.0.dev90/docs/gallery/craters/terraces_gaps.py +87 -0
  352. terraingenpy-0.2.0.dev90/docs/gallery/craters/terraces_onset.py +94 -0
  353. terraingenpy-0.2.0.dev90/docs/gallery/craters/terraces_rim_variation.py +87 -0
  354. terraingenpy-0.2.0.dev90/docs/gallery/craters/terraces_scarps.py +87 -0
  355. terraingenpy-0.2.0.dev90/docs/gallery/craters/terraces_seeds.py +86 -0
  356. terraingenpy-0.2.0.dev90/docs/gallery/craters/texture_ejecta.py +49 -0
  357. terraingenpy-0.2.0.dev90/docs/gallery/craters/texture_gullies.py +48 -0
  358. terraingenpy-0.2.0.dev90/docs/gallery/craters/texture_mantling.py +51 -0
  359. terraingenpy-0.2.0.dev90/docs/gallery/craters/texture_noise.py +48 -0
  360. terraingenpy-0.2.0.dev90/docs/gallery/craters/texture_rim_noise.py +48 -0
  361. terraingenpy-0.2.0.dev90/docs/gallery/craters/theophilus.py +87 -0
  362. terraingenpy-0.2.0.dev90/docs/gallery/craters/tycho.py +82 -0
  363. terraingenpy-0.2.0.dev90/docs/gallery/dem/craters_added.py +82 -0
  364. terraingenpy-0.2.0.dev90/docs/gallery/dem/globe.py +69 -0
  365. terraingenpy-0.2.0.dev90/docs/gallery/dem/noise_added.py +116 -0
  366. terraingenpy-0.2.0.dev90/docs/gallery/dem/upsampling.py +97 -0
  367. terraingenpy-0.2.0.dev90/docs/gallery/distributions/chronology.py +51 -0
  368. terraingenpy-0.2.0.dev90/docs/gallery/distributions/combining.py +69 -0
  369. terraingenpy-0.2.0.dev90/docs/gallery/distributions/crater_densities.py +72 -0
  370. terraingenpy-0.2.0.dev90/docs/gallery/distributions/literature_boulders.py +83 -0
  371. terraingenpy-0.2.0.dev90/docs/gallery/distributions/literature_craters.py +100 -0
  372. terraingenpy-0.2.0.dev90/docs/gallery/distributions/piecewise.py +55 -0
  373. terraingenpy-0.2.0.dev90/docs/gallery/distributions/power_laws.py +69 -0
  374. terraingenpy-0.2.0.dev90/docs/gallery/distributions/sampling.py +73 -0
  375. terraingenpy-0.2.0.dev90/docs/gallery/distributions/value_distributions.py +47 -0
  376. terraingenpy-0.2.0.dev90/docs/gallery/gallery.py +344 -0
  377. terraingenpy-0.2.0.dev90/docs/gallery/geology/bedforms_ripples.py +35 -0
  378. terraingenpy-0.2.0.dev90/docs/gallery/geology/bedforms_tars.py +34 -0
  379. terraingenpy-0.2.0.dev90/docs/gallery/geology/dune_shapes.py +34 -0
  380. terraingenpy-0.2.0.dev90/docs/gallery/geology/dunes_barchan_winds.py +35 -0
  381. terraingenpy-0.2.0.dev90/docs/gallery/geology/dunes_crest_lines.py +38 -0
  382. terraingenpy-0.2.0.dev90/docs/gallery/geology/dunes_grainflows.py +58 -0
  383. terraingenpy-0.2.0.dev90/docs/gallery/geology/dunes_ripples.py +87 -0
  384. terraingenpy-0.2.0.dev90/docs/gallery/geology/exposure.py +74 -0
  385. terraingenpy-0.2.0.dev90/docs/gallery/geology/pavement.py +32 -0
  386. terraingenpy-0.2.0.dev90/docs/gallery/geology/sand_fill.py +45 -0
  387. terraingenpy-0.2.0.dev90/docs/gallery/geology/sand_shadows.py +54 -0
  388. terraingenpy-0.2.0.dev90/docs/gallery/geology/strata.py +41 -0
  389. terraingenpy-0.2.0.dev90/docs/gallery/layers/masked.py +49 -0
  390. terraingenpy-0.2.0.dev90/docs/gallery/layers/masked_craters_boulders.py +93 -0
  391. terraingenpy-0.2.0.dev90/docs/gallery/layers/masked_polygon.py +56 -0
  392. terraingenpy-0.2.0.dev90/docs/gallery/layers/masked_polygon_craters_boulders.py +88 -0
  393. terraingenpy-0.2.0.dev90/docs/gallery/layers/scale_and_clamp.py +57 -0
  394. terraingenpy-0.2.0.dev90/docs/gallery/outputs/materials.py +68 -0
  395. terraingenpy-0.2.0.dev90/docs/gallery/planets/ellipsoid_craters.py +123 -0
  396. terraingenpy-0.2.0.dev90/docs/gallery/planets/ellipsoid_projection.py +86 -0
  397. terraingenpy-0.2.0.dev90/docs/gallery/planets/mars_scene.py +150 -0
  398. terraingenpy-0.2.0.dev90/docs/gallery/planets/moon_scene.py +112 -0
  399. terraingenpy-0.2.0.dev90/docs/gallery/queries/rover_traverse.py +80 -0
  400. terraingenpy-0.2.0.dev90/docs/gallery/relief/noise_blending.py +39 -0
  401. terraingenpy-0.2.0.dev90/docs/gallery/relief/noise_gain.py +29 -0
  402. terraingenpy-0.2.0.dev90/docs/gallery/relief/noise_lacunarity.py +31 -0
  403. terraingenpy-0.2.0.dev90/docs/gallery/relief/noise_octaves.py +29 -0
  404. terraingenpy-0.2.0.dev90/docs/gallery/relief/noise_perlin.py +41 -0
  405. terraingenpy-0.2.0.dev90/docs/gallery/relief/noise_simplex.py +41 -0
  406. terraingenpy-0.2.0.dev90/docs/gallery/relief/noise_value.py +41 -0
  407. terraingenpy-0.2.0.dev90/docs/gallery/relief/noise_warp.py +32 -0
  408. terraingenpy-0.2.0.dev90/docs/gallery/relief/noise_worley.py +44 -0
  409. terraingenpy-0.2.0.dev90/docs/gallery/relief/roughness_lunar.py +81 -0
  410. terraingenpy-0.2.0.dev90/docs/gallery/relief/spectral_continuation.py +81 -0
  411. terraingenpy-0.2.0.dev90/docs/gallery/relief/upsampling.py +68 -0
  412. terraingenpy-0.2.0.dev90/docs/gallery/relief/upsampling_diamond_square.py +42 -0
  413. terraingenpy-0.2.0.dev90/docs/gallery/relief/upsampling_synthetic.py +53 -0
  414. terraingenpy-0.2.0.dev90/docs/gallery/sources/chain.py +93 -0
  415. terraingenpy-0.2.0.dev90/docs/overrides/css/extra.css +465 -0
  416. terraingenpy-0.2.0.dev90/docs/overrides/js/katex.js +12 -0
  417. terraingenpy-0.2.0.dev90/docs/overrides/main.html +7 -0
  418. terraingenpy-0.2.0.dev90/docs/overrides/partials/languages/custom.html +5 -0
  419. terraingenpy-0.2.0.dev90/docs/requirements.txt +14 -0
  420. terraingenpy-0.2.0.dev90/docs/scripts/gallery_page.py +119 -0
  421. terraingenpy-0.2.0.dev90/docs/scripts/generate_schema.py +398 -0
  422. terraingenpy-0.2.0.dev90/docs/snippets/craters/crater_layer.cpp +50 -0
  423. terraingenpy-0.2.0.dev90/docs/snippets/craters/crater_layer.py +41 -0
  424. terraingenpy-0.2.0.dev90/mkdocs.yml +234 -0
  425. terraingenpy-0.2.0.dev90/pyproject.toml +98 -0
  426. terraingenpy-0.2.0.dev90/terraingen/CMakeLists.txt +126 -0
  427. terraingenpy-0.2.0.dev90/terraingen/albedo/CMakeLists.txt +25 -0
  428. terraingenpy-0.2.0.dev90/terraingen/albedo/albedo.cpp +159 -0
  429. terraingenpy-0.2.0.dev90/terraingen/albedo/albedo.h +135 -0
  430. terraingenpy-0.2.0.dev90/terraingen/albedo/bands.cpp +80 -0
  431. terraingenpy-0.2.0.dev90/terraingen/albedo/bands.h +80 -0
  432. terraingenpy-0.2.0.dev90/terraingen/albedo/blast_zones.cpp +113 -0
  433. terraingenpy-0.2.0.dev90/terraingen/albedo/blast_zones.h +78 -0
  434. terraingenpy-0.2.0.dev90/terraingen/albedo/crater_albedo.cpp +564 -0
  435. terraingenpy-0.2.0.dev90/terraingen/albedo/crater_albedo.h +91 -0
  436. terraingenpy-0.2.0.dev90/terraingen/albedo/crater_albedo_options.cpp +181 -0
  437. terraingenpy-0.2.0.dev90/terraingen/albedo/crater_albedo_options.h +351 -0
  438. terraingenpy-0.2.0.dev90/terraingen/albedo/maturity.cpp +22 -0
  439. terraingenpy-0.2.0.dev90/terraingen/albedo/maturity.h +23 -0
  440. terraingenpy-0.2.0.dev90/terraingen/albedo/photometry.cpp +95 -0
  441. terraingenpy-0.2.0.dev90/terraingen/albedo/photometry.h +55 -0
  442. terraingenpy-0.2.0.dev90/terraingen/albedo/raster_albedo.cpp +157 -0
  443. terraingenpy-0.2.0.dev90/terraingen/albedo/raster_albedo.h +112 -0
  444. terraingenpy-0.2.0.dev90/terraingen/albedo/rock_albedo.cpp +113 -0
  445. terraingenpy-0.2.0.dev90/terraingen/albedo/rock_albedo.h +75 -0
  446. terraingenpy-0.2.0.dev90/terraingen/albedo/slope_albedo.cpp +157 -0
  447. terraingenpy-0.2.0.dev90/terraingen/albedo/slope_albedo.h +79 -0
  448. terraingenpy-0.2.0.dev90/terraingen/albedo/splotches.cpp +446 -0
  449. terraingenpy-0.2.0.dev90/terraingen/albedo/splotches.h +190 -0
  450. terraingenpy-0.2.0.dev90/terraingen/albedo/synthetic.cpp +71 -0
  451. terraingenpy-0.2.0.dev90/terraingen/albedo/synthetic.h +89 -0
  452. terraingenpy-0.2.0.dev90/terraingen/albedo/zone_shadows.cpp +146 -0
  453. terraingenpy-0.2.0.dev90/terraingen/albedo/zone_shadows.h +60 -0
  454. terraingenpy-0.2.0.dev90/terraingen/app/CMakeLists.txt +33 -0
  455. terraingenpy-0.2.0.dev90/terraingen/app/cli.cpp +348 -0
  456. terraingenpy-0.2.0.dev90/terraingen/app/cli.h +66 -0
  457. terraingenpy-0.2.0.dev90/terraingen/app/gui/CMakeLists.txt +10 -0
  458. terraingenpy-0.2.0.dev90/terraingen/app/gui/config_editor.cpp +923 -0
  459. terraingenpy-0.2.0.dev90/terraingen/app/gui/config_editor.h +130 -0
  460. terraingenpy-0.2.0.dev90/terraingen/app/gui/gui_app.cpp +511 -0
  461. terraingenpy-0.2.0.dev90/terraingen/app/gui/gui_app.h +144 -0
  462. terraingenpy-0.2.0.dev90/terraingen/app/gui/run.cpp +33 -0
  463. terraingenpy-0.2.0.dev90/terraingen/app/gui/run.h +26 -0
  464. terraingenpy-0.2.0.dev90/terraingen/app/gui/run_none.cpp +19 -0
  465. terraingenpy-0.2.0.dev90/terraingen/app/gui/terrain_scene.cpp +96 -0
  466. terraingenpy-0.2.0.dev90/terraingen/app/gui/terrain_scene.h +38 -0
  467. terraingenpy-0.2.0.dev90/terraingen/app/gui/widgets.h +36 -0
  468. terraingenpy-0.2.0.dev90/terraingen/app/main.cpp +12 -0
  469. terraingenpy-0.2.0.dev90/terraingen/config/CMakeLists.txt +23 -0
  470. terraingenpy-0.2.0.dev90/terraingen/config/build.cpp +1085 -0
  471. terraingenpy-0.2.0.dev90/terraingen/config/build.h +205 -0
  472. terraingenpy-0.2.0.dev90/terraingen/config/config.cpp +106 -0
  473. terraingenpy-0.2.0.dev90/terraingen/config/config.h +871 -0
  474. terraingenpy-0.2.0.dev90/terraingen/config/fields/albedo.h +566 -0
  475. terraingenpy-0.2.0.dev90/terraingen/config/fields/boulders.h +609 -0
  476. terraingenpy-0.2.0.dev90/terraingen/config/fields/checks.h +71 -0
  477. terraingenpy-0.2.0.dev90/terraingen/config/fields/common.h +309 -0
  478. terraingenpy-0.2.0.dev90/terraingen/config/fields/crater_models.h +298 -0
  479. terraingenpy-0.2.0.dev90/terraingen/config/fields/craters.h +552 -0
  480. terraingenpy-0.2.0.dev90/terraingen/config/fields/enums.h +420 -0
  481. terraingenpy-0.2.0.dev90/terraingen/config/fields/fields.h +47 -0
  482. terraingenpy-0.2.0.dev90/terraingen/config/fields/json_io.h +390 -0
  483. terraingenpy-0.2.0.dev90/terraingen/config/fields/layers.h +647 -0
  484. terraingenpy-0.2.0.dev90/terraingen/config/fields/maps.h +64 -0
  485. terraingenpy-0.2.0.dev90/terraingen/config/fields/materials.h +62 -0
  486. terraingenpy-0.2.0.dev90/terraingen/config/fields/outputs.h +200 -0
  487. terraingenpy-0.2.0.dev90/terraingen/config/fields/ranges.h +143 -0
  488. terraingenpy-0.2.0.dev90/terraingen/config/fields/sources.h +208 -0
  489. terraingenpy-0.2.0.dev90/terraingen/config/generate.cpp +591 -0
  490. terraingenpy-0.2.0.dev90/terraingen/config/generate.h +105 -0
  491. terraingenpy-0.2.0.dev90/terraingen/config/json.cpp +261 -0
  492. terraingenpy-0.2.0.dev90/terraingen/config/json.h +90 -0
  493. terraingenpy-0.2.0.dev90/terraingen/config/ranges.cpp +85 -0
  494. terraingenpy-0.2.0.dev90/terraingen/config/schema.cpp +276 -0
  495. terraingenpy-0.2.0.dev90/terraingen/config/validate.cpp +1042 -0
  496. terraingenpy-0.2.0.dev90/terraingen/config/validate.h +53 -0
  497. terraingenpy-0.2.0.dev90/terraingen/distribution/CMakeLists.txt +27 -0
  498. terraingenpy-0.2.0.dev90/terraingen/distribution/composition.cpp +64 -0
  499. terraingenpy-0.2.0.dev90/terraingen/distribution/composition.h +140 -0
  500. terraingenpy-0.2.0.dev90/terraingen/distribution/equilibrium.cpp +17 -0
  501. terraingenpy-0.2.0.dev90/terraingen/distribution/equilibrium.h +19 -0
  502. terraingenpy-0.2.0.dev90/terraingen/distribution/golombek_rapp.cpp +44 -0
  503. terraingenpy-0.2.0.dev90/terraingen/distribution/golombek_rapp.h +43 -0
  504. terraingenpy-0.2.0.dev90/terraingen/distribution/ivanov.cpp +31 -0
  505. terraingenpy-0.2.0.dev90/terraingen/distribution/ivanov.h +28 -0
  506. terraingenpy-0.2.0.dev90/terraingen/distribution/log_polynomial.cpp +63 -0
  507. terraingenpy-0.2.0.dev90/terraingen/distribution/log_polynomial.h +47 -0
  508. terraingenpy-0.2.0.dev90/terraingen/distribution/minimum.cpp +46 -0
  509. terraingenpy-0.2.0.dev90/terraingen/distribution/minimum.h +48 -0
  510. terraingenpy-0.2.0.dev90/terraingen/distribution/moore.cpp +32 -0
  511. terraingenpy-0.2.0.dev90/terraingen/distribution/moore.h +24 -0
  512. terraingenpy-0.2.0.dev90/terraingen/distribution/neukum.cpp +44 -0
  513. terraingenpy-0.2.0.dev90/terraingen/distribution/neukum.h +34 -0
  514. terraingenpy-0.2.0.dev90/terraingen/distribution/piecewise_power_law.cpp +62 -0
  515. terraingenpy-0.2.0.dev90/terraingen/distribution/piecewise_power_law.h +56 -0
  516. terraingenpy-0.2.0.dev90/terraingen/distribution/piecewise_uniform.cpp +107 -0
  517. terraingenpy-0.2.0.dev90/terraingen/distribution/piecewise_uniform.h +63 -0
  518. terraingenpy-0.2.0.dev90/terraingen/distribution/power_law.cpp +36 -0
  519. terraingenpy-0.2.0.dev90/terraingen/distribution/power_law.h +80 -0
  520. terraingenpy-0.2.0.dev90/terraingen/distribution/production_surface.cpp +65 -0
  521. terraingenpy-0.2.0.dev90/terraingen/distribution/production_surface.h +76 -0
  522. terraingenpy-0.2.0.dev90/terraingen/distribution/size_frequency.cpp +168 -0
  523. terraingenpy-0.2.0.dev90/terraingen/distribution/size_frequency.h +128 -0
  524. terraingenpy-0.2.0.dev90/terraingen/distribution/sp8023.cpp +128 -0
  525. terraingenpy-0.2.0.dev90/terraingen/distribution/sp8023.h +24 -0
  526. terraingenpy-0.2.0.dev90/terraingen/distribution/spliced.cpp +69 -0
  527. terraingenpy-0.2.0.dev90/terraingen/distribution/spliced.h +58 -0
  528. terraingenpy-0.2.0.dev90/terraingen/distribution/summed.cpp +50 -0
  529. terraingenpy-0.2.0.dev90/terraingen/distribution/summed.h +48 -0
  530. terraingenpy-0.2.0.dev90/terraingen/distribution/synthterrain.cpp +21 -0
  531. terraingenpy-0.2.0.dev90/terraingen/distribution/synthterrain.h +24 -0
  532. terraingenpy-0.2.0.dev90/terraingen/distribution/tabulated.cpp +82 -0
  533. terraingenpy-0.2.0.dev90/terraingen/distribution/tabulated.h +57 -0
  534. terraingenpy-0.2.0.dev90/terraingen/distribution/viper.cpp +15 -0
  535. terraingenpy-0.2.0.dev90/terraingen/distribution/viper.h +16 -0
  536. terraingenpy-0.2.0.dev90/terraingen/gpu/CMakeLists.txt +27 -0
  537. terraingenpy-0.2.0.dev90/terraingen/gpu/backend.cpp +185 -0
  538. terraingenpy-0.2.0.dev90/terraingen/gpu/backend.h +72 -0
  539. terraingenpy-0.2.0.dev90/terraingen/gpu/cuda.cpp +316 -0
  540. terraingenpy-0.2.0.dev90/terraingen/gpu/cuda.h +47 -0
  541. terraingenpy-0.2.0.dev90/terraingen/gpu/device.h +126 -0
  542. terraingenpy-0.2.0.dev90/terraingen/gpu/kernel.cpp +155 -0
  543. terraingenpy-0.2.0.dev90/terraingen/gpu/kernel.h +49 -0
  544. terraingenpy-0.2.0.dev90/terraingen/gpu/kernel.slang +39 -0
  545. terraingenpy-0.2.0.dev90/terraingen/gpu/metal.cpp +181 -0
  546. terraingenpy-0.2.0.dev90/terraingen/gpu/metal.h +46 -0
  547. terraingenpy-0.2.0.dev90/terraingen/gpu/program.h +24 -0
  548. terraingenpy-0.2.0.dev90/terraingen/gpu/vulkan.cpp +555 -0
  549. terraingenpy-0.2.0.dev90/terraingen/gpu/vulkan.h +67 -0
  550. terraingenpy-0.2.0.dev90/terraingen/layers/CMakeLists.txt +86 -0
  551. terraingenpy-0.2.0.dev90/terraingen/layers/anchored_plane.cpp +24 -0
  552. terraingenpy-0.2.0.dev90/terraingen/layers/anchored_plane.h +29 -0
  553. terraingenpy-0.2.0.dev90/terraingen/layers/bedforms.cpp +186 -0
  554. terraingenpy-0.2.0.dev90/terraingen/layers/bedforms.h +130 -0
  555. terraingenpy-0.2.0.dev90/terraingen/layers/boulders/boulder.cpp +153 -0
  556. terraingenpy-0.2.0.dev90/terraingen/layers/boulders/boulder.h +345 -0
  557. terraingenpy-0.2.0.dev90/terraingen/layers/boulders/boulder_abundance.cpp +182 -0
  558. terraingenpy-0.2.0.dev90/terraingen/layers/boulders/boulder_abundance.h +85 -0
  559. terraingenpy-0.2.0.dev90/terraingen/layers/boulders/boulder_clusters.cpp +60 -0
  560. terraingenpy-0.2.0.dev90/terraingen/layers/boulders/boulder_clusters.h +48 -0
  561. terraingenpy-0.2.0.dev90/terraingen/layers/boulders/boulder_fragments.cpp +107 -0
  562. terraingenpy-0.2.0.dev90/terraingen/layers/boulders/boulder_fragments.h +42 -0
  563. terraingenpy-0.2.0.dev90/terraingen/layers/boulders/boulder_layer.cpp +381 -0
  564. terraingenpy-0.2.0.dev90/terraingen/layers/boulders/boulder_layer.h +409 -0
  565. terraingenpy-0.2.0.dev90/terraingen/layers/boulders/boulder_layer_abundance.cpp +368 -0
  566. terraingenpy-0.2.0.dev90/terraingen/layers/boulders/boulder_models.cpp +310 -0
  567. terraingenpy-0.2.0.dev90/terraingen/layers/boulders/boulder_models.h +103 -0
  568. terraingenpy-0.2.0.dev90/terraingen/layers/boulders/boulder_options.cpp +363 -0
  569. terraingenpy-0.2.0.dev90/terraingen/layers/boulders/boulder_options.h +518 -0
  570. terraingenpy-0.2.0.dev90/terraingen/layers/boulders/boulder_placer.h +43 -0
  571. terraingenpy-0.2.0.dev90/terraingen/layers/boulders/boulder_pose.cpp +327 -0
  572. terraingenpy-0.2.0.dev90/terraingen/layers/boulders/boulder_relief.cpp +474 -0
  573. terraingenpy-0.2.0.dev90/terraingen/layers/boulders/boulder_shape.cpp +497 -0
  574. terraingenpy-0.2.0.dev90/terraingen/layers/boulders/boulder_shape.h +127 -0
  575. terraingenpy-0.2.0.dev90/terraingen/layers/boulders/ejecta_index.cpp +48 -0
  576. terraingenpy-0.2.0.dev90/terraingen/layers/boulders/ejecta_index.h +53 -0
  577. terraingenpy-0.2.0.dev90/terraingen/layers/craters/ages/age_model.cpp +51 -0
  578. terraingenpy-0.2.0.dev90/terraingen/layers/craters/ages/age_model.h +60 -0
  579. terraingenpy-0.2.0.dev90/terraingen/layers/craters/ages/freshness_ages.cpp +41 -0
  580. terraingenpy-0.2.0.dev90/terraingen/layers/craters/ages/freshness_ages.h +39 -0
  581. terraingenpy-0.2.0.dev90/terraingen/layers/craters/ages/steady_state.cpp +72 -0
  582. terraingenpy-0.2.0.dev90/terraingen/layers/craters/ages/steady_state.h +75 -0
  583. terraingenpy-0.2.0.dev90/terraingen/layers/craters/band_buckets.h +94 -0
  584. terraingenpy-0.2.0.dev90/terraingen/layers/craters/crater.cpp +118 -0
  585. terraingenpy-0.2.0.dev90/terraingen/layers/craters/crater.h +228 -0
  586. terraingenpy-0.2.0.dev90/terraingen/layers/craters/crater_layer.cpp +255 -0
  587. terraingenpy-0.2.0.dev90/terraingen/layers/craters/crater_layer.h +178 -0
  588. terraingenpy-0.2.0.dev90/terraingen/layers/craters/crater_placer.cpp +34 -0
  589. terraingenpy-0.2.0.dev90/terraingen/layers/craters/crater_placer.h +50 -0
  590. terraingenpy-0.2.0.dev90/terraingen/layers/craters/degradation/degradation_model.cpp +50 -0
  591. terraingenpy-0.2.0.dev90/terraingen/layers/craters/degradation/degradation_model.h +69 -0
  592. terraingenpy-0.2.0.dev90/terraingen/layers/craters/degradation/diffusion.cpp +320 -0
  593. terraingenpy-0.2.0.dev90/terraingen/layers/craters/degradation/diffusion.h +171 -0
  594. terraingenpy-0.2.0.dev90/terraingen/layers/craters/degradation/diffusivities.cpp +72 -0
  595. terraingenpy-0.2.0.dev90/terraingen/layers/craters/degradation/diffusivities.h +61 -0
  596. terraingenpy-0.2.0.dev90/terraingen/layers/craters/degradation/freshness_degradation.cpp +33 -0
  597. terraingenpy-0.2.0.dev90/terraingen/layers/craters/degradation/freshness_degradation.h +40 -0
  598. terraingenpy-0.2.0.dev90/terraingen/layers/craters/degradation/state.h +56 -0
  599. terraingenpy-0.2.0.dev90/terraingen/layers/craters/generation/cell_cache.cpp +43 -0
  600. terraingenpy-0.2.0.dev90/terraingen/layers/craters/generation/cell_cache.h +69 -0
  601. terraingenpy-0.2.0.dev90/terraingen/layers/craters/generation/population.cpp +411 -0
  602. terraingenpy-0.2.0.dev90/terraingen/layers/craters/generation/population.h +161 -0
  603. terraingenpy-0.2.0.dev90/terraingen/layers/craters/generation/spacing.cpp +132 -0
  604. terraingenpy-0.2.0.dev90/terraingen/layers/craters/generation/spacing.h +78 -0
  605. terraingenpy-0.2.0.dev90/terraingen/layers/craters/profiles/complex.cpp +79 -0
  606. terraingenpy-0.2.0.dev90/terraingen/layers/craters/profiles/complex.h +107 -0
  607. terraingenpy-0.2.0.dev90/terraingen/layers/craters/profiles/fassett_thomson.cpp +21 -0
  608. terraingenpy-0.2.0.dev90/terraingen/layers/craters/profiles/fassett_thomson.h +48 -0
  609. terraingenpy-0.2.0.dev90/terraingen/layers/craters/profiles/martin_parkes_dunstan.cpp +22 -0
  610. terraingenpy-0.2.0.dev90/terraingen/layers/craters/profiles/martin_parkes_dunstan.h +38 -0
  611. terraingenpy-0.2.0.dev90/terraingen/layers/craters/profiles/profile.h +45 -0
  612. terraingenpy-0.2.0.dev90/terraingen/layers/craters/rays.cpp +41 -0
  613. terraingenpy-0.2.0.dev90/terraingen/layers/craters/rays.h +48 -0
  614. terraingenpy-0.2.0.dev90/terraingen/layers/craters/secondaries.cpp +416 -0
  615. terraingenpy-0.2.0.dev90/terraingen/layers/craters/secondaries.h +103 -0
  616. terraingenpy-0.2.0.dev90/terraingen/layers/craters/secondary_model.cpp +260 -0
  617. terraingenpy-0.2.0.dev90/terraingen/layers/craters/secondary_model.h +241 -0
  618. terraingenpy-0.2.0.dev90/terraingen/layers/craters/shaping/apply.cpp +374 -0
  619. terraingenpy-0.2.0.dev90/terraingen/layers/craters/shaping/apply.h +95 -0
  620. terraingenpy-0.2.0.dev90/terraingen/layers/craters/shaping/apply_options.cpp +184 -0
  621. terraingenpy-0.2.0.dev90/terraingen/layers/craters/shaping/apply_options.h +337 -0
  622. terraingenpy-0.2.0.dev90/terraingen/layers/craters/shaping/attributes.cpp +32 -0
  623. terraingenpy-0.2.0.dev90/terraingen/layers/craters/shaping/attributes.h +40 -0
  624. terraingenpy-0.2.0.dev90/terraingen/layers/craters/shaping/crater_kernel.cpp +610 -0
  625. terraingenpy-0.2.0.dev90/terraingen/layers/craters/shaping/crater_kernel.h +94 -0
  626. terraingenpy-0.2.0.dev90/terraingen/layers/craters/shaping/datum.cpp +60 -0
  627. terraingenpy-0.2.0.dev90/terraingen/layers/craters/shaping/datum.h +73 -0
  628. terraingenpy-0.2.0.dev90/terraingen/layers/craters/shaping/datum_fit.cpp +726 -0
  629. terraingenpy-0.2.0.dev90/terraingen/layers/craters/shaping/datum_fit.h +36 -0
  630. terraingenpy-0.2.0.dev90/terraingen/layers/craters/shaping/irregularity.cpp +388 -0
  631. terraingenpy-0.2.0.dev90/terraingen/layers/craters/shaping/irregularity.h +195 -0
  632. terraingenpy-0.2.0.dev90/terraingen/layers/craters/shaping/morphometry.cpp +71 -0
  633. terraingenpy-0.2.0.dev90/terraingen/layers/craters/shaping/morphometry.h +50 -0
  634. terraingenpy-0.2.0.dev90/terraingen/layers/craters/shaping/prepared.cpp +33 -0
  635. terraingenpy-0.2.0.dev90/terraingen/layers/craters/shaping/prepared.h +49 -0
  636. terraingenpy-0.2.0.dev90/terraingen/layers/craters/shaping/resolved_state.cpp +147 -0
  637. terraingenpy-0.2.0.dev90/terraingen/layers/craters/shaping/resolved_state.h +39 -0
  638. terraingenpy-0.2.0.dev90/terraingen/layers/craters/shaping/slope.cpp +61 -0
  639. terraingenpy-0.2.0.dev90/terraingen/layers/craters/shaping/slope.h +79 -0
  640. terraingenpy-0.2.0.dev90/terraingen/layers/density_map.cpp +116 -0
  641. terraingenpy-0.2.0.dev90/terraingen/layers/density_map.h +136 -0
  642. terraingenpy-0.2.0.dev90/terraingen/layers/dunes.cpp +658 -0
  643. terraingenpy-0.2.0.dev90/terraingen/layers/dunes.h +276 -0
  644. terraingenpy-0.2.0.dev90/terraingen/layers/evaluation_cache.h +70 -0
  645. terraingenpy-0.2.0.dev90/terraingen/layers/exposure.cpp +126 -0
  646. terraingenpy-0.2.0.dev90/terraingen/layers/exposure.h +115 -0
  647. terraingenpy-0.2.0.dev90/terraingen/layers/fade.cpp +52 -0
  648. terraingenpy-0.2.0.dev90/terraingen/layers/fade.h +47 -0
  649. terraingenpy-0.2.0.dev90/terraingen/layers/ground.cpp +43 -0
  650. terraingenpy-0.2.0.dev90/terraingen/layers/ground.h +59 -0
  651. terraingenpy-0.2.0.dev90/terraingen/layers/kernel.h +37 -0
  652. terraingenpy-0.2.0.dev90/terraingen/layers/kernels/cell.h +18 -0
  653. terraingenpy-0.2.0.dev90/terraingen/layers/kernels/crater_body_datums.slang +42 -0
  654. terraingenpy-0.2.0.dev90/terraingen/layers/kernels/crater_datums.slang +36 -0
  655. terraingenpy-0.2.0.dev90/terraingen/layers/kernels/craters.h +1331 -0
  656. terraingenpy-0.2.0.dev90/terraingen/layers/kernels/craters.slang +60 -0
  657. terraingenpy-0.2.0.dev90/terraingen/layers/kernels/noise_relief.h +54 -0
  658. terraingenpy-0.2.0.dev90/terraingen/layers/kernels/noise_relief.slang +26 -0
  659. terraingenpy-0.2.0.dev90/terraingen/layers/lattice.h +36 -0
  660. terraingenpy-0.2.0.dev90/terraingen/layers/layer.cpp +62 -0
  661. terraingenpy-0.2.0.dev90/terraingen/layers/layer.h +106 -0
  662. terraingenpy-0.2.0.dev90/terraingen/layers/masked.cpp +356 -0
  663. terraingenpy-0.2.0.dev90/terraingen/layers/masked.h +153 -0
  664. terraingenpy-0.2.0.dev90/terraingen/layers/material.cpp +36 -0
  665. terraingenpy-0.2.0.dev90/terraingen/layers/material.h +64 -0
  666. terraingenpy-0.2.0.dev90/terraingen/layers/noise_relief.cpp +67 -0
  667. terraingenpy-0.2.0.dev90/terraingen/layers/noise_relief.h +77 -0
  668. terraingenpy-0.2.0.dev90/terraingen/layers/pavement.cpp +240 -0
  669. terraingenpy-0.2.0.dev90/terraingen/layers/pavement.h +131 -0
  670. terraingenpy-0.2.0.dev90/terraingen/layers/prefetched_ground.cpp +91 -0
  671. terraingenpy-0.2.0.dev90/terraingen/layers/prefetched_ground.h +133 -0
  672. terraingenpy-0.2.0.dev90/terraingen/layers/roughness.cpp +153 -0
  673. terraingenpy-0.2.0.dev90/terraingen/layers/roughness.h +94 -0
  674. terraingenpy-0.2.0.dev90/terraingen/layers/roughness_estimate.cpp +138 -0
  675. terraingenpy-0.2.0.dev90/terraingen/layers/roughness_estimate.h +57 -0
  676. terraingenpy-0.2.0.dev90/terraingen/layers/sample_block.cpp +57 -0
  677. terraingenpy-0.2.0.dev90/terraingen/layers/sample_block.h +118 -0
  678. terraingenpy-0.2.0.dev90/terraingen/layers/sand_fill.cpp +81 -0
  679. terraingenpy-0.2.0.dev90/terraingen/layers/sand_fill.h +78 -0
  680. terraingenpy-0.2.0.dev90/terraingen/layers/sand_shadow.cpp +134 -0
  681. terraingenpy-0.2.0.dev90/terraingen/layers/sand_shadow.h +108 -0
  682. terraingenpy-0.2.0.dev90/terraingen/layers/source_resolved.cpp +62 -0
  683. terraingenpy-0.2.0.dev90/terraingen/layers/source_resolved.h +46 -0
  684. terraingenpy-0.2.0.dev90/terraingen/layers/spectral_continuation.cpp +237 -0
  685. terraingenpy-0.2.0.dev90/terraingen/layers/spectral_continuation.h +99 -0
  686. terraingenpy-0.2.0.dev90/terraingen/layers/strata.cpp +132 -0
  687. terraingenpy-0.2.0.dev90/terraingen/layers/strata.h +111 -0
  688. terraingenpy-0.2.0.dev90/terraingen/layers/transforms.cpp +57 -0
  689. terraingenpy-0.2.0.dev90/terraingen/layers/transforms.h +95 -0
  690. terraingenpy-0.2.0.dev90/terraingen/mesh/CMakeLists.txt +19 -0
  691. terraingenpy-0.2.0.dev90/terraingen/mesh/io/formats.h +71 -0
  692. terraingenpy-0.2.0.dev90/terraingen/mesh/io/gltf.cpp +335 -0
  693. terraingenpy-0.2.0.dev90/terraingen/mesh/io/icq.cpp +213 -0
  694. terraingenpy-0.2.0.dev90/terraingen/mesh/io/icq.h +81 -0
  695. terraingenpy-0.2.0.dev90/terraingen/mesh/io/mesh_io.cpp +110 -0
  696. terraingenpy-0.2.0.dev90/terraingen/mesh/io/mesh_io.h +79 -0
  697. terraingenpy-0.2.0.dev90/terraingen/mesh/io/obj.cpp +117 -0
  698. terraingenpy-0.2.0.dev90/terraingen/mesh/io/stl.cpp +137 -0
  699. terraingenpy-0.2.0.dev90/terraingen/mesh/mesh.cpp +246 -0
  700. terraingenpy-0.2.0.dev90/terraingen/mesh/mesh.h +111 -0
  701. terraingenpy-0.2.0.dev90/terraingen/mesh/polyhedra.cpp +168 -0
  702. terraingenpy-0.2.0.dev90/terraingen/mesh/polyhedra.h +34 -0
  703. terraingenpy-0.2.0.dev90/terraingen/mesh/shape_model.cpp +180 -0
  704. terraingenpy-0.2.0.dev90/terraingen/mesh/shape_model.h +23 -0
  705. terraingenpy-0.2.0.dev90/terraingen/noise/CMakeLists.txt +12 -0
  706. terraingenpy-0.2.0.dev90/terraingen/noise/fractal.h +316 -0
  707. terraingenpy-0.2.0.dev90/terraingen/noise/hash.h +85 -0
  708. terraingenpy-0.2.0.dev90/terraingen/noise/lattice.h +135 -0
  709. terraingenpy-0.2.0.dev90/terraingen/noise/noise_layers.h +244 -0
  710. terraingenpy-0.2.0.dev90/terraingen/noise/perlin.h +156 -0
  711. terraingenpy-0.2.0.dev90/terraingen/noise/simplex.h +124 -0
  712. terraingenpy-0.2.0.dev90/terraingen/noise/structure_function.cpp +59 -0
  713. terraingenpy-0.2.0.dev90/terraingen/noise/structure_function.h +17 -0
  714. terraingenpy-0.2.0.dev90/terraingen/noise/surface_noise.cpp +20 -0
  715. terraingenpy-0.2.0.dev90/terraingen/noise/surface_noise.h +21 -0
  716. terraingenpy-0.2.0.dev90/terraingen/noise/validate.cpp +55 -0
  717. terraingenpy-0.2.0.dev90/terraingen/noise/validate.h +28 -0
  718. terraingenpy-0.2.0.dev90/terraingen/noise/value.h +75 -0
  719. terraingenpy-0.2.0.dev90/terraingen/noise/worley.h +124 -0
  720. terraingenpy-0.2.0.dev90/terraingen/pipeline/CMakeLists.txt +23 -0
  721. terraingenpy-0.2.0.dev90/terraingen/pipeline/body_mesh.cpp +114 -0
  722. terraingenpy-0.2.0.dev90/terraingen/pipeline/body_mesh.h +39 -0
  723. terraingenpy-0.2.0.dev90/terraingen/pipeline/feature_lists.cpp +276 -0
  724. terraingenpy-0.2.0.dev90/terraingen/pipeline/feature_lists.h +53 -0
  725. terraingenpy-0.2.0.dev90/terraingen/pipeline/generator.cpp +355 -0
  726. terraingenpy-0.2.0.dev90/terraingen/pipeline/generator.h +194 -0
  727. terraingenpy-0.2.0.dev90/terraingen/pipeline/materials.cpp +125 -0
  728. terraingenpy-0.2.0.dev90/terraingen/pipeline/materials.h +58 -0
  729. terraingenpy-0.2.0.dev90/terraingen/pipeline/mesh_build.cpp +256 -0
  730. terraingenpy-0.2.0.dev90/terraingen/pipeline/mesh_build.h +73 -0
  731. terraingenpy-0.2.0.dev90/terraingen/pipeline/report.cpp +282 -0
  732. terraingenpy-0.2.0.dev90/terraingen/pipeline/report.h +112 -0
  733. terraingenpy-0.2.0.dev90/terraingen/python/CMakeLists.txt +62 -0
  734. terraingenpy-0.2.0.dev90/terraingen/python/src/albedo.cpp +456 -0
  735. terraingenpy-0.2.0.dev90/terraingen/python/src/arrays.h +77 -0
  736. terraingenpy-0.2.0.dev90/terraingen/python/src/bindings.h +29 -0
  737. terraingenpy-0.2.0.dev90/terraingen/python/src/boulders.cpp +578 -0
  738. terraingenpy-0.2.0.dev90/terraingen/python/src/casters.h +86 -0
  739. terraingenpy-0.2.0.dev90/terraingen/python/src/chain_seams.cpp +37 -0
  740. terraingenpy-0.2.0.dev90/terraingen/python/src/common.h +51 -0
  741. terraingenpy-0.2.0.dev90/terraingen/python/src/crater_models.cpp +428 -0
  742. terraingenpy-0.2.0.dev90/terraingen/python/src/craters.cpp +641 -0
  743. terraingenpy-0.2.0.dev90/terraingen/python/src/distribution.cpp +389 -0
  744. terraingenpy-0.2.0.dev90/terraingen/python/src/gpu.cpp +48 -0
  745. terraingenpy-0.2.0.dev90/terraingen/python/src/layers.cpp +495 -0
  746. terraingenpy-0.2.0.dev90/terraingen/python/src/materials.cpp +107 -0
  747. terraingenpy-0.2.0.dev90/terraingen/python/src/mesh.cpp +262 -0
  748. terraingenpy-0.2.0.dev90/terraingen/python/src/module.cpp +29 -0
  749. terraingenpy-0.2.0.dev90/terraingen/python/src/noise.cpp +374 -0
  750. terraingenpy-0.2.0.dev90/terraingen/python/src/objects.h +125 -0
  751. terraingenpy-0.2.0.dev90/terraingen/python/src/options.h +335 -0
  752. terraingenpy-0.2.0.dev90/terraingen/python/src/pipeline.cpp +623 -0
  753. terraingenpy-0.2.0.dev90/terraingen/python/src/random.cpp +131 -0
  754. terraingenpy-0.2.0.dev90/terraingen/python/src/raster.cpp +288 -0
  755. terraingenpy-0.2.0.dev90/terraingen/python/src/report.cpp +105 -0
  756. terraingenpy-0.2.0.dev90/terraingen/python/src/sources.cpp +499 -0
  757. terraingenpy-0.2.0.dev90/terraingen/python/src/tables.h +82 -0
  758. terraingenpy-0.2.0.dev90/terraingen/python/src/trampolines.h +87 -0
  759. terraingenpy-0.2.0.dev90/terraingen/python/src/util.cpp +245 -0
  760. terraingenpy-0.2.0.dev90/terraingen/python/terraingen/__init__.py +41 -0
  761. terraingenpy-0.2.0.dev90/terraingen/python/terraingen/render.py +242 -0
  762. terraingenpy-0.2.0.dev90/terraingen/random/CMakeLists.txt +10 -0
  763. terraingenpy-0.2.0.dev90/terraingen/random/philox.h +93 -0
  764. terraingenpy-0.2.0.dev90/terraingen/random/samplers.cpp +75 -0
  765. terraingenpy-0.2.0.dev90/terraingen/random/samplers.h +25 -0
  766. terraingenpy-0.2.0.dev90/terraingen/random/stream.cpp +27 -0
  767. terraingenpy-0.2.0.dev90/terraingen/random/stream.h +66 -0
  768. terraingenpy-0.2.0.dev90/terraingen/random/streams.h +153 -0
  769. terraingenpy-0.2.0.dev90/terraingen/random/value_distribution.cpp +142 -0
  770. terraingenpy-0.2.0.dev90/terraingen/random/value_distribution.h +98 -0
  771. terraingenpy-0.2.0.dev90/terraingen/raster/CMakeLists.txt +22 -0
  772. terraingenpy-0.2.0.dev90/terraingen/raster/cell_loops.cpp +70 -0
  773. terraingenpy-0.2.0.dev90/terraingen/raster/cell_loops.h +172 -0
  774. terraingenpy-0.2.0.dev90/terraingen/raster/geo_transform.h +81 -0
  775. terraingenpy-0.2.0.dev90/terraingen/raster/geotiff/geotiff.cpp +123 -0
  776. terraingenpy-0.2.0.dev90/terraingen/raster/geotiff/geotiff.h +181 -0
  777. terraingenpy-0.2.0.dev90/terraingen/raster/geotiff/geotiff_read.cpp +699 -0
  778. terraingenpy-0.2.0.dev90/terraingen/raster/geotiff/geotiff_write.cpp +302 -0
  779. terraingenpy-0.2.0.dev90/terraingen/raster/geotiff/tiff_codecs.cpp +383 -0
  780. terraingenpy-0.2.0.dev90/terraingen/raster/geotiff/tiff_codecs.h +54 -0
  781. terraingenpy-0.2.0.dev90/terraingen/raster/geotiff/tiff_format.cpp +135 -0
  782. terraingenpy-0.2.0.dev90/terraingen/raster/geotiff/tiff_format.h +171 -0
  783. terraingenpy-0.2.0.dev90/terraingen/raster/grid.cpp +142 -0
  784. terraingenpy-0.2.0.dev90/terraingen/raster/grid.h +104 -0
  785. terraingenpy-0.2.0.dev90/terraingen/raster/raster.h +166 -0
  786. terraingenpy-0.2.0.dev90/terraingen/raster/raster_stats.h +50 -0
  787. terraingenpy-0.2.0.dev90/terraingen/raster/resample.cpp +159 -0
  788. terraingenpy-0.2.0.dev90/terraingen/raster/resample.h +116 -0
  789. terraingenpy-0.2.0.dev90/terraingen/raster/spectrum.cpp +268 -0
  790. terraingenpy-0.2.0.dev90/terraingen/raster/spectrum.h +77 -0
  791. terraingenpy-0.2.0.dev90/terraingen/raster/variogram.cpp +81 -0
  792. terraingenpy-0.2.0.dev90/terraingen/raster/variogram.h +29 -0
  793. terraingenpy-0.2.0.dev90/terraingen/sources/CMakeLists.txt +19 -0
  794. terraingenpy-0.2.0.dev90/terraingen/sources/diamond_square.cpp +590 -0
  795. terraingenpy-0.2.0.dev90/terraingen/sources/diamond_square.h +216 -0
  796. terraingenpy-0.2.0.dev90/terraingen/sources/field.cpp +123 -0
  797. terraingenpy-0.2.0.dev90/terraingen/sources/field.h +141 -0
  798. terraingenpy-0.2.0.dev90/terraingen/sources/flat_source.cpp +32 -0
  799. terraingenpy-0.2.0.dev90/terraingen/sources/flat_source.h +60 -0
  800. terraingenpy-0.2.0.dev90/terraingen/sources/geotiff_source.cpp +106 -0
  801. terraingenpy-0.2.0.dev90/terraingen/sources/geotiff_source.h +110 -0
  802. terraingenpy-0.2.0.dev90/terraingen/sources/raster_source.cpp +230 -0
  803. terraingenpy-0.2.0.dev90/terraingen/sources/raster_source.h +210 -0
  804. terraingenpy-0.2.0.dev90/terraingen/sources/seam_field.cpp +703 -0
  805. terraingenpy-0.2.0.dev90/terraingen/sources/seam_field.h +57 -0
  806. terraingenpy-0.2.0.dev90/terraingen/sources/source.h +79 -0
  807. terraingenpy-0.2.0.dev90/terraingen/sources/source_chain.cpp +190 -0
  808. terraingenpy-0.2.0.dev90/terraingen/sources/source_chain.h +144 -0
  809. terraingenpy-0.2.0.dev90/terraingen/sources/synthetic_source.cpp +94 -0
  810. terraingenpy-0.2.0.dev90/terraingen/sources/synthetic_source.h +122 -0
  811. terraingenpy-0.2.0.dev90/terraingen/sources/terrain_base.h +47 -0
  812. terraingenpy-0.2.0.dev90/terraingen/sources/upsampling.cpp +334 -0
  813. terraingenpy-0.2.0.dev90/terraingen/sources/upsampling.h +247 -0
  814. terraingenpy-0.2.0.dev90/terraingen/terraingen.h +157 -0
  815. terraingenpy-0.2.0.dev90/terraingen/util/CMakeLists.txt +21 -0
  816. terraingenpy-0.2.0.dev90/terraingen/util/arithmetic.h +26 -0
  817. terraingenpy-0.2.0.dev90/terraingen/util/bisection.h +38 -0
  818. terraingenpy-0.2.0.dev90/terraingen/util/bits.h +31 -0
  819. terraingenpy-0.2.0.dev90/terraingen/util/build_info.cpp.in +13 -0
  820. terraingenpy-0.2.0.dev90/terraingen/util/build_info.h +24 -0
  821. terraingenpy-0.2.0.dev90/terraingen/util/cells.h +212 -0
  822. terraingenpy-0.2.0.dev90/terraingen/util/checks.cpp +48 -0
  823. terraingenpy-0.2.0.dev90/terraingen/util/checks.h +48 -0
  824. terraingenpy-0.2.0.dev90/terraingen/util/cube_faces.h +93 -0
  825. terraingenpy-0.2.0.dev90/terraingen/util/cube_sphere_cells.cpp +394 -0
  826. terraingenpy-0.2.0.dev90/terraingen/util/fft.cpp +77 -0
  827. terraingenpy-0.2.0.dev90/terraingen/util/fft.h +28 -0
  828. terraingenpy-0.2.0.dev90/terraingen/util/files.cpp +35 -0
  829. terraingenpy-0.2.0.dev90/terraingen/util/files.h +21 -0
  830. terraingenpy-0.2.0.dev90/terraingen/util/geometry.h +166 -0
  831. terraingenpy-0.2.0.dev90/terraingen/util/log.cpp +127 -0
  832. terraingenpy-0.2.0.dev90/terraingen/util/log.h +107 -0
  833. terraingenpy-0.2.0.dev90/terraingen/util/lru_cache.h +134 -0
  834. terraingenpy-0.2.0.dev90/terraingen/util/overloaded.h +18 -0
  835. terraingenpy-0.2.0.dev90/terraingen/util/parallel.cpp +151 -0
  836. terraingenpy-0.2.0.dev90/terraingen/util/parallel.h +21 -0
  837. terraingenpy-0.2.0.dev90/terraingen/util/planar_cells.cpp +65 -0
  838. terraingenpy-0.2.0.dev90/terraingen/util/plane_fit.cpp +53 -0
  839. terraingenpy-0.2.0.dev90/terraingen/util/plane_fit.h +56 -0
  840. terraingenpy-0.2.0.dev90/terraingen/util/portable.h +57 -0
  841. terraingenpy-0.2.0.dev90/terraingen/util/quadrature.h +27 -0
  842. terraingenpy-0.2.0.dev90/terraingen/util/radial_shape.cpp +146 -0
  843. terraingenpy-0.2.0.dev90/terraingen/util/radial_shape.h +115 -0
  844. terraingenpy-0.2.0.dev90/terraingen/util/span.h +129 -0
  845. terraingenpy-0.2.0.dev90/terraingen/util/special_functions.cpp +81 -0
  846. terraingenpy-0.2.0.dev90/terraingen/util/special_functions.h +15 -0
  847. terraingenpy-0.2.0.dev90/terraingen/util/surface.cpp +336 -0
  848. terraingenpy-0.2.0.dev90/terraingen/util/surface.h +233 -0
  849. terraingenpy-0.2.0.dev90/terraingen/util/text.cpp +32 -0
  850. terraingenpy-0.2.0.dev90/terraingen/util/text.h +25 -0
  851. terraingenpy-0.2.0.dev90/terraingen/util/version.cpp +15 -0
  852. terraingenpy-0.2.0.dev90/terraingen/util/version.h.in +30 -0
  853. terraingenpy-0.2.0.dev90/tests/CMakeLists.txt +53 -0
  854. terraingenpy-0.2.0.dev90/tests/benchmark/CMakeLists.txt +32 -0
  855. terraingenpy-0.2.0.dev90/tests/benchmark/bench_boulders.cpp +28 -0
  856. terraingenpy-0.2.0.dev90/tests/benchmark/bench_craters.cpp +65 -0
  857. terraingenpy-0.2.0.dev90/tests/benchmark/bench_grids.cpp +89 -0
  858. terraingenpy-0.2.0.dev90/tests/benchmark/bench_ground_reads.cpp +76 -0
  859. terraingenpy-0.2.0.dev90/tests/benchmark/bench_point_queries.cpp +137 -0
  860. terraingenpy-0.2.0.dev90/tests/benchmark/bench_python_subclasses.py +146 -0
  861. terraingenpy-0.2.0.dev90/tests/benchmark/fixtures.h +44 -0
  862. terraingenpy-0.2.0.dev90/tests/golden/CMakeLists.txt +11 -0
  863. terraingenpy-0.2.0.dev90/tests/golden/noise/kernels_test.cpp +103 -0
  864. terraingenpy-0.2.0.dev90/tests/integration/CMakeLists.txt +45 -0
  865. terraingenpy-0.2.0.dev90/tests/integration/build_info_stable.cmake +68 -0
  866. terraingenpy-0.2.0.dev90/tests/integration/package/CMakeLists.txt +10 -0
  867. terraingenpy-0.2.0.dev90/tests/integration/package/main.cpp +33 -0
  868. terraingenpy-0.2.0.dev90/tests/integration/package/test_debian_packages.cmake +42 -0
  869. terraingenpy-0.2.0.dev90/tests/python/CMakeLists.txt +15 -0
  870. terraingenpy-0.2.0.dev90/tests/python/conftest.py +230 -0
  871. terraingenpy-0.2.0.dev90/tests/python/test_albedo.py +317 -0
  872. terraingenpy-0.2.0.dev90/tests/python/test_boulders.py +499 -0
  873. terraingenpy-0.2.0.dev90/tests/python/test_config.py +367 -0
  874. terraingenpy-0.2.0.dev90/tests/python/test_crater_models.py +358 -0
  875. terraingenpy-0.2.0.dev90/tests/python/test_craters.py +635 -0
  876. terraingenpy-0.2.0.dev90/tests/python/test_distributions.py +249 -0
  877. terraingenpy-0.2.0.dev90/tests/python/test_docs_gallery.py +103 -0
  878. terraingenpy-0.2.0.dev90/tests/python/test_docs_snippets.py +16 -0
  879. terraingenpy-0.2.0.dev90/tests/python/test_gpu.py +68 -0
  880. terraingenpy-0.2.0.dev90/tests/python/test_layers.py +801 -0
  881. terraingenpy-0.2.0.dev90/tests/python/test_meshes.py +205 -0
  882. terraingenpy-0.2.0.dev90/tests/python/test_noise.py +265 -0
  883. terraingenpy-0.2.0.dev90/tests/python/test_pipeline.py +396 -0
  884. terraingenpy-0.2.0.dev90/tests/python/test_random.py +90 -0
  885. terraingenpy-0.2.0.dev90/tests/python/test_raster.py +256 -0
  886. terraingenpy-0.2.0.dev90/tests/python/test_render.py +152 -0
  887. terraingenpy-0.2.0.dev90/tests/python/test_report.py +107 -0
  888. terraingenpy-0.2.0.dev90/tests/python/test_sources.py +378 -0
  889. terraingenpy-0.2.0.dev90/tests/python/test_stubs.py +41 -0
  890. terraingenpy-0.2.0.dev90/tests/python/test_util.py +209 -0
  891. terraingenpy-0.2.0.dev90/tests/statistical/CMakeLists.txt +31 -0
  892. terraingenpy-0.2.0.dev90/tests/statistical/distribution/crater_references_test.cpp +70 -0
  893. terraingenpy-0.2.0.dev90/tests/statistical/distribution/size_frequency_test.cpp +64 -0
  894. terraingenpy-0.2.0.dev90/tests/statistical/layers/boulders/boulder_layer_test.cpp +100 -0
  895. terraingenpy-0.2.0.dev90/tests/statistical/layers/craters/ages/ages_test.cpp +77 -0
  896. terraingenpy-0.2.0.dev90/tests/statistical/layers/craters/population_test.cpp +146 -0
  897. terraingenpy-0.2.0.dev90/tests/statistical/layers/roughness_test.cpp +54 -0
  898. terraingenpy-0.2.0.dev90/tests/statistical/random/random_test.cpp +116 -0
  899. terraingenpy-0.2.0.dev90/tests/support/apply_crater.h +23 -0
  900. terraingenpy-0.2.0.dev90/tests/support/boulder_records.h +34 -0
  901. terraingenpy-0.2.0.dev90/tests/support/gdal_fixtures.h +33 -0
  902. terraingenpy-0.2.0.dev90/tests/support/generate_geotiff_fixtures.py +190 -0
  903. terraingenpy-0.2.0.dev90/tests/support/geotiff_fixtures.inc +221 -0
  904. terraingenpy-0.2.0.dev90/tests/support/golombek_rapp.h +22 -0
  905. terraingenpy-0.2.0.dev90/tests/support/log_capture.h +48 -0
  906. terraingenpy-0.2.0.dev90/tests/support/lunar_craters.h +53 -0
  907. terraingenpy-0.2.0.dev90/tests/support/mesh_checks.h +46 -0
  908. terraingenpy-0.2.0.dev90/tests/support/mesh_measures.h +40 -0
  909. terraingenpy-0.2.0.dev90/tests/support/raster_equality.h +32 -0
  910. terraingenpy-0.2.0.dev90/tests/support/referenced_source.h +44 -0
  911. terraingenpy-0.2.0.dev90/tests/support/resample.h +46 -0
  912. terraingenpy-0.2.0.dev90/tests/support/sfd_sampling.h +37 -0
  913. terraingenpy-0.2.0.dev90/tests/support/source_agreement.h +48 -0
  914. terraingenpy-0.2.0.dev90/tests/support/statistics.h +52 -0
  915. terraingenpy-0.2.0.dev90/tests/support/temp_path.h +29 -0
  916. terraingenpy-0.2.0.dev90/tests/unit/CMakeLists.txt +18 -0
  917. terraingenpy-0.2.0.dev90/tests/unit/albedo/CMakeLists.txt +16 -0
  918. terraingenpy-0.2.0.dev90/tests/unit/albedo/albedo_test.cpp +407 -0
  919. terraingenpy-0.2.0.dev90/tests/unit/albedo/bands_test.cpp +100 -0
  920. terraingenpy-0.2.0.dev90/tests/unit/albedo/blast_zones_test.cpp +124 -0
  921. terraingenpy-0.2.0.dev90/tests/unit/albedo/crater_albedo_test.cpp +838 -0
  922. terraingenpy-0.2.0.dev90/tests/unit/albedo/photometry_test.cpp +71 -0
  923. terraingenpy-0.2.0.dev90/tests/unit/albedo/rock_albedo_test.cpp +164 -0
  924. terraingenpy-0.2.0.dev90/tests/unit/albedo/slope_albedo_test.cpp +126 -0
  925. terraingenpy-0.2.0.dev90/tests/unit/albedo/splotches_test.cpp +395 -0
  926. terraingenpy-0.2.0.dev90/tests/unit/app/CMakeLists.txt +6 -0
  927. terraingenpy-0.2.0.dev90/tests/unit/app/cli_test.cpp +290 -0
  928. terraingenpy-0.2.0.dev90/tests/unit/app/gui/CMakeLists.txt +12 -0
  929. terraingenpy-0.2.0.dev90/tests/unit/app/gui/config_editor_test.cpp +188 -0
  930. terraingenpy-0.2.0.dev90/tests/unit/app/gui/gui_app_test.cpp +174 -0
  931. terraingenpy-0.2.0.dev90/tests/unit/app/gui/terrain_scene_test.cpp +92 -0
  932. terraingenpy-0.2.0.dev90/tests/unit/config/CMakeLists.txt +22 -0
  933. terraingenpy-0.2.0.dev90/tests/unit/config/angles_test.cpp +174 -0
  934. terraingenpy-0.2.0.dev90/tests/unit/config/build_test.cpp +1220 -0
  935. terraingenpy-0.2.0.dev90/tests/unit/config/checks_test.cpp +61 -0
  936. terraingenpy-0.2.0.dev90/tests/unit/config/config_test.cpp +152 -0
  937. terraingenpy-0.2.0.dev90/tests/unit/config/configs.h +310 -0
  938. terraingenpy-0.2.0.dev90/tests/unit/config/feature_lists_test.cpp +165 -0
  939. terraingenpy-0.2.0.dev90/tests/unit/config/generate_from_config_test.cpp +1015 -0
  940. terraingenpy-0.2.0.dev90/tests/unit/config/json_io_test.cpp +992 -0
  941. terraingenpy-0.2.0.dev90/tests/unit/config/json_parse_errors_test.cpp +173 -0
  942. terraingenpy-0.2.0.dev90/tests/unit/config/json_read_test.cpp +251 -0
  943. terraingenpy-0.2.0.dev90/tests/unit/config/ranges_test.cpp +184 -0
  944. terraingenpy-0.2.0.dev90/tests/unit/config/schema_test.cpp +613 -0
  945. terraingenpy-0.2.0.dev90/tests/unit/config/validate_config_test.cpp +1176 -0
  946. terraingenpy-0.2.0.dev90/tests/unit/config/validate_sources_test.cpp +399 -0
  947. terraingenpy-0.2.0.dev90/tests/unit/config/write_outputs_test.cpp +464 -0
  948. terraingenpy-0.2.0.dev90/tests/unit/distribution/CMakeLists.txt +26 -0
  949. terraingenpy-0.2.0.dev90/tests/unit/distribution/composition_test.cpp +153 -0
  950. terraingenpy-0.2.0.dev90/tests/unit/distribution/equilibrium_test.cpp +22 -0
  951. terraingenpy-0.2.0.dev90/tests/unit/distribution/golombek_rapp_test.cpp +66 -0
  952. terraingenpy-0.2.0.dev90/tests/unit/distribution/ivanov_test.cpp +36 -0
  953. terraingenpy-0.2.0.dev90/tests/unit/distribution/log_polynomial_test.cpp +71 -0
  954. terraingenpy-0.2.0.dev90/tests/unit/distribution/minimum_test.cpp +71 -0
  955. terraingenpy-0.2.0.dev90/tests/unit/distribution/moore_test.cpp +24 -0
  956. terraingenpy-0.2.0.dev90/tests/unit/distribution/neukum_test.cpp +136 -0
  957. terraingenpy-0.2.0.dev90/tests/unit/distribution/piecewise_power_law_test.cpp +98 -0
  958. terraingenpy-0.2.0.dev90/tests/unit/distribution/piecewise_uniform_test.cpp +133 -0
  959. terraingenpy-0.2.0.dev90/tests/unit/distribution/power_law_test.cpp +61 -0
  960. terraingenpy-0.2.0.dev90/tests/unit/distribution/production_surface_test.cpp +59 -0
  961. terraingenpy-0.2.0.dev90/tests/unit/distribution/size_frequency_test.cpp +141 -0
  962. terraingenpy-0.2.0.dev90/tests/unit/distribution/sp8023_test.cpp +55 -0
  963. terraingenpy-0.2.0.dev90/tests/unit/distribution/spliced_test.cpp +99 -0
  964. terraingenpy-0.2.0.dev90/tests/unit/distribution/summed_test.cpp +47 -0
  965. terraingenpy-0.2.0.dev90/tests/unit/distribution/synthterrain_test.cpp +24 -0
  966. terraingenpy-0.2.0.dev90/tests/unit/distribution/tabulated_test.cpp +136 -0
  967. terraingenpy-0.2.0.dev90/tests/unit/distribution/viper_test.cpp +14 -0
  968. terraingenpy-0.2.0.dev90/tests/unit/docs/CMakeLists.txt +6 -0
  969. terraingenpy-0.2.0.dev90/tests/unit/gpu/CMakeLists.txt +15 -0
  970. terraingenpy-0.2.0.dev90/tests/unit/gpu/backend_test.cpp +193 -0
  971. terraingenpy-0.2.0.dev90/tests/unit/gpu/kernels/hash_conformance.slang +30 -0
  972. terraingenpy-0.2.0.dev90/tests/unit/gpu/kernels/noise_conformance.slang +63 -0
  973. terraingenpy-0.2.0.dev90/tests/unit/gpu/noise_test.cpp +176 -0
  974. terraingenpy-0.2.0.dev90/tests/unit/gpu/vulkan_test.cpp +158 -0
  975. terraingenpy-0.2.0.dev90/tests/unit/layers/CMakeLists.txt +64 -0
  976. terraingenpy-0.2.0.dev90/tests/unit/layers/anchored_plane_test.cpp +26 -0
  977. terraingenpy-0.2.0.dev90/tests/unit/layers/bedforms_test.cpp +161 -0
  978. terraingenpy-0.2.0.dev90/tests/unit/layers/boulders/boulder_fragments_test.cpp +318 -0
  979. terraingenpy-0.2.0.dev90/tests/unit/layers/boulders/boulder_layer_test.cpp +1492 -0
  980. terraingenpy-0.2.0.dev90/tests/unit/layers/boulders/boulder_list_test.cpp +78 -0
  981. terraingenpy-0.2.0.dev90/tests/unit/layers/boulders/boulder_models_test.cpp +234 -0
  982. terraingenpy-0.2.0.dev90/tests/unit/layers/boulders/boulder_options_test.cpp +121 -0
  983. terraingenpy-0.2.0.dev90/tests/unit/layers/boulders/boulder_shape_test.cpp +275 -0
  984. terraingenpy-0.2.0.dev90/tests/unit/layers/boulders/ejecta_index_test.cpp +84 -0
  985. terraingenpy-0.2.0.dev90/tests/unit/layers/boulders/manual_boulder_test.cpp +472 -0
  986. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/ages/age_model_test.cpp +52 -0
  987. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/ages/freshness_ages_test.cpp +168 -0
  988. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/ages/steady_state_test.cpp +119 -0
  989. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/band_buckets_test.cpp +53 -0
  990. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/crater_layer_test.cpp +370 -0
  991. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/crater_test.cpp +154 -0
  992. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/degradation/degradation_model_test.cpp +39 -0
  993. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/degradation/diffusion_test.cpp +286 -0
  994. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/degradation/freshness_degradation_test.cpp +47 -0
  995. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/generation/cell_cache_test.cpp +98 -0
  996. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/generation/population_test.cpp +704 -0
  997. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/generation/spacing_test.cpp +166 -0
  998. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/profiles/complex_test.cpp +103 -0
  999. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/profiles/fassett_thomson_test.cpp +105 -0
  1000. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/profiles/martin_parkes_dunstan_test.cpp +96 -0
  1001. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/secondaries_test.cpp +624 -0
  1002. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/shaping/apply_test.cpp +669 -0
  1003. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/shaping/attributes_test.cpp +57 -0
  1004. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/shaping/crater_kernel_test.cpp +1025 -0
  1005. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/shaping/datum_test.cpp +82 -0
  1006. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/shaping/irregularity_test.cpp +456 -0
  1007. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/shaping/morphometry_test.cpp +88 -0
  1008. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/shaping/resolved_state_test.cpp +276 -0
  1009. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/shaping/slope_test.cpp +312 -0
  1010. terraingenpy-0.2.0.dev90/tests/unit/layers/craters/sphere_test.cpp +371 -0
  1011. terraingenpy-0.2.0.dev90/tests/unit/layers/density_map_test.cpp +145 -0
  1012. terraingenpy-0.2.0.dev90/tests/unit/layers/dunes_test.cpp +495 -0
  1013. terraingenpy-0.2.0.dev90/tests/unit/layers/evaluation_cache_test.cpp +27 -0
  1014. terraingenpy-0.2.0.dev90/tests/unit/layers/exposure_test.cpp +160 -0
  1015. terraingenpy-0.2.0.dev90/tests/unit/layers/fade_test.cpp +65 -0
  1016. terraingenpy-0.2.0.dev90/tests/unit/layers/ground_test.cpp +63 -0
  1017. terraingenpy-0.2.0.dev90/tests/unit/layers/lattice_test.cpp +34 -0
  1018. terraingenpy-0.2.0.dev90/tests/unit/layers/layer_test.cpp +51 -0
  1019. terraingenpy-0.2.0.dev90/tests/unit/layers/masked_test.cpp +284 -0
  1020. terraingenpy-0.2.0.dev90/tests/unit/layers/noise_relief_test.cpp +305 -0
  1021. terraingenpy-0.2.0.dev90/tests/unit/layers/pavement_test.cpp +193 -0
  1022. terraingenpy-0.2.0.dev90/tests/unit/layers/prefetched_ground_test.cpp +151 -0
  1023. terraingenpy-0.2.0.dev90/tests/unit/layers/roughness_estimate_test.cpp +219 -0
  1024. terraingenpy-0.2.0.dev90/tests/unit/layers/roughness_test.cpp +137 -0
  1025. terraingenpy-0.2.0.dev90/tests/unit/layers/sample_block_test.cpp +150 -0
  1026. terraingenpy-0.2.0.dev90/tests/unit/layers/sand_fill_test.cpp +125 -0
  1027. terraingenpy-0.2.0.dev90/tests/unit/layers/sand_shadow_test.cpp +193 -0
  1028. terraingenpy-0.2.0.dev90/tests/unit/layers/source_resolved_test.cpp +257 -0
  1029. terraingenpy-0.2.0.dev90/tests/unit/layers/spectral_continuation_test.cpp +248 -0
  1030. terraingenpy-0.2.0.dev90/tests/unit/layers/sphere_layers_test.cpp +221 -0
  1031. terraingenpy-0.2.0.dev90/tests/unit/layers/strata_test.cpp +253 -0
  1032. terraingenpy-0.2.0.dev90/tests/unit/layers/transforms_test.cpp +100 -0
  1033. terraingenpy-0.2.0.dev90/tests/unit/mesh/CMakeLists.txt +12 -0
  1034. terraingenpy-0.2.0.dev90/tests/unit/mesh/io/icq_test.cpp +234 -0
  1035. terraingenpy-0.2.0.dev90/tests/unit/mesh/io/mesh_io_test.cpp +222 -0
  1036. terraingenpy-0.2.0.dev90/tests/unit/mesh/mesh_test.cpp +160 -0
  1037. terraingenpy-0.2.0.dev90/tests/unit/mesh/polyhedra_test.cpp +77 -0
  1038. terraingenpy-0.2.0.dev90/tests/unit/mesh/shape_model_test.cpp +92 -0
  1039. terraingenpy-0.2.0.dev90/tests/unit/noise/CMakeLists.txt +18 -0
  1040. terraingenpy-0.2.0.dev90/tests/unit/noise/fractal_test.cpp +201 -0
  1041. terraingenpy-0.2.0.dev90/tests/unit/noise/hash_test.cpp +84 -0
  1042. terraingenpy-0.2.0.dev90/tests/unit/noise/noise3_test.cpp +293 -0
  1043. terraingenpy-0.2.0.dev90/tests/unit/noise/noise_layers_test.cpp +129 -0
  1044. terraingenpy-0.2.0.dev90/tests/unit/noise/perlin_test.cpp +186 -0
  1045. terraingenpy-0.2.0.dev90/tests/unit/noise/simplex_test.cpp +59 -0
  1046. terraingenpy-0.2.0.dev90/tests/unit/noise/structure_function_test.cpp +53 -0
  1047. terraingenpy-0.2.0.dev90/tests/unit/noise/surface_noise_test.cpp +29 -0
  1048. terraingenpy-0.2.0.dev90/tests/unit/noise/validate_test.cpp +80 -0
  1049. terraingenpy-0.2.0.dev90/tests/unit/noise/value_test.cpp +65 -0
  1050. terraingenpy-0.2.0.dev90/tests/unit/noise/worley_test.cpp +163 -0
  1051. terraingenpy-0.2.0.dev90/tests/unit/pipeline/CMakeLists.txt +15 -0
  1052. terraingenpy-0.2.0.dev90/tests/unit/pipeline/features_test.cpp +234 -0
  1053. terraingenpy-0.2.0.dev90/tests/unit/pipeline/generator_test.cpp +596 -0
  1054. terraingenpy-0.2.0.dev90/tests/unit/pipeline/ground_reads_test.cpp +111 -0
  1055. terraingenpy-0.2.0.dev90/tests/unit/pipeline/materials_test.cpp +165 -0
  1056. terraingenpy-0.2.0.dev90/tests/unit/pipeline/mesh_build_test.cpp +231 -0
  1057. terraingenpy-0.2.0.dev90/tests/unit/pipeline/report_test.cpp +320 -0
  1058. terraingenpy-0.2.0.dev90/tests/unit/pipeline/terrain_windows_test.cpp +281 -0
  1059. terraingenpy-0.2.0.dev90/tests/unit/pipeline/terrains.h +61 -0
  1060. terraingenpy-0.2.0.dev90/tests/unit/random/CMakeLists.txt +11 -0
  1061. terraingenpy-0.2.0.dev90/tests/unit/random/philox_test.cpp +63 -0
  1062. terraingenpy-0.2.0.dev90/tests/unit/random/samplers_test.cpp +23 -0
  1063. terraingenpy-0.2.0.dev90/tests/unit/random/stream_test.cpp +97 -0
  1064. terraingenpy-0.2.0.dev90/tests/unit/random/value_distribution_test.cpp +150 -0
  1065. terraingenpy-0.2.0.dev90/tests/unit/raster/CMakeLists.txt +18 -0
  1066. terraingenpy-0.2.0.dev90/tests/unit/raster/cell_loops_test.cpp +152 -0
  1067. terraingenpy-0.2.0.dev90/tests/unit/raster/geo_transform_test.cpp +69 -0
  1068. terraingenpy-0.2.0.dev90/tests/unit/raster/geotiff_test.cpp +516 -0
  1069. terraingenpy-0.2.0.dev90/tests/unit/raster/grid_test.cpp +135 -0
  1070. terraingenpy-0.2.0.dev90/tests/unit/raster/raster_stats_test.cpp +61 -0
  1071. terraingenpy-0.2.0.dev90/tests/unit/raster/raster_test.cpp +88 -0
  1072. terraingenpy-0.2.0.dev90/tests/unit/raster/resample_test.cpp +252 -0
  1073. terraingenpy-0.2.0.dev90/tests/unit/raster/spectrum_test.cpp +178 -0
  1074. terraingenpy-0.2.0.dev90/tests/unit/raster/tiff_format_test.cpp +144 -0
  1075. terraingenpy-0.2.0.dev90/tests/unit/raster/variogram_test.cpp +28 -0
  1076. terraingenpy-0.2.0.dev90/tests/unit/sources/CMakeLists.txt +16 -0
  1077. terraingenpy-0.2.0.dev90/tests/unit/sources/diamond_square_test.cpp +623 -0
  1078. terraingenpy-0.2.0.dev90/tests/unit/sources/field_test.cpp +146 -0
  1079. terraingenpy-0.2.0.dev90/tests/unit/sources/flat_source_test.cpp +65 -0
  1080. terraingenpy-0.2.0.dev90/tests/unit/sources/geotiff_source_test.cpp +458 -0
  1081. terraingenpy-0.2.0.dev90/tests/unit/sources/raster_source_test.cpp +305 -0
  1082. terraingenpy-0.2.0.dev90/tests/unit/sources/source_chain_test.cpp +502 -0
  1083. terraingenpy-0.2.0.dev90/tests/unit/sources/synthetic_source_test.cpp +171 -0
  1084. terraingenpy-0.2.0.dev90/tests/unit/sources/terrain_base_test.cpp +58 -0
  1085. terraingenpy-0.2.0.dev90/tests/unit/sources/upsampling_test.cpp +290 -0
  1086. terraingenpy-0.2.0.dev90/tests/unit/util/CMakeLists.txt +29 -0
  1087. terraingenpy-0.2.0.dev90/tests/unit/util/arithmetic_test.cpp +25 -0
  1088. terraingenpy-0.2.0.dev90/tests/unit/util/bisection_test.cpp +31 -0
  1089. terraingenpy-0.2.0.dev90/tests/unit/util/bits_test.cpp +27 -0
  1090. terraingenpy-0.2.0.dev90/tests/unit/util/cells_test.cpp +89 -0
  1091. terraingenpy-0.2.0.dev90/tests/unit/util/checks_test.cpp +65 -0
  1092. terraingenpy-0.2.0.dev90/tests/unit/util/fft_test.cpp +87 -0
  1093. terraingenpy-0.2.0.dev90/tests/unit/util/files_test.cpp +32 -0
  1094. terraingenpy-0.2.0.dev90/tests/unit/util/geometry_test.cpp +71 -0
  1095. terraingenpy-0.2.0.dev90/tests/unit/util/log_test.cpp +144 -0
  1096. terraingenpy-0.2.0.dev90/tests/unit/util/lru_cache_test.cpp +38 -0
  1097. terraingenpy-0.2.0.dev90/tests/unit/util/overloaded_test.cpp +19 -0
  1098. terraingenpy-0.2.0.dev90/tests/unit/util/parallel_test.cpp +65 -0
  1099. terraingenpy-0.2.0.dev90/tests/unit/util/plane_fit_test.cpp +36 -0
  1100. terraingenpy-0.2.0.dev90/tests/unit/util/quadrature_test.cpp +35 -0
  1101. terraingenpy-0.2.0.dev90/tests/unit/util/radial_shape_test.cpp +108 -0
  1102. terraingenpy-0.2.0.dev90/tests/unit/util/span_test.cpp +118 -0
  1103. terraingenpy-0.2.0.dev90/tests/unit/util/special_functions_test.cpp +24 -0
  1104. terraingenpy-0.2.0.dev90/tests/unit/util/surface_test.cpp +725 -0
  1105. terraingenpy-0.2.0.dev90/tests/unit/util/text_test.cpp +26 -0
  1106. terraingenpy-0.2.0.dev90/tests/unit/util/version_test.cpp +28 -0
  1107. terraingenpy-0.2.0/.dockerignore +0 -23
  1108. terraingenpy-0.2.0/.gitattributes +0 -37
  1109. terraingenpy-0.2.0/.github/workflows/ci.yml +0 -514
  1110. terraingenpy-0.2.0/.gitignore +0 -37
  1111. terraingenpy-0.2.0/.pre-commit-config.yaml +0 -59
  1112. terraingenpy-0.2.0/CHANGELOG.md +0 -236
  1113. terraingenpy-0.2.0/CMakeLists.txt +0 -150
  1114. terraingenpy-0.2.0/CONTRIBUTING.md +0 -47
  1115. terraingenpy-0.2.0/PKG-INFO +0 -250
  1116. terraingenpy-0.2.0/README.md +0 -194
  1117. terraingenpy-0.2.0/assets/textures/README.md +0 -14
  1118. terraingenpy-0.2.0/assets/textures/moon_01_diff_4k.jpg +0 -3
  1119. terraingenpy-0.2.0/assets/textures/moon_01_disp_4k.png +0 -3
  1120. terraingenpy-0.2.0/assets/textures/moon_01_nor_gl_4k.exr +0 -3
  1121. terraingenpy-0.2.0/assets/textures/moon_01_rough_4k.exr +0 -3
  1122. terraingenpy-0.2.0/assets/textures/seaside_rock_ao_2k.png +0 -3
  1123. terraingenpy-0.2.0/assets/textures/seaside_rock_arm_2k.png +0 -3
  1124. terraingenpy-0.2.0/assets/textures/seaside_rock_diff_2k.png +0 -3
  1125. terraingenpy-0.2.0/assets/textures/seaside_rock_disp_2k.png +0 -3
  1126. terraingenpy-0.2.0/assets/textures/seaside_rock_nor_dx_2k.exr +0 -3
  1127. terraingenpy-0.2.0/assets/textures/seaside_rock_nor_gl_2k.exr +0 -3
  1128. terraingenpy-0.2.0/assets/textures/seaside_rock_rough_2k.exr +0 -3
  1129. terraingenpy-0.2.0/cmake/BuildInfo.cmake +0 -47
  1130. terraingenpy-0.2.0/cmake/CoverageBadge.cmake +0 -27
  1131. terraingenpy-0.2.0/cmake/EmbedFile.cmake +0 -15
  1132. terraingenpy-0.2.0/cmake/Kernel.cpp.in +0 -27
  1133. terraingenpy-0.2.0/cmake/TerrainGenPackaging.cmake +0 -34
  1134. terraingenpy-0.2.0/cmake/TerrainGenSlang.cmake +0 -129
  1135. terraingenpy-0.2.0/cmake/TerrainGenTesting.cmake +0 -19
  1136. terraingenpy-0.2.0/cmake/terraingenConfig.cmake.in +0 -8
  1137. terraingenpy-0.2.0/cmake/third_party/benchmark.cmake +0 -18
  1138. terraingenpy-0.2.0/cmake/third_party/ernie.cmake +0 -35
  1139. terraingenpy-0.2.0/cmake/third_party/googletest.cmake +0 -17
  1140. terraingenpy-0.2.0/cmake/third_party/mesh_formats.cmake +0 -6
  1141. terraingenpy-0.2.0/cmake/third_party/miniz.cmake +0 -12
  1142. terraingenpy-0.2.0/cmake/third_party/nanobind.cmake +0 -27
  1143. terraingenpy-0.2.0/cmake/third_party/nvrtc.cmake +0 -41
  1144. terraingenpy-0.2.0/cmake/third_party/slang.cmake +0 -41
  1145. terraingenpy-0.2.0/cmake/third_party/volk.cmake +0 -23
  1146. terraingenpy-0.2.0/cmake/third_party/vulkan_headers.cmake +0 -18
  1147. terraingenpy-0.2.0/docs/.gitignore +0 -2
  1148. terraingenpy-0.2.0/docs/Makefile +0 -16
  1149. terraingenpy-0.2.0/docs/README.md +0 -26
  1150. terraingenpy-0.2.0/docs/api/python.md +0 -1
  1151. terraingenpy-0.2.0/docs/css/extra.css +0 -455
  1152. terraingenpy-0.2.0/docs/getting-started/index.md +0 -1
  1153. terraingenpy-0.2.0/docs/getting-started/installation.md +0 -1
  1154. terraingenpy-0.2.0/docs/index.md +0 -7
  1155. terraingenpy-0.2.0/docs/overrides/home.html +0 -26
  1156. terraingenpy-0.2.0/docs/requirements.txt +0 -8
  1157. terraingenpy-0.2.0/docs/scripts/generate_schema.py +0 -421
  1158. terraingenpy-0.2.0/docs/validation/index.md +0 -1
  1159. terraingenpy-0.2.0/examples/README.md +0 -79
  1160. terraingenpy-0.2.0/examples/config/ages/example_ages_fresh.json +0 -75
  1161. terraingenpy-0.2.0/examples/config/ages/example_ages_freshness.json +0 -83
  1162. terraingenpy-0.2.0/examples/config/ages/example_ages_steady_state.json +0 -79
  1163. terraingenpy-0.2.0/examples/config/ages/example_ages_uniform.json +0 -76
  1164. terraingenpy-0.2.0/examples/config/albedo/example_albedo_blast_zone.json +0 -113
  1165. terraingenpy-0.2.0/examples/config/albedo/example_albedo_crater_rays.json +0 -103
  1166. terraingenpy-0.2.0/examples/config/albedo/example_albedo_fresh_crater.json +0 -157
  1167. terraingenpy-0.2.0/examples/config/albedo/example_albedo_moon_site.json +0 -113
  1168. terraingenpy-0.2.0/examples/config/albedo/example_albedo_new_crater.json +0 -145
  1169. terraingenpy-0.2.0/examples/config/albedo/example_albedo_oblique_rays.json +0 -117
  1170. terraingenpy-0.2.0/examples/config/albedo/example_albedo_rgb.json +0 -73
  1171. terraingenpy-0.2.0/examples/config/albedo/example_albedo_rocks_and_slopes.json +0 -91
  1172. terraingenpy-0.2.0/examples/config/albedo/example_albedo_synthetic.json +0 -62
  1173. terraingenpy-0.2.0/examples/config/boulders/example_boulders_buried.json +0 -75
  1174. terraingenpy-0.2.0/examples/config/boulders/example_boulders_ejecta.json +0 -75
  1175. terraingenpy-0.2.0/examples/config/boulders/example_boulders_exposure.json +0 -63
  1176. terraingenpy-0.2.0/examples/config/boulders/example_boulders_fragments.json +0 -89
  1177. terraingenpy-0.2.0/examples/config/boulders/example_boulders_layer.json +0 -85
  1178. terraingenpy-0.2.0/examples/config/boulders/example_boulders_manual.json +0 -94
  1179. terraingenpy-0.2.0/examples/config/boulders/example_boulders_max_slope.json +0 -59
  1180. terraingenpy-0.2.0/examples/config/boulders/example_boulders_models.json +0 -76
  1181. terraingenpy-0.2.0/examples/config/boulders/example_boulders_patches.json +0 -62
  1182. terraingenpy-0.2.0/examples/config/boulders/example_boulders_rock_abundance.json +0 -80
  1183. terraingenpy-0.2.0/examples/config/boulders/example_boulders_rolling.json +0 -60
  1184. terraingenpy-0.2.0/examples/config/boulders/example_boulders_scene.json +0 -91
  1185. terraingenpy-0.2.0/examples/config/boulders/example_boulders_shapes.json +0 -82
  1186. terraingenpy-0.2.0/examples/config/boulders/example_boulders_slope_map.json +0 -68
  1187. terraingenpy-0.2.0/examples/config/boulders/example_boulders_sp8023.json +0 -58
  1188. terraingenpy-0.2.0/examples/config/boulders/example_boulders_thomas_clusters.json +0 -65
  1189. terraingenpy-0.2.0/examples/config/craters/example_craters_catalog_and_map.json +0 -82
  1190. terraingenpy-0.2.0/examples/config/craters/example_craters_datum.json +0 -64
  1191. terraingenpy-0.2.0/examples/config/craters/example_craters_degradation_diffusion.json +0 -67
  1192. terraingenpy-0.2.0/examples/config/craters/example_craters_degradation_none.json +0 -63
  1193. terraingenpy-0.2.0/examples/config/craters/example_craters_interior_replacement.json +0 -68
  1194. terraingenpy-0.2.0/examples/config/craters/example_craters_irregular.json +0 -72
  1195. terraingenpy-0.2.0/examples/config/craters/example_craters_manual.json +0 -78
  1196. terraingenpy-0.2.0/examples/config/craters/example_craters_manual_depth.json +0 -74
  1197. terraingenpy-0.2.0/examples/config/craters/example_craters_max_craters.json +0 -76
  1198. terraingenpy-0.2.0/examples/config/craters/example_craters_profile_complex.json +0 -82
  1199. terraingenpy-0.2.0/examples/config/craters/example_craters_profile_martin_parkes_dunstan.json +0 -63
  1200. terraingenpy-0.2.0/examples/config/craters/example_craters_rim_smoothing_soft.json +0 -69
  1201. terraingenpy-0.2.0/examples/config/craters/example_craters_secondaries.json +0 -55
  1202. terraingenpy-0.2.0/examples/config/craters/example_craters_secondary_rays.json +0 -81
  1203. terraingenpy-0.2.0/examples/config/craters/example_craters_simple.json +0 -79
  1204. terraingenpy-0.2.0/examples/config/craters/example_craters_slopes.json +0 -49
  1205. terraingenpy-0.2.0/examples/config/craters/example_craters_smoothed_rims.json +0 -65
  1206. terraingenpy-0.2.0/examples/config/craters/example_craters_spacing.json +0 -79
  1207. terraingenpy-0.2.0/examples/config/craters/example_craters_texture.json +0 -71
  1208. terraingenpy-0.2.0/examples/config/craters/example_craters_wall_marks.json +0 -65
  1209. terraingenpy-0.2.0/examples/config/distributions/example_distributions_moore_rough_mare.json +0 -58
  1210. terraingenpy-0.2.0/examples/config/distributions/example_distributions_piecewise_power_law.json +0 -69
  1211. terraingenpy-0.2.0/examples/config/distributions/example_distributions_piecewise_uniform.json +0 -77
  1212. terraingenpy-0.2.0/examples/config/distributions/example_distributions_power_law.json +0 -59
  1213. terraingenpy-0.2.0/examples/config/distributions/example_distributions_tabulated.json +0 -75
  1214. terraingenpy-0.2.0/examples/config/distributions/example_distributions_trask_equilibrium.json +0 -57
  1215. terraingenpy-0.2.0/examples/config/distributions/example_distributions_viper.json +0 -57
  1216. terraingenpy-0.2.0/examples/config/layers/example_layers_regions.json +0 -124
  1217. terraingenpy-0.2.0/examples/config/layers/example_layers_roughness.json +0 -40
  1218. terraingenpy-0.2.0/examples/config/layers/example_layers_scale_and_clamp.json +0 -43
  1219. terraingenpy-0.2.0/examples/config/layers/example_layers_spectral_continuation.json +0 -41
  1220. terraingenpy-0.2.0/examples/config/planets/example_planets_asteroid_body_mesh.json +0 -48
  1221. terraingenpy-0.2.0/examples/config/planets/example_planets_mars_bedforms.json +0 -59
  1222. terraingenpy-0.2.0/examples/config/planets/example_planets_mars_craters.json +0 -72
  1223. terraingenpy-0.2.0/examples/config/planets/example_planets_mars_dunes.json +0 -81
  1224. terraingenpy-0.2.0/examples/config/planets/example_planets_mars_exposure.json +0 -74
  1225. terraingenpy-0.2.0/examples/config/planets/example_planets_mars_pavement.json +0 -90
  1226. terraingenpy-0.2.0/examples/config/planets/example_planets_mars_sand_fill.json +0 -86
  1227. terraingenpy-0.2.0/examples/config/planets/example_planets_mars_sand_shadows.json +0 -83
  1228. terraingenpy-0.2.0/examples/config/planets/example_planets_mars_strata.json +0 -83
  1229. terraingenpy-0.2.0/examples/config/planets/example_planets_mars_ventifacts.json +0 -85
  1230. terraingenpy-0.2.0/examples/config/planets/example_planets_mercury_site.json +0 -56
  1231. terraingenpy-0.2.0/examples/config/planets/example_planets_moon_body_mesh.json +0 -57
  1232. terraingenpy-0.2.0/examples/config/planets/example_planets_moon_site.json +0 -85
  1233. terraingenpy-0.2.0/examples/config/terrain/example_terrain_billow.json +0 -34
  1234. terraingenpy-0.2.0/examples/config/terrain/example_terrain_cellular.json +0 -34
  1235. terraingenpy-0.2.0/examples/config/terrain/example_terrain_domain_warp.json +0 -35
  1236. terraingenpy-0.2.0/examples/config/terrain/example_terrain_fbm.json +0 -33
  1237. terraingenpy-0.2.0/examples/config/terrain/example_terrain_layered.json +0 -49
  1238. terraingenpy-0.2.0/examples/config/terrain/example_terrain_ridged.json +0 -34
  1239. terraingenpy-0.2.0/examples/config/terrain/example_terrain_roughness.json +0 -34
  1240. terraingenpy-0.2.0/examples/config/terrain/example_terrain_voronoi.json +0 -41
  1241. terraingenpy-0.2.0/examples/cpp/CMakeLists.txt +0 -39
  1242. terraingenpy-0.2.0/examples/cpp/ages/example_ages_models.cpp +0 -164
  1243. terraingenpy-0.2.0/examples/cpp/albedo/example_albedo_crater_rays.cpp +0 -109
  1244. terraingenpy-0.2.0/examples/cpp/boulders/example_boulders_ejecta.cpp +0 -128
  1245. terraingenpy-0.2.0/examples/cpp/boulders/example_boulders_layer.cpp +0 -111
  1246. terraingenpy-0.2.0/examples/cpp/boulders/example_boulders_manual.cpp +0 -165
  1247. terraingenpy-0.2.0/examples/cpp/boulders/example_boulders_shapes.cpp +0 -100
  1248. terraingenpy-0.2.0/examples/cpp/common/browser.cpp +0 -337
  1249. terraingenpy-0.2.0/examples/cpp/common/browser.h +0 -72
  1250. terraingenpy-0.2.0/examples/cpp/common/example.cpp +0 -293
  1251. terraingenpy-0.2.0/examples/cpp/common/example.h +0 -177
  1252. terraingenpy-0.2.0/examples/cpp/common/main.cpp +0 -21
  1253. terraingenpy-0.2.0/examples/cpp/common/standalone_main.cpp +0 -13
  1254. terraingenpy-0.2.0/examples/cpp/config/example_config_load.cpp +0 -66
  1255. terraingenpy-0.2.0/examples/cpp/craters/example_craters_degradation.cpp +0 -137
  1256. terraingenpy-0.2.0/examples/cpp/craters/example_craters_manual.cpp +0 -106
  1257. terraingenpy-0.2.0/examples/cpp/craters/example_craters_manual_depth.cpp +0 -118
  1258. terraingenpy-0.2.0/examples/cpp/craters/example_craters_profiles.cpp +0 -159
  1259. terraingenpy-0.2.0/examples/cpp/craters/example_craters_secondaries.cpp +0 -112
  1260. terraingenpy-0.2.0/examples/cpp/craters/example_craters_simple.cpp +0 -98
  1261. terraingenpy-0.2.0/examples/cpp/distributions/example_distributions_csfd.cpp +0 -170
  1262. terraingenpy-0.2.0/examples/cpp/layers/example_layers_custom.cpp +0 -168
  1263. terraingenpy-0.2.0/examples/cpp/layers/example_layers_regions.cpp +0 -119
  1264. terraingenpy-0.2.0/examples/cpp/planets/example_planets_moon.cpp +0 -145
  1265. terraingenpy-0.2.0/examples/cpp/queries/example_queries_rover_contacts.cpp +0 -162
  1266. terraingenpy-0.2.0/examples/cpp/sources/example_sources_raster_detail.cpp +0 -127
  1267. terraingenpy-0.2.0/examples/cpp/sources/example_sources_raster_roughness.cpp +0 -104
  1268. terraingenpy-0.2.0/examples/cpp/terrain/example_terrain_fbm.cpp +0 -75
  1269. terraingenpy-0.2.0/examples/cpp/terrain/example_terrain_layered.cpp +0 -95
  1270. terraingenpy-0.2.0/examples/python/__main__.py +0 -38
  1271. terraingenpy-0.2.0/examples/python/_browser.py +0 -128
  1272. terraingenpy-0.2.0/examples/python/_common.py +0 -47
  1273. terraingenpy-0.2.0/examples/python/_harness.py +0 -233
  1274. terraingenpy-0.2.0/examples/python/_images.py +0 -131
  1275. terraingenpy-0.2.0/examples/python/ages/example_ages_models.py +0 -94
  1276. terraingenpy-0.2.0/examples/python/albedo/example_albedo_crater_rays.py +0 -87
  1277. terraingenpy-0.2.0/examples/python/albedo/example_albedo_moon_site.py +0 -95
  1278. terraingenpy-0.2.0/examples/python/albedo/example_albedo_options.py +0 -151
  1279. terraingenpy-0.2.0/examples/python/boulders/example_boulders_exposure.py +0 -78
  1280. terraingenpy-0.2.0/examples/python/boulders/example_boulders_layer.py +0 -97
  1281. terraingenpy-0.2.0/examples/python/boulders/example_boulders_manual.py +0 -121
  1282. terraingenpy-0.2.0/examples/python/boulders/example_boulders_positioning.py +0 -102
  1283. terraingenpy-0.2.0/examples/python/boulders/example_boulders_shapes.py +0 -105
  1284. terraingenpy-0.2.0/examples/python/boulders/example_boulders_size_models.py +0 -88
  1285. terraingenpy-0.2.0/examples/python/config/example_config_load.py +0 -65
  1286. terraingenpy-0.2.0/examples/python/craters/example_craters_age_sweep.py +0 -85
  1287. terraingenpy-0.2.0/examples/python/craters/example_craters_apply_options.py +0 -94
  1288. terraingenpy-0.2.0/examples/python/craters/example_craters_degradation.py +0 -89
  1289. terraingenpy-0.2.0/examples/python/craters/example_craters_irregularity.py +0 -97
  1290. terraingenpy-0.2.0/examples/python/craters/example_craters_manual.py +0 -73
  1291. terraingenpy-0.2.0/examples/python/craters/example_craters_manual_depth.py +0 -100
  1292. terraingenpy-0.2.0/examples/python/craters/example_craters_positioning.py +0 -98
  1293. terraingenpy-0.2.0/examples/python/craters/example_craters_profiles.py +0 -135
  1294. terraingenpy-0.2.0/examples/python/craters/example_craters_rim_smoothing.py +0 -78
  1295. terraingenpy-0.2.0/examples/python/craters/example_craters_secondaries.py +0 -91
  1296. terraingenpy-0.2.0/examples/python/craters/example_craters_simple.py +0 -73
  1297. terraingenpy-0.2.0/examples/python/distributions/example_distributions_csfd.py +0 -87
  1298. terraingenpy-0.2.0/examples/python/distributions/example_distributions_custom.py +0 -85
  1299. terraingenpy-0.2.0/examples/python/layers/example_layers_custom.py +0 -149
  1300. terraingenpy-0.2.0/examples/python/layers/example_layers_regions.py +0 -99
  1301. terraingenpy-0.2.0/examples/python/planets/example_planets_body_mesh.py +0 -98
  1302. terraingenpy-0.2.0/examples/python/planets/example_planets_mars.py +0 -82
  1303. terraingenpy-0.2.0/examples/python/planets/example_planets_mars_dunes.py +0 -63
  1304. terraingenpy-0.2.0/examples/python/planets/example_planets_mars_exposure.py +0 -103
  1305. terraingenpy-0.2.0/examples/python/planets/example_planets_mercury.py +0 -83
  1306. terraingenpy-0.2.0/examples/python/planets/example_planets_moon_site.py +0 -102
  1307. terraingenpy-0.2.0/examples/python/queries/example_queries_points.py +0 -90
  1308. terraingenpy-0.2.0/examples/python/queries/example_queries_rover_contacts.py +0 -120
  1309. terraingenpy-0.2.0/examples/python/sources/example_sources_chain.py +0 -80
  1310. terraingenpy-0.2.0/examples/python/sources/example_sources_raster_detail.py +0 -131
  1311. terraingenpy-0.2.0/examples/python/terrain/example_terrain_fbm.py +0 -62
  1312. terraingenpy-0.2.0/examples/python/terrain/example_terrain_fractal_types.py +0 -61
  1313. terraingenpy-0.2.0/examples/python/terrain/example_terrain_hurst_sweep.py +0 -62
  1314. terraingenpy-0.2.0/examples/python/terrain/example_terrain_layered.py +0 -75
  1315. terraingenpy-0.2.0/examples/python/terrain/example_terrain_noise_kernels.py +0 -78
  1316. terraingenpy-0.2.0/mkdocs.yml +0 -155
  1317. terraingenpy-0.2.0/pyproject.toml +0 -94
  1318. terraingenpy-0.2.0/terraingen/CMakeLists.txt +0 -124
  1319. terraingenpy-0.2.0/terraingen/albedo/CMakeLists.txt +0 -22
  1320. terraingenpy-0.2.0/terraingen/albedo/albedo.cpp +0 -157
  1321. terraingenpy-0.2.0/terraingen/albedo/albedo.h +0 -133
  1322. terraingenpy-0.2.0/terraingen/albedo/bands.cpp +0 -66
  1323. terraingenpy-0.2.0/terraingen/albedo/bands.h +0 -49
  1324. terraingenpy-0.2.0/terraingen/albedo/blast_zones.cpp +0 -114
  1325. terraingenpy-0.2.0/terraingen/albedo/blast_zones.h +0 -87
  1326. terraingenpy-0.2.0/terraingen/albedo/brightness_statistics.cpp +0 -81
  1327. terraingenpy-0.2.0/terraingen/albedo/brightness_statistics.h +0 -28
  1328. terraingenpy-0.2.0/terraingen/albedo/crater_albedo.cpp +0 -859
  1329. terraingenpy-0.2.0/terraingen/albedo/crater_albedo.h +0 -433
  1330. terraingenpy-0.2.0/terraingen/albedo/maturity.cpp +0 -27
  1331. terraingenpy-0.2.0/terraingen/albedo/maturity.h +0 -42
  1332. terraingenpy-0.2.0/terraingen/albedo/photometry.cpp +0 -93
  1333. terraingenpy-0.2.0/terraingen/albedo/photometry.h +0 -56
  1334. terraingenpy-0.2.0/terraingen/albedo/raster_albedo.cpp +0 -150
  1335. terraingenpy-0.2.0/terraingen/albedo/raster_albedo.h +0 -109
  1336. terraingenpy-0.2.0/terraingen/albedo/rock_albedo.cpp +0 -121
  1337. terraingenpy-0.2.0/terraingen/albedo/rock_albedo.h +0 -78
  1338. terraingenpy-0.2.0/terraingen/albedo/slope_albedo.cpp +0 -155
  1339. terraingenpy-0.2.0/terraingen/albedo/slope_albedo.h +0 -81
  1340. terraingenpy-0.2.0/terraingen/albedo/splotches.cpp +0 -461
  1341. terraingenpy-0.2.0/terraingen/albedo/splotches.h +0 -195
  1342. terraingenpy-0.2.0/terraingen/albedo/synthetic.cpp +0 -86
  1343. terraingenpy-0.2.0/terraingen/albedo/synthetic.h +0 -86
  1344. terraingenpy-0.2.0/terraingen/app/CMakeLists.txt +0 -31
  1345. terraingenpy-0.2.0/terraingen/app/cli.cpp +0 -347
  1346. terraingenpy-0.2.0/terraingen/app/cli.h +0 -64
  1347. terraingenpy-0.2.0/terraingen/app/gui/CMakeLists.txt +0 -8
  1348. terraingenpy-0.2.0/terraingen/app/gui/config_editor.cpp +0 -921
  1349. terraingenpy-0.2.0/terraingen/app/gui/config_editor.h +0 -128
  1350. terraingenpy-0.2.0/terraingen/app/gui/gui_app.cpp +0 -509
  1351. terraingenpy-0.2.0/terraingen/app/gui/gui_app.h +0 -142
  1352. terraingenpy-0.2.0/terraingen/app/gui/run.cpp +0 -31
  1353. terraingenpy-0.2.0/terraingen/app/gui/run.h +0 -24
  1354. terraingenpy-0.2.0/terraingen/app/gui/run_none.cpp +0 -17
  1355. terraingenpy-0.2.0/terraingen/app/gui/terrain_scene.cpp +0 -94
  1356. terraingenpy-0.2.0/terraingen/app/gui/terrain_scene.h +0 -36
  1357. terraingenpy-0.2.0/terraingen/app/gui/widgets.h +0 -34
  1358. terraingenpy-0.2.0/terraingen/app/main.cpp +0 -10
  1359. terraingenpy-0.2.0/terraingen/config/CMakeLists.txt +0 -26
  1360. terraingenpy-0.2.0/terraingen/config/build.cpp +0 -1008
  1361. terraingenpy-0.2.0/terraingen/config/build.h +0 -173
  1362. terraingenpy-0.2.0/terraingen/config/config.cpp +0 -130
  1363. terraingenpy-0.2.0/terraingen/config/config.h +0 -1385
  1364. terraingenpy-0.2.0/terraingen/config/feature_lists.cpp +0 -274
  1365. terraingenpy-0.2.0/terraingen/config/fields/albedo.h +0 -561
  1366. terraingenpy-0.2.0/terraingen/config/fields/boulders.h +0 -583
  1367. terraingenpy-0.2.0/terraingen/config/fields/checks.h +0 -69
  1368. terraingenpy-0.2.0/terraingen/config/fields/common.h +0 -343
  1369. terraingenpy-0.2.0/terraingen/config/fields/crater_models.h +0 -296
  1370. terraingenpy-0.2.0/terraingen/config/fields/craters.h +0 -448
  1371. terraingenpy-0.2.0/terraingen/config/fields/enums.h +0 -402
  1372. terraingenpy-0.2.0/terraingen/config/fields/fields.h +0 -44
  1373. terraingenpy-0.2.0/terraingen/config/fields/json_io.h +0 -391
  1374. terraingenpy-0.2.0/terraingen/config/fields/layers.h +0 -610
  1375. terraingenpy-0.2.0/terraingen/config/fields/maps.h +0 -62
  1376. terraingenpy-0.2.0/terraingen/config/fields/materials.h +0 -56
  1377. terraingenpy-0.2.0/terraingen/config/fields/outputs.h +0 -205
  1378. terraingenpy-0.2.0/terraingen/config/fields/ranges.h +0 -141
  1379. terraingenpy-0.2.0/terraingen/config/fields/sources.h +0 -175
  1380. terraingenpy-0.2.0/terraingen/config/generate.cpp +0 -590
  1381. terraingenpy-0.2.0/terraingen/config/generate.h +0 -136
  1382. terraingenpy-0.2.0/terraingen/config/json.cpp +0 -252
  1383. terraingenpy-0.2.0/terraingen/config/json.h +0 -88
  1384. terraingenpy-0.2.0/terraingen/config/ranges.cpp +0 -89
  1385. terraingenpy-0.2.0/terraingen/config/report.cpp +0 -284
  1386. terraingenpy-0.2.0/terraingen/config/report.h +0 -114
  1387. terraingenpy-0.2.0/terraingen/config/schema.cpp +0 -274
  1388. terraingenpy-0.2.0/terraingen/config/validate.cpp +0 -1060
  1389. terraingenpy-0.2.0/terraingen/config/validate.h +0 -57
  1390. terraingenpy-0.2.0/terraingen/distribution/CMakeLists.txt +0 -26
  1391. terraingenpy-0.2.0/terraingen/distribution/composition.cpp +0 -66
  1392. terraingenpy-0.2.0/terraingen/distribution/composition.h +0 -118
  1393. terraingenpy-0.2.0/terraingen/distribution/equilibrium.cpp +0 -15
  1394. terraingenpy-0.2.0/terraingen/distribution/equilibrium.h +0 -17
  1395. terraingenpy-0.2.0/terraingen/distribution/exponential_chronology.cpp +0 -31
  1396. terraingenpy-0.2.0/terraingen/distribution/exponential_chronology.h +0 -25
  1397. terraingenpy-0.2.0/terraingen/distribution/golombek_rapp.cpp +0 -38
  1398. terraingenpy-0.2.0/terraingen/distribution/golombek_rapp.h +0 -47
  1399. terraingenpy-0.2.0/terraingen/distribution/ivanov.cpp +0 -29
  1400. terraingenpy-0.2.0/terraingen/distribution/ivanov.h +0 -26
  1401. terraingenpy-0.2.0/terraingen/distribution/log_polynomial.cpp +0 -61
  1402. terraingenpy-0.2.0/terraingen/distribution/log_polynomial.h +0 -46
  1403. terraingenpy-0.2.0/terraingen/distribution/minimum.cpp +0 -54
  1404. terraingenpy-0.2.0/terraingen/distribution/minimum.h +0 -46
  1405. terraingenpy-0.2.0/terraingen/distribution/moore.cpp +0 -28
  1406. terraingenpy-0.2.0/terraingen/distribution/moore.h +0 -22
  1407. terraingenpy-0.2.0/terraingen/distribution/neukum.cpp +0 -43
  1408. terraingenpy-0.2.0/terraingen/distribution/neukum.h +0 -32
  1409. terraingenpy-0.2.0/terraingen/distribution/piecewise_power_law.cpp +0 -59
  1410. terraingenpy-0.2.0/terraingen/distribution/piecewise_power_law.h +0 -48
  1411. terraingenpy-0.2.0/terraingen/distribution/piecewise_uniform.cpp +0 -105
  1412. terraingenpy-0.2.0/terraingen/distribution/piecewise_uniform.h +0 -61
  1413. terraingenpy-0.2.0/terraingen/distribution/power_law.cpp +0 -34
  1414. terraingenpy-0.2.0/terraingen/distribution/power_law.h +0 -78
  1415. terraingenpy-0.2.0/terraingen/distribution/production_surface.cpp +0 -35
  1416. terraingenpy-0.2.0/terraingen/distribution/production_surface.h +0 -52
  1417. terraingenpy-0.2.0/terraingen/distribution/size_frequency.cpp +0 -166
  1418. terraingenpy-0.2.0/terraingen/distribution/size_frequency.h +0 -126
  1419. terraingenpy-0.2.0/terraingen/distribution/sp8023.cpp +0 -126
  1420. terraingenpy-0.2.0/terraingen/distribution/sp8023.h +0 -22
  1421. terraingenpy-0.2.0/terraingen/distribution/spliced.cpp +0 -65
  1422. terraingenpy-0.2.0/terraingen/distribution/spliced.h +0 -52
  1423. terraingenpy-0.2.0/terraingen/distribution/summed.cpp +0 -54
  1424. terraingenpy-0.2.0/terraingen/distribution/summed.h +0 -46
  1425. terraingenpy-0.2.0/terraingen/distribution/synthterrain.cpp +0 -19
  1426. terraingenpy-0.2.0/terraingen/distribution/synthterrain.h +0 -22
  1427. terraingenpy-0.2.0/terraingen/distribution/tabulated.cpp +0 -80
  1428. terraingenpy-0.2.0/terraingen/distribution/tabulated.h +0 -55
  1429. terraingenpy-0.2.0/terraingen/distribution/viper.cpp +0 -10
  1430. terraingenpy-0.2.0/terraingen/distribution/viper.h +0 -14
  1431. terraingenpy-0.2.0/terraingen/gpu/CMakeLists.txt +0 -25
  1432. terraingenpy-0.2.0/terraingen/gpu/backend.cpp +0 -183
  1433. terraingenpy-0.2.0/terraingen/gpu/backend.h +0 -70
  1434. terraingenpy-0.2.0/terraingen/gpu/cuda.cpp +0 -331
  1435. terraingenpy-0.2.0/terraingen/gpu/cuda.h +0 -53
  1436. terraingenpy-0.2.0/terraingen/gpu/device.h +0 -103
  1437. terraingenpy-0.2.0/terraingen/gpu/kernel.cpp +0 -147
  1438. terraingenpy-0.2.0/terraingen/gpu/kernel.h +0 -40
  1439. terraingenpy-0.2.0/terraingen/gpu/kernel.slang +0 -37
  1440. terraingenpy-0.2.0/terraingen/gpu/metal.cpp +0 -196
  1441. terraingenpy-0.2.0/terraingen/gpu/metal.h +0 -48
  1442. terraingenpy-0.2.0/terraingen/gpu/program.h +0 -22
  1443. terraingenpy-0.2.0/terraingen/gpu/vulkan.cpp +0 -570
  1444. terraingenpy-0.2.0/terraingen/gpu/vulkan.h +0 -72
  1445. terraingenpy-0.2.0/terraingen/layers/CMakeLists.txt +0 -80
  1446. terraingenpy-0.2.0/terraingen/layers/anchored_plane.cpp +0 -22
  1447. terraingenpy-0.2.0/terraingen/layers/anchored_plane.h +0 -27
  1448. terraingenpy-0.2.0/terraingen/layers/bedforms.cpp +0 -204
  1449. terraingenpy-0.2.0/terraingen/layers/bedforms.h +0 -129
  1450. terraingenpy-0.2.0/terraingen/layers/bisection.h +0 -36
  1451. terraingenpy-0.2.0/terraingen/layers/boulders/abundance.cpp +0 -391
  1452. terraingenpy-0.2.0/terraingen/layers/boulders/boulder.h +0 -162
  1453. terraingenpy-0.2.0/terraingen/layers/boulders/boulder_abundance.cpp +0 -180
  1454. terraingenpy-0.2.0/terraingen/layers/boulders/boulder_abundance.h +0 -83
  1455. terraingenpy-0.2.0/terraingen/layers/boulders/boulder_clusters.cpp +0 -58
  1456. terraingenpy-0.2.0/terraingen/layers/boulders/boulder_clusters.h +0 -46
  1457. terraingenpy-0.2.0/terraingen/layers/boulders/boulder_fragments.cpp +0 -111
  1458. terraingenpy-0.2.0/terraingen/layers/boulders/boulder_fragments.h +0 -40
  1459. terraingenpy-0.2.0/terraingen/layers/boulders/boulder_layer.cpp +0 -1028
  1460. terraingenpy-0.2.0/terraingen/layers/boulders/boulder_layer.h +0 -409
  1461. terraingenpy-0.2.0/terraingen/layers/boulders/boulder_models.cpp +0 -326
  1462. terraingenpy-0.2.0/terraingen/layers/boulders/boulder_models.h +0 -99
  1463. terraingenpy-0.2.0/terraingen/layers/boulders/boulder_options.cpp +0 -304
  1464. terraingenpy-0.2.0/terraingen/layers/boulders/boulder_options.h +0 -533
  1465. terraingenpy-0.2.0/terraingen/layers/boulders/boulder_placer.h +0 -41
  1466. terraingenpy-0.2.0/terraingen/layers/boulders/boulder_shape.cpp +0 -493
  1467. terraingenpy-0.2.0/terraingen/layers/boulders/boulder_shape.h +0 -134
  1468. terraingenpy-0.2.0/terraingen/layers/boulders/ejecta_index.cpp +0 -91
  1469. terraingenpy-0.2.0/terraingen/layers/boulders/ejecta_index.h +0 -53
  1470. terraingenpy-0.2.0/terraingen/layers/craters/ages/age_model.cpp +0 -61
  1471. terraingenpy-0.2.0/terraingen/layers/craters/ages/age_model.h +0 -58
  1472. terraingenpy-0.2.0/terraingen/layers/craters/ages/freshness.cpp +0 -41
  1473. terraingenpy-0.2.0/terraingen/layers/craters/ages/freshness.h +0 -37
  1474. terraingenpy-0.2.0/terraingen/layers/craters/ages/steady_state.cpp +0 -58
  1475. terraingenpy-0.2.0/terraingen/layers/craters/ages/steady_state.h +0 -52
  1476. terraingenpy-0.2.0/terraingen/layers/craters/crater.cpp +0 -107
  1477. terraingenpy-0.2.0/terraingen/layers/craters/crater.h +0 -190
  1478. terraingenpy-0.2.0/terraingen/layers/craters/crater_layer.cpp +0 -230
  1479. terraingenpy-0.2.0/terraingen/layers/craters/crater_layer.h +0 -159
  1480. terraingenpy-0.2.0/terraingen/layers/craters/crater_placer.cpp +0 -32
  1481. terraingenpy-0.2.0/terraingen/layers/craters/crater_placer.h +0 -48
  1482. terraingenpy-0.2.0/terraingen/layers/craters/degradation/degradation_model.cpp +0 -35
  1483. terraingenpy-0.2.0/terraingen/layers/craters/degradation/degradation_model.h +0 -46
  1484. terraingenpy-0.2.0/terraingen/layers/craters/degradation/diffusion.cpp +0 -330
  1485. terraingenpy-0.2.0/terraingen/layers/craters/degradation/diffusion.h +0 -163
  1486. terraingenpy-0.2.0/terraingen/layers/craters/degradation/diffusivities.cpp +0 -47
  1487. terraingenpy-0.2.0/terraingen/layers/craters/degradation/diffusivities.h +0 -47
  1488. terraingenpy-0.2.0/terraingen/layers/craters/degradation/freshness.cpp +0 -31
  1489. terraingenpy-0.2.0/terraingen/layers/craters/degradation/freshness.h +0 -33
  1490. terraingenpy-0.2.0/terraingen/layers/craters/degradation/state.h +0 -50
  1491. terraingenpy-0.2.0/terraingen/layers/craters/generation/cell_cache.cpp +0 -31
  1492. terraingenpy-0.2.0/terraingen/layers/craters/generation/cell_cache.h +0 -68
  1493. terraingenpy-0.2.0/terraingen/layers/craters/generation/population.cpp +0 -368
  1494. terraingenpy-0.2.0/terraingen/layers/craters/generation/population.h +0 -173
  1495. terraingenpy-0.2.0/terraingen/layers/craters/generation/resolved_limit.cpp +0 -19
  1496. terraingenpy-0.2.0/terraingen/layers/craters/generation/resolved_limit.h +0 -31
  1497. terraingenpy-0.2.0/terraingen/layers/craters/generation/spacing.cpp +0 -180
  1498. terraingenpy-0.2.0/terraingen/layers/craters/generation/spacing.h +0 -45
  1499. terraingenpy-0.2.0/terraingen/layers/craters/profiles/complex.cpp +0 -90
  1500. terraingenpy-0.2.0/terraingen/layers/craters/profiles/complex.h +0 -98
  1501. terraingenpy-0.2.0/terraingen/layers/craters/profiles/fassett_thomson.cpp +0 -54
  1502. terraingenpy-0.2.0/terraingen/layers/craters/profiles/fassett_thomson.h +0 -46
  1503. terraingenpy-0.2.0/terraingen/layers/craters/profiles/martin_parkes_dunstan.cpp +0 -44
  1504. terraingenpy-0.2.0/terraingen/layers/craters/profiles/martin_parkes_dunstan.h +0 -23
  1505. terraingenpy-0.2.0/terraingen/layers/craters/profiles/profile.h +0 -29
  1506. terraingenpy-0.2.0/terraingen/layers/craters/rays.cpp +0 -45
  1507. terraingenpy-0.2.0/terraingen/layers/craters/rays.h +0 -46
  1508. terraingenpy-0.2.0/terraingen/layers/craters/secondaries.cpp +0 -402
  1509. terraingenpy-0.2.0/terraingen/layers/craters/secondaries.h +0 -94
  1510. terraingenpy-0.2.0/terraingen/layers/craters/secondary_model.cpp +0 -258
  1511. terraingenpy-0.2.0/terraingen/layers/craters/secondary_model.h +0 -248
  1512. terraingenpy-0.2.0/terraingen/layers/craters/shaping/apply.cpp +0 -1173
  1513. terraingenpy-0.2.0/terraingen/layers/craters/shaping/apply.h +0 -94
  1514. terraingenpy-0.2.0/terraingen/layers/craters/shaping/apply_options.cpp +0 -112
  1515. terraingenpy-0.2.0/terraingen/layers/craters/shaping/apply_options.h +0 -211
  1516. terraingenpy-0.2.0/terraingen/layers/craters/shaping/attributes.cpp +0 -23
  1517. terraingenpy-0.2.0/terraingen/layers/craters/shaping/attributes.h +0 -38
  1518. terraingenpy-0.2.0/terraingen/layers/craters/shaping/crater_kernel.cpp +0 -302
  1519. terraingenpy-0.2.0/terraingen/layers/craters/shaping/crater_kernel.h +0 -63
  1520. terraingenpy-0.2.0/terraingen/layers/craters/shaping/datum.cpp +0 -94
  1521. terraingenpy-0.2.0/terraingen/layers/craters/shaping/datum.h +0 -87
  1522. terraingenpy-0.2.0/terraingen/layers/craters/shaping/explicit_state.cpp +0 -145
  1523. terraingenpy-0.2.0/terraingen/layers/craters/shaping/explicit_state.h +0 -37
  1524. terraingenpy-0.2.0/terraingen/layers/craters/shaping/irregularity.cpp +0 -345
  1525. terraingenpy-0.2.0/terraingen/layers/craters/shaping/irregularity.h +0 -154
  1526. terraingenpy-0.2.0/terraingen/layers/craters/shaping/morphometry.cpp +0 -74
  1527. terraingenpy-0.2.0/terraingen/layers/craters/shaping/morphometry.h +0 -48
  1528. terraingenpy-0.2.0/terraingen/layers/craters/shaping/prepared.cpp +0 -31
  1529. terraingenpy-0.2.0/terraingen/layers/craters/shaping/prepared.h +0 -62
  1530. terraingenpy-0.2.0/terraingen/layers/craters/shaping/slope.cpp +0 -61
  1531. terraingenpy-0.2.0/terraingen/layers/craters/shaping/slope.h +0 -90
  1532. terraingenpy-0.2.0/terraingen/layers/density_map.cpp +0 -118
  1533. terraingenpy-0.2.0/terraingen/layers/density_map.h +0 -145
  1534. terraingenpy-0.2.0/terraingen/layers/dunes.cpp +0 -641
  1535. terraingenpy-0.2.0/terraingen/layers/dunes.h +0 -279
  1536. terraingenpy-0.2.0/terraingen/layers/evaluation_cache.h +0 -63
  1537. terraingenpy-0.2.0/terraingen/layers/exposure.cpp +0 -108
  1538. terraingenpy-0.2.0/terraingen/layers/exposure.h +0 -86
  1539. terraingenpy-0.2.0/terraingen/layers/fade.cpp +0 -50
  1540. terraingenpy-0.2.0/terraingen/layers/fade.h +0 -48
  1541. terraingenpy-0.2.0/terraingen/layers/ground.cpp +0 -41
  1542. terraingenpy-0.2.0/terraingen/layers/ground.h +0 -77
  1543. terraingenpy-0.2.0/terraingen/layers/kernel.h +0 -42
  1544. terraingenpy-0.2.0/terraingen/layers/kernels/cell.h +0 -16
  1545. terraingenpy-0.2.0/terraingen/layers/kernels/crater_body_datums.slang +0 -39
  1546. terraingenpy-0.2.0/terraingen/layers/kernels/crater_datums.slang +0 -34
  1547. terraingenpy-0.2.0/terraingen/layers/kernels/craters.h +0 -842
  1548. terraingenpy-0.2.0/terraingen/layers/kernels/craters.slang +0 -58
  1549. terraingenpy-0.2.0/terraingen/layers/kernels/noise_relief.h +0 -52
  1550. terraingenpy-0.2.0/terraingen/layers/kernels/noise_relief.slang +0 -24
  1551. terraingenpy-0.2.0/terraingen/layers/lattice.h +0 -34
  1552. terraingenpy-0.2.0/terraingen/layers/layer.cpp +0 -50
  1553. terraingenpy-0.2.0/terraingen/layers/layer.h +0 -89
  1554. terraingenpy-0.2.0/terraingen/layers/masked.cpp +0 -240
  1555. terraingenpy-0.2.0/terraingen/layers/masked.h +0 -117
  1556. terraingenpy-0.2.0/terraingen/layers/material.cpp +0 -37
  1557. terraingenpy-0.2.0/terraingen/layers/material.h +0 -62
  1558. terraingenpy-0.2.0/terraingen/layers/noise_relief.cpp +0 -66
  1559. terraingenpy-0.2.0/terraingen/layers/noise_relief.h +0 -64
  1560. terraingenpy-0.2.0/terraingen/layers/pavement.cpp +0 -259
  1561. terraingenpy-0.2.0/terraingen/layers/pavement.h +0 -139
  1562. terraingenpy-0.2.0/terraingen/layers/roughness.cpp +0 -194
  1563. terraingenpy-0.2.0/terraingen/layers/roughness.h +0 -101
  1564. terraingenpy-0.2.0/terraingen/layers/roughness_estimate.cpp +0 -135
  1565. terraingenpy-0.2.0/terraingen/layers/roughness_estimate.h +0 -62
  1566. terraingenpy-0.2.0/terraingen/layers/sample_block.cpp +0 -55
  1567. terraingenpy-0.2.0/terraingen/layers/sample_block.h +0 -85
  1568. terraingenpy-0.2.0/terraingen/layers/sand_fill.cpp +0 -79
  1569. terraingenpy-0.2.0/terraingen/layers/sand_fill.h +0 -79
  1570. terraingenpy-0.2.0/terraingen/layers/sand_shadow.cpp +0 -150
  1571. terraingenpy-0.2.0/terraingen/layers/sand_shadow.h +0 -108
  1572. terraingenpy-0.2.0/terraingen/layers/source_resolved.cpp +0 -60
  1573. terraingenpy-0.2.0/terraingen/layers/source_resolved.h +0 -46
  1574. terraingenpy-0.2.0/terraingen/layers/spectral_continuation.cpp +0 -525
  1575. terraingenpy-0.2.0/terraingen/layers/spectral_continuation.h +0 -171
  1576. terraingenpy-0.2.0/terraingen/layers/strata.cpp +0 -140
  1577. terraingenpy-0.2.0/terraingen/layers/strata.h +0 -113
  1578. terraingenpy-0.2.0/terraingen/layers/transforms.cpp +0 -55
  1579. terraingenpy-0.2.0/terraingen/layers/transforms.h +0 -83
  1580. terraingenpy-0.2.0/terraingen/mesh/CMakeLists.txt +0 -17
  1581. terraingenpy-0.2.0/terraingen/mesh/io/formats.h +0 -66
  1582. terraingenpy-0.2.0/terraingen/mesh/io/gltf.cpp +0 -303
  1583. terraingenpy-0.2.0/terraingen/mesh/io/icq.cpp +0 -219
  1584. terraingenpy-0.2.0/terraingen/mesh/io/icq.h +0 -83
  1585. terraingenpy-0.2.0/terraingen/mesh/io/mesh_io.cpp +0 -108
  1586. terraingenpy-0.2.0/terraingen/mesh/io/mesh_io.h +0 -71
  1587. terraingenpy-0.2.0/terraingen/mesh/io/obj.cpp +0 -115
  1588. terraingenpy-0.2.0/terraingen/mesh/io/stl.cpp +0 -135
  1589. terraingenpy-0.2.0/terraingen/mesh/mesh.cpp +0 -239
  1590. terraingenpy-0.2.0/terraingen/mesh/mesh.h +0 -119
  1591. terraingenpy-0.2.0/terraingen/mesh/polyhedra.cpp +0 -173
  1592. terraingenpy-0.2.0/terraingen/mesh/polyhedra.h +0 -38
  1593. terraingenpy-0.2.0/terraingen/mesh/shape_model.cpp +0 -183
  1594. terraingenpy-0.2.0/terraingen/mesh/shape_model.h +0 -21
  1595. terraingenpy-0.2.0/terraingen/noise/CMakeLists.txt +0 -3
  1596. terraingenpy-0.2.0/terraingen/noise/fractal.h +0 -325
  1597. terraingenpy-0.2.0/terraingen/noise/hash.h +0 -83
  1598. terraingenpy-0.2.0/terraingen/noise/lattice.h +0 -121
  1599. terraingenpy-0.2.0/terraingen/noise/noise_layers.h +0 -231
  1600. terraingenpy-0.2.0/terraingen/noise/perlin.h +0 -165
  1601. terraingenpy-0.2.0/terraingen/noise/simplex.h +0 -149
  1602. terraingenpy-0.2.0/terraingen/noise/validate.cpp +0 -38
  1603. terraingenpy-0.2.0/terraingen/noise/validate.h +0 -18
  1604. terraingenpy-0.2.0/terraingen/noise/value.h +0 -73
  1605. terraingenpy-0.2.0/terraingen/noise/worley.h +0 -122
  1606. terraingenpy-0.2.0/terraingen/pipeline/CMakeLists.txt +0 -14
  1607. terraingenpy-0.2.0/terraingen/pipeline/body_mesh.cpp +0 -116
  1608. terraingenpy-0.2.0/terraingen/pipeline/body_mesh.h +0 -37
  1609. terraingenpy-0.2.0/terraingen/pipeline/features.cpp +0 -21
  1610. terraingenpy-0.2.0/terraingen/pipeline/features.h +0 -23
  1611. terraingenpy-0.2.0/terraingen/pipeline/generator.cpp +0 -220
  1612. terraingenpy-0.2.0/terraingen/pipeline/generator.h +0 -160
  1613. terraingenpy-0.2.0/terraingen/pipeline/materials.cpp +0 -123
  1614. terraingenpy-0.2.0/terraingen/pipeline/materials.h +0 -56
  1615. terraingenpy-0.2.0/terraingen/pipeline/mesh_build.cpp +0 -254
  1616. terraingenpy-0.2.0/terraingen/pipeline/mesh_build.h +0 -71
  1617. terraingenpy-0.2.0/terraingen/python/CMakeLists.txt +0 -62
  1618. terraingenpy-0.2.0/terraingen/python/src/albedo.cpp +0 -474
  1619. terraingenpy-0.2.0/terraingen/python/src/arrays.h +0 -75
  1620. terraingenpy-0.2.0/terraingen/python/src/bindings.h +0 -26
  1621. terraingenpy-0.2.0/terraingen/python/src/boulders.cpp +0 -456
  1622. terraingenpy-0.2.0/terraingen/python/src/casters.h +0 -84
  1623. terraingenpy-0.2.0/terraingen/python/src/common.h +0 -49
  1624. terraingenpy-0.2.0/terraingen/python/src/crater_models.cpp +0 -355
  1625. terraingenpy-0.2.0/terraingen/python/src/craters.cpp +0 -572
  1626. terraingenpy-0.2.0/terraingen/python/src/distribution.cpp +0 -377
  1627. terraingenpy-0.2.0/terraingen/python/src/gpu.cpp +0 -46
  1628. terraingenpy-0.2.0/terraingen/python/src/layers.cpp +0 -513
  1629. terraingenpy-0.2.0/terraingen/python/src/materials.cpp +0 -106
  1630. terraingenpy-0.2.0/terraingen/python/src/mesh.cpp +0 -265
  1631. terraingenpy-0.2.0/terraingen/python/src/module.cpp +0 -26
  1632. terraingenpy-0.2.0/terraingen/python/src/noise.cpp +0 -370
  1633. terraingenpy-0.2.0/terraingen/python/src/objects.h +0 -123
  1634. terraingenpy-0.2.0/terraingen/python/src/options.h +0 -307
  1635. terraingenpy-0.2.0/terraingen/python/src/pipeline.cpp +0 -578
  1636. terraingenpy-0.2.0/terraingen/python/src/random.cpp +0 -138
  1637. terraingenpy-0.2.0/terraingen/python/src/raster.cpp +0 -289
  1638. terraingenpy-0.2.0/terraingen/python/src/report.cpp +0 -103
  1639. terraingenpy-0.2.0/terraingen/python/src/sources.cpp +0 -461
  1640. terraingenpy-0.2.0/terraingen/python/src/tables.h +0 -93
  1641. terraingenpy-0.2.0/terraingen/python/src/trampolines.h +0 -85
  1642. terraingenpy-0.2.0/terraingen/python/src/util.cpp +0 -243
  1643. terraingenpy-0.2.0/terraingen/python/terraingen/__init__.py +0 -39
  1644. terraingenpy-0.2.0/terraingen/python/terraingen/render.py +0 -237
  1645. terraingenpy-0.2.0/terraingen/random/CMakeLists.txt +0 -8
  1646. terraingenpy-0.2.0/terraingen/random/philox.h +0 -91
  1647. terraingenpy-0.2.0/terraingen/random/samplers.cpp +0 -143
  1648. terraingenpy-0.2.0/terraingen/random/samplers.h +0 -66
  1649. terraingenpy-0.2.0/terraingen/random/stream.cpp +0 -33
  1650. terraingenpy-0.2.0/terraingen/random/stream.h +0 -71
  1651. terraingenpy-0.2.0/terraingen/random/streams.h +0 -147
  1652. terraingenpy-0.2.0/terraingen/random/value_distribution.cpp +0 -133
  1653. terraingenpy-0.2.0/terraingen/random/value_distribution.h +0 -56
  1654. terraingenpy-0.2.0/terraingen/raster/CMakeLists.txt +0 -20
  1655. terraingenpy-0.2.0/terraingen/raster/cell_loops.cpp +0 -77
  1656. terraingenpy-0.2.0/terraingen/raster/cell_loops.h +0 -132
  1657. terraingenpy-0.2.0/terraingen/raster/gaussian_blur.cpp +0 -93
  1658. terraingenpy-0.2.0/terraingen/raster/gaussian_blur.h +0 -26
  1659. terraingenpy-0.2.0/terraingen/raster/geo_transform.h +0 -79
  1660. terraingenpy-0.2.0/terraingen/raster/geotiff/geotiff.cpp +0 -120
  1661. terraingenpy-0.2.0/terraingen/raster/geotiff/geotiff.h +0 -195
  1662. terraingenpy-0.2.0/terraingen/raster/geotiff/geotiff_read.cpp +0 -692
  1663. terraingenpy-0.2.0/terraingen/raster/geotiff/geotiff_write.cpp +0 -304
  1664. terraingenpy-0.2.0/terraingen/raster/geotiff/tiff_codecs.cpp +0 -378
  1665. terraingenpy-0.2.0/terraingen/raster/geotiff/tiff_codecs.h +0 -52
  1666. terraingenpy-0.2.0/terraingen/raster/geotiff/tiff_format.cpp +0 -129
  1667. terraingenpy-0.2.0/terraingen/raster/geotiff/tiff_format.h +0 -157
  1668. terraingenpy-0.2.0/terraingen/raster/grid.cpp +0 -112
  1669. terraingenpy-0.2.0/terraingen/raster/grid.h +0 -83
  1670. terraingenpy-0.2.0/terraingen/raster/raster.h +0 -164
  1671. terraingenpy-0.2.0/terraingen/raster/raster_stats.h +0 -48
  1672. terraingenpy-0.2.0/terraingen/raster/resample.cpp +0 -235
  1673. terraingenpy-0.2.0/terraingen/raster/resample.h +0 -169
  1674. terraingenpy-0.2.0/terraingen/raster/variogram.cpp +0 -71
  1675. terraingenpy-0.2.0/terraingen/raster/variogram.h +0 -30
  1676. terraingenpy-0.2.0/terraingen/sources/CMakeLists.txt +0 -17
  1677. terraingenpy-0.2.0/terraingen/sources/diamond_square.cpp +0 -421
  1678. terraingenpy-0.2.0/terraingen/sources/diamond_square.h +0 -172
  1679. terraingenpy-0.2.0/terraingen/sources/field.cpp +0 -125
  1680. terraingenpy-0.2.0/terraingen/sources/field.h +0 -141
  1681. terraingenpy-0.2.0/terraingen/sources/flat_source.cpp +0 -30
  1682. terraingenpy-0.2.0/terraingen/sources/flat_source.h +0 -58
  1683. terraingenpy-0.2.0/terraingen/sources/geotiff_source.cpp +0 -109
  1684. terraingenpy-0.2.0/terraingen/sources/geotiff_source.h +0 -115
  1685. terraingenpy-0.2.0/terraingen/sources/raster_source.cpp +0 -186
  1686. terraingenpy-0.2.0/terraingen/sources/raster_source.h +0 -186
  1687. terraingenpy-0.2.0/terraingen/sources/source.h +0 -80
  1688. terraingenpy-0.2.0/terraingen/sources/source_chain.cpp +0 -63
  1689. terraingenpy-0.2.0/terraingen/sources/source_chain.h +0 -60
  1690. terraingenpy-0.2.0/terraingen/sources/synthetic_source.cpp +0 -102
  1691. terraingenpy-0.2.0/terraingen/sources/synthetic_source.h +0 -104
  1692. terraingenpy-0.2.0/terraingen/sources/synthetic_terrain.cpp +0 -68
  1693. terraingenpy-0.2.0/terraingen/sources/synthetic_terrain.h +0 -54
  1694. terraingenpy-0.2.0/terraingen/sources/upsampling.cpp +0 -335
  1695. terraingenpy-0.2.0/terraingen/sources/upsampling.h +0 -188
  1696. terraingenpy-0.2.0/terraingen/terraingen.h +0 -142
  1697. terraingenpy-0.2.0/terraingen/util/CMakeLists.txt +0 -18
  1698. terraingenpy-0.2.0/terraingen/util/arithmetic.h +0 -24
  1699. terraingenpy-0.2.0/terraingen/util/bits.h +0 -32
  1700. terraingenpy-0.2.0/terraingen/util/build_info.cpp.in +0 -11
  1701. terraingenpy-0.2.0/terraingen/util/build_info.h +0 -22
  1702. terraingenpy-0.2.0/terraingen/util/cells.h +0 -205
  1703. terraingenpy-0.2.0/terraingen/util/checks.cpp +0 -46
  1704. terraingenpy-0.2.0/terraingen/util/checks.h +0 -50
  1705. terraingenpy-0.2.0/terraingen/util/cube_faces.h +0 -73
  1706. terraingenpy-0.2.0/terraingen/util/cube_sphere_cells.cpp +0 -348
  1707. terraingenpy-0.2.0/terraingen/util/fft.cpp +0 -75
  1708. terraingenpy-0.2.0/terraingen/util/fft.h +0 -26
  1709. terraingenpy-0.2.0/terraingen/util/files.cpp +0 -33
  1710. terraingenpy-0.2.0/terraingen/util/files.h +0 -19
  1711. terraingenpy-0.2.0/terraingen/util/geometry.h +0 -158
  1712. terraingenpy-0.2.0/terraingen/util/log.cpp +0 -124
  1713. terraingenpy-0.2.0/terraingen/util/log.h +0 -110
  1714. terraingenpy-0.2.0/terraingen/util/lru_cache.h +0 -125
  1715. terraingenpy-0.2.0/terraingen/util/overloaded.h +0 -16
  1716. terraingenpy-0.2.0/terraingen/util/parallel.cpp +0 -147
  1717. terraingenpy-0.2.0/terraingen/util/parallel.h +0 -23
  1718. terraingenpy-0.2.0/terraingen/util/planar_cells.cpp +0 -64
  1719. terraingenpy-0.2.0/terraingen/util/portable.h +0 -55
  1720. terraingenpy-0.2.0/terraingen/util/radial_shape.cpp +0 -158
  1721. terraingenpy-0.2.0/terraingen/util/radial_shape.h +0 -101
  1722. terraingenpy-0.2.0/terraingen/util/span.h +0 -127
  1723. terraingenpy-0.2.0/terraingen/util/special_functions.cpp +0 -78
  1724. terraingenpy-0.2.0/terraingen/util/special_functions.h +0 -13
  1725. terraingenpy-0.2.0/terraingen/util/surface.cpp +0 -332
  1726. terraingenpy-0.2.0/terraingen/util/surface.h +0 -234
  1727. terraingenpy-0.2.0/terraingen/util/text.cpp +0 -30
  1728. terraingenpy-0.2.0/terraingen/util/text.h +0 -23
  1729. terraingenpy-0.2.0/terraingen/util/version.cpp +0 -13
  1730. terraingenpy-0.2.0/terraingen/util/version.h.in +0 -29
  1731. terraingenpy-0.2.0/tests/CMakeLists.txt +0 -51
  1732. terraingenpy-0.2.0/tests/benchmark/CMakeLists.txt +0 -30
  1733. terraingenpy-0.2.0/tests/benchmark/bench_boulders.cpp +0 -26
  1734. terraingenpy-0.2.0/tests/benchmark/bench_craters.cpp +0 -63
  1735. terraingenpy-0.2.0/tests/benchmark/bench_grids.cpp +0 -87
  1736. terraingenpy-0.2.0/tests/benchmark/bench_point_queries.cpp +0 -115
  1737. terraingenpy-0.2.0/tests/benchmark/bench_python_subclasses.py +0 -144
  1738. terraingenpy-0.2.0/tests/benchmark/fixtures.h +0 -43
  1739. terraingenpy-0.2.0/tests/golden/CMakeLists.txt +0 -9
  1740. terraingenpy-0.2.0/tests/golden/noise/kernels_test.cpp +0 -101
  1741. terraingenpy-0.2.0/tests/integration/CMakeLists.txt +0 -47
  1742. terraingenpy-0.2.0/tests/integration/build_info_stable.cmake +0 -66
  1743. terraingenpy-0.2.0/tests/integration/examples/CMakeLists.txt +0 -66
  1744. terraingenpy-0.2.0/tests/integration/package/CMakeLists.txt +0 -8
  1745. terraingenpy-0.2.0/tests/integration/package/main.cpp +0 -28
  1746. terraingenpy-0.2.0/tests/integration/package/test_debian_packages.cmake +0 -40
  1747. terraingenpy-0.2.0/tests/python/CMakeLists.txt +0 -13
  1748. terraingenpy-0.2.0/tests/python/conftest.py +0 -222
  1749. terraingenpy-0.2.0/tests/python/test_albedo.py +0 -303
  1750. terraingenpy-0.2.0/tests/python/test_boulders.py +0 -390
  1751. terraingenpy-0.2.0/tests/python/test_config.py +0 -302
  1752. terraingenpy-0.2.0/tests/python/test_crater_models.py +0 -291
  1753. terraingenpy-0.2.0/tests/python/test_craters.py +0 -543
  1754. terraingenpy-0.2.0/tests/python/test_distributions.py +0 -241
  1755. terraingenpy-0.2.0/tests/python/test_examples_harness.py +0 -150
  1756. terraingenpy-0.2.0/tests/python/test_gpu.py +0 -66
  1757. terraingenpy-0.2.0/tests/python/test_layers.py +0 -649
  1758. terraingenpy-0.2.0/tests/python/test_meshes.py +0 -205
  1759. terraingenpy-0.2.0/tests/python/test_noise.py +0 -250
  1760. terraingenpy-0.2.0/tests/python/test_pipeline.py +0 -363
  1761. terraingenpy-0.2.0/tests/python/test_random.py +0 -114
  1762. terraingenpy-0.2.0/tests/python/test_raster.py +0 -251
  1763. terraingenpy-0.2.0/tests/python/test_render.py +0 -146
  1764. terraingenpy-0.2.0/tests/python/test_report.py +0 -105
  1765. terraingenpy-0.2.0/tests/python/test_sources.py +0 -312
  1766. terraingenpy-0.2.0/tests/python/test_stubs.py +0 -39
  1767. terraingenpy-0.2.0/tests/python/test_util.py +0 -212
  1768. terraingenpy-0.2.0/tests/statistical/CMakeLists.txt +0 -29
  1769. terraingenpy-0.2.0/tests/statistical/distribution/crater_references_test.cpp +0 -81
  1770. terraingenpy-0.2.0/tests/statistical/distribution/size_frequency_test.cpp +0 -74
  1771. terraingenpy-0.2.0/tests/statistical/layers/boulders/boulder_layer_test.cpp +0 -96
  1772. terraingenpy-0.2.0/tests/statistical/layers/craters/ages/ages_test.cpp +0 -75
  1773. terraingenpy-0.2.0/tests/statistical/layers/craters/population_test.cpp +0 -144
  1774. terraingenpy-0.2.0/tests/statistical/layers/roughness_test.cpp +0 -52
  1775. terraingenpy-0.2.0/tests/statistical/random/random_test.cpp +0 -161
  1776. terraingenpy-0.2.0/tests/support/log_capture.h +0 -46
  1777. terraingenpy-0.2.0/tests/support/lunar_craters.h +0 -51
  1778. terraingenpy-0.2.0/tests/support/raster_equality.h +0 -24
  1779. terraingenpy-0.2.0/tests/support/statistics.h +0 -50
  1780. terraingenpy-0.2.0/tests/support/temp_path.h +0 -19
  1781. terraingenpy-0.2.0/tests/unit/CMakeLists.txt +0 -18
  1782. terraingenpy-0.2.0/tests/unit/albedo/CMakeLists.txt +0 -14
  1783. terraingenpy-0.2.0/tests/unit/albedo/albedo_test.cpp +0 -429
  1784. terraingenpy-0.2.0/tests/unit/albedo/bands_test.cpp +0 -71
  1785. terraingenpy-0.2.0/tests/unit/albedo/blast_zones_test.cpp +0 -122
  1786. terraingenpy-0.2.0/tests/unit/albedo/crater_albedo_test.cpp +0 -836
  1787. terraingenpy-0.2.0/tests/unit/albedo/photometry_test.cpp +0 -69
  1788. terraingenpy-0.2.0/tests/unit/albedo/rock_albedo_test.cpp +0 -160
  1789. terraingenpy-0.2.0/tests/unit/albedo/slope_albedo_test.cpp +0 -124
  1790. terraingenpy-0.2.0/tests/unit/albedo/splotches_test.cpp +0 -393
  1791. terraingenpy-0.2.0/tests/unit/app/CMakeLists.txt +0 -4
  1792. terraingenpy-0.2.0/tests/unit/app/cli_test.cpp +0 -291
  1793. terraingenpy-0.2.0/tests/unit/app/gui/CMakeLists.txt +0 -10
  1794. terraingenpy-0.2.0/tests/unit/app/gui/config_editor_test.cpp +0 -186
  1795. terraingenpy-0.2.0/tests/unit/app/gui/gui_app_test.cpp +0 -175
  1796. terraingenpy-0.2.0/tests/unit/app/gui/terrain_scene_test.cpp +0 -90
  1797. terraingenpy-0.2.0/tests/unit/config/CMakeLists.txt +0 -21
  1798. terraingenpy-0.2.0/tests/unit/config/angles_test.cpp +0 -171
  1799. terraingenpy-0.2.0/tests/unit/config/build_test.cpp +0 -1012
  1800. terraingenpy-0.2.0/tests/unit/config/checks_test.cpp +0 -59
  1801. terraingenpy-0.2.0/tests/unit/config/config_test.cpp +0 -117
  1802. terraingenpy-0.2.0/tests/unit/config/configs.h +0 -298
  1803. terraingenpy-0.2.0/tests/unit/config/feature_lists_test.cpp +0 -160
  1804. terraingenpy-0.2.0/tests/unit/config/generate_terrain_test.cpp +0 -964
  1805. terraingenpy-0.2.0/tests/unit/config/json_io_test.cpp +0 -848
  1806. terraingenpy-0.2.0/tests/unit/config/json_parse_errors_test.cpp +0 -171
  1807. terraingenpy-0.2.0/tests/unit/config/json_read_test.cpp +0 -246
  1808. terraingenpy-0.2.0/tests/unit/config/ranges_test.cpp +0 -168
  1809. terraingenpy-0.2.0/tests/unit/config/report_test.cpp +0 -316
  1810. terraingenpy-0.2.0/tests/unit/config/schema_test.cpp +0 -612
  1811. terraingenpy-0.2.0/tests/unit/config/validate_config_test.cpp +0 -1120
  1812. terraingenpy-0.2.0/tests/unit/config/validate_sources_test.cpp +0 -356
  1813. terraingenpy-0.2.0/tests/unit/config/write_outputs_test.cpp +0 -458
  1814. terraingenpy-0.2.0/tests/unit/distribution/CMakeLists.txt +0 -25
  1815. terraingenpy-0.2.0/tests/unit/distribution/composition_test.cpp +0 -135
  1816. terraingenpy-0.2.0/tests/unit/distribution/equilibrium_test.cpp +0 -20
  1817. terraingenpy-0.2.0/tests/unit/distribution/exponential_chronology_test.cpp +0 -39
  1818. terraingenpy-0.2.0/tests/unit/distribution/golombek_rapp_test.cpp +0 -57
  1819. terraingenpy-0.2.0/tests/unit/distribution/ivanov_test.cpp +0 -34
  1820. terraingenpy-0.2.0/tests/unit/distribution/log_polynomial_test.cpp +0 -66
  1821. terraingenpy-0.2.0/tests/unit/distribution/minimum_test.cpp +0 -69
  1822. terraingenpy-0.2.0/tests/unit/distribution/moore_test.cpp +0 -22
  1823. terraingenpy-0.2.0/tests/unit/distribution/neukum_test.cpp +0 -134
  1824. terraingenpy-0.2.0/tests/unit/distribution/piecewise_power_law_test.cpp +0 -91
  1825. terraingenpy-0.2.0/tests/unit/distribution/piecewise_uniform_test.cpp +0 -131
  1826. terraingenpy-0.2.0/tests/unit/distribution/power_law_test.cpp +0 -59
  1827. terraingenpy-0.2.0/tests/unit/distribution/production_surface_test.cpp +0 -25
  1828. terraingenpy-0.2.0/tests/unit/distribution/size_frequency_test.cpp +0 -139
  1829. terraingenpy-0.2.0/tests/unit/distribution/sp8023_test.cpp +0 -53
  1830. terraingenpy-0.2.0/tests/unit/distribution/spliced_test.cpp +0 -98
  1831. terraingenpy-0.2.0/tests/unit/distribution/summed_test.cpp +0 -45
  1832. terraingenpy-0.2.0/tests/unit/distribution/synthterrain_test.cpp +0 -22
  1833. terraingenpy-0.2.0/tests/unit/distribution/tabulated_test.cpp +0 -134
  1834. terraingenpy-0.2.0/tests/unit/distribution/viper_test.cpp +0 -12
  1835. terraingenpy-0.2.0/tests/unit/examples/CMakeLists.txt +0 -14
  1836. terraingenpy-0.2.0/tests/unit/examples/example_browser_test.cpp +0 -215
  1837. terraingenpy-0.2.0/tests/unit/examples/example_harness_test.cpp +0 -228
  1838. terraingenpy-0.2.0/tests/unit/gpu/CMakeLists.txt +0 -13
  1839. terraingenpy-0.2.0/tests/unit/gpu/backend_test.cpp +0 -179
  1840. terraingenpy-0.2.0/tests/unit/gpu/kernels/hash_conformance.slang +0 -28
  1841. terraingenpy-0.2.0/tests/unit/gpu/kernels/noise_conformance.slang +0 -61
  1842. terraingenpy-0.2.0/tests/unit/gpu/noise_test.cpp +0 -174
  1843. terraingenpy-0.2.0/tests/unit/gpu/vulkan_test.cpp +0 -156
  1844. terraingenpy-0.2.0/tests/unit/layers/CMakeLists.txt +0 -61
  1845. terraingenpy-0.2.0/tests/unit/layers/anchored_plane_test.cpp +0 -24
  1846. terraingenpy-0.2.0/tests/unit/layers/bedforms_test.cpp +0 -159
  1847. terraingenpy-0.2.0/tests/unit/layers/bisection_test.cpp +0 -29
  1848. terraingenpy-0.2.0/tests/unit/layers/boulders/boulder_fragments_test.cpp +0 -307
  1849. terraingenpy-0.2.0/tests/unit/layers/boulders/boulder_layer_test.cpp +0 -1354
  1850. terraingenpy-0.2.0/tests/unit/layers/boulders/boulder_models_test.cpp +0 -201
  1851. terraingenpy-0.2.0/tests/unit/layers/boulders/boulder_options_test.cpp +0 -100
  1852. terraingenpy-0.2.0/tests/unit/layers/boulders/boulder_shape_test.cpp +0 -254
  1853. terraingenpy-0.2.0/tests/unit/layers/boulders/ejecta_index_test.cpp +0 -61
  1854. terraingenpy-0.2.0/tests/unit/layers/boulders/manual_boulder_test.cpp +0 -430
  1855. terraingenpy-0.2.0/tests/unit/layers/craters/ages/age_model_test.cpp +0 -50
  1856. terraingenpy-0.2.0/tests/unit/layers/craters/ages/freshness_test.cpp +0 -166
  1857. terraingenpy-0.2.0/tests/unit/layers/craters/ages/steady_state_test.cpp +0 -100
  1858. terraingenpy-0.2.0/tests/unit/layers/craters/crater_layer_test.cpp +0 -310
  1859. terraingenpy-0.2.0/tests/unit/layers/craters/crater_test.cpp +0 -129
  1860. terraingenpy-0.2.0/tests/unit/layers/craters/degradation/degradation_model_test.cpp +0 -37
  1861. terraingenpy-0.2.0/tests/unit/layers/craters/degradation/diffusion_test.cpp +0 -230
  1862. terraingenpy-0.2.0/tests/unit/layers/craters/degradation/freshness_test.cpp +0 -45
  1863. terraingenpy-0.2.0/tests/unit/layers/craters/generation/cell_cache_test.cpp +0 -76
  1864. terraingenpy-0.2.0/tests/unit/layers/craters/generation/population_test.cpp +0 -683
  1865. terraingenpy-0.2.0/tests/unit/layers/craters/generation/resolved_limit_test.cpp +0 -100
  1866. terraingenpy-0.2.0/tests/unit/layers/craters/generation/spacing_test.cpp +0 -164
  1867. terraingenpy-0.2.0/tests/unit/layers/craters/profiles/complex_test.cpp +0 -101
  1868. terraingenpy-0.2.0/tests/unit/layers/craters/profiles/fassett_thomson_test.cpp +0 -72
  1869. terraingenpy-0.2.0/tests/unit/layers/craters/profiles/martin_parkes_dunstan_test.cpp +0 -71
  1870. terraingenpy-0.2.0/tests/unit/layers/craters/secondaries_test.cpp +0 -603
  1871. terraingenpy-0.2.0/tests/unit/layers/craters/shaping/apply_test.cpp +0 -646
  1872. terraingenpy-0.2.0/tests/unit/layers/craters/shaping/attributes_test.cpp +0 -55
  1873. terraingenpy-0.2.0/tests/unit/layers/craters/shaping/crater_kernel_test.cpp +0 -492
  1874. terraingenpy-0.2.0/tests/unit/layers/craters/shaping/datum_test.cpp +0 -96
  1875. terraingenpy-0.2.0/tests/unit/layers/craters/shaping/explicit_state_test.cpp +0 -272
  1876. terraingenpy-0.2.0/tests/unit/layers/craters/shaping/irregularity_test.cpp +0 -363
  1877. terraingenpy-0.2.0/tests/unit/layers/craters/shaping/morphometry_test.cpp +0 -86
  1878. terraingenpy-0.2.0/tests/unit/layers/craters/shaping/slope_test.cpp +0 -304
  1879. terraingenpy-0.2.0/tests/unit/layers/craters/sphere_test.cpp +0 -373
  1880. terraingenpy-0.2.0/tests/unit/layers/density_map_test.cpp +0 -135
  1881. terraingenpy-0.2.0/tests/unit/layers/dunes_test.cpp +0 -466
  1882. terraingenpy-0.2.0/tests/unit/layers/evaluation_cache_test.cpp +0 -25
  1883. terraingenpy-0.2.0/tests/unit/layers/exposure_test.cpp +0 -146
  1884. terraingenpy-0.2.0/tests/unit/layers/fade_test.cpp +0 -63
  1885. terraingenpy-0.2.0/tests/unit/layers/ground_test.cpp +0 -61
  1886. terraingenpy-0.2.0/tests/unit/layers/lattice_test.cpp +0 -32
  1887. terraingenpy-0.2.0/tests/unit/layers/layer_test.cpp +0 -55
  1888. terraingenpy-0.2.0/tests/unit/layers/masked_test.cpp +0 -165
  1889. terraingenpy-0.2.0/tests/unit/layers/noise_relief_test.cpp +0 -291
  1890. terraingenpy-0.2.0/tests/unit/layers/pavement_test.cpp +0 -193
  1891. terraingenpy-0.2.0/tests/unit/layers/roughness_estimate_test.cpp +0 -214
  1892. terraingenpy-0.2.0/tests/unit/layers/roughness_test.cpp +0 -171
  1893. terraingenpy-0.2.0/tests/unit/layers/sample_block_test.cpp +0 -127
  1894. terraingenpy-0.2.0/tests/unit/layers/sand_fill_test.cpp +0 -123
  1895. terraingenpy-0.2.0/tests/unit/layers/sand_shadow_test.cpp +0 -183
  1896. terraingenpy-0.2.0/tests/unit/layers/source_resolved_test.cpp +0 -205
  1897. terraingenpy-0.2.0/tests/unit/layers/spectral_continuation_test.cpp +0 -360
  1898. terraingenpy-0.2.0/tests/unit/layers/sphere_layers_test.cpp +0 -216
  1899. terraingenpy-0.2.0/tests/unit/layers/strata_test.cpp +0 -243
  1900. terraingenpy-0.2.0/tests/unit/layers/transforms_test.cpp +0 -87
  1901. terraingenpy-0.2.0/tests/unit/mesh/CMakeLists.txt +0 -10
  1902. terraingenpy-0.2.0/tests/unit/mesh/io/icq_test.cpp +0 -231
  1903. terraingenpy-0.2.0/tests/unit/mesh/io/mesh_io_test.cpp +0 -203
  1904. terraingenpy-0.2.0/tests/unit/mesh/mesh_test.cpp +0 -162
  1905. terraingenpy-0.2.0/tests/unit/mesh/polyhedra_test.cpp +0 -74
  1906. terraingenpy-0.2.0/tests/unit/mesh/shape_model_test.cpp +0 -86
  1907. terraingenpy-0.2.0/tests/unit/mesh/support.h +0 -42
  1908. terraingenpy-0.2.0/tests/unit/noise/CMakeLists.txt +0 -14
  1909. terraingenpy-0.2.0/tests/unit/noise/fractal_test.cpp +0 -199
  1910. terraingenpy-0.2.0/tests/unit/noise/hash_test.cpp +0 -82
  1911. terraingenpy-0.2.0/tests/unit/noise/noise3_test.cpp +0 -291
  1912. terraingenpy-0.2.0/tests/unit/noise/noise_layers_test.cpp +0 -118
  1913. terraingenpy-0.2.0/tests/unit/noise/perlin_test.cpp +0 -184
  1914. terraingenpy-0.2.0/tests/unit/noise/simplex_test.cpp +0 -57
  1915. terraingenpy-0.2.0/tests/unit/noise/validate_test.cpp +0 -60
  1916. terraingenpy-0.2.0/tests/unit/noise/value_test.cpp +0 -63
  1917. terraingenpy-0.2.0/tests/unit/noise/worley_test.cpp +0 -161
  1918. terraingenpy-0.2.0/tests/unit/pipeline/CMakeLists.txt +0 -10
  1919. terraingenpy-0.2.0/tests/unit/pipeline/features_test.cpp +0 -229
  1920. terraingenpy-0.2.0/tests/unit/pipeline/generator_test.cpp +0 -502
  1921. terraingenpy-0.2.0/tests/unit/pipeline/materials_test.cpp +0 -161
  1922. terraingenpy-0.2.0/tests/unit/pipeline/mesh_build_test.cpp +0 -229
  1923. terraingenpy-0.2.0/tests/unit/pipeline/terrain_windows_test.cpp +0 -281
  1924. terraingenpy-0.2.0/tests/unit/pipeline/terrains.h +0 -59
  1925. terraingenpy-0.2.0/tests/unit/random/CMakeLists.txt +0 -9
  1926. terraingenpy-0.2.0/tests/unit/random/philox_test.cpp +0 -61
  1927. terraingenpy-0.2.0/tests/unit/random/samplers_test.cpp +0 -95
  1928. terraingenpy-0.2.0/tests/unit/random/stream_test.cpp +0 -108
  1929. terraingenpy-0.2.0/tests/unit/random/value_distribution_test.cpp +0 -109
  1930. terraingenpy-0.2.0/tests/unit/raster/CMakeLists.txt +0 -14
  1931. terraingenpy-0.2.0/tests/unit/raster/cell_loops_test.cpp +0 -109
  1932. terraingenpy-0.2.0/tests/unit/raster/gaussian_blur_test.cpp +0 -69
  1933. terraingenpy-0.2.0/tests/unit/raster/gdal_fixtures.h +0 -29
  1934. terraingenpy-0.2.0/tests/unit/raster/generate_geotiff_fixtures.py +0 -186
  1935. terraingenpy-0.2.0/tests/unit/raster/geo_transform_test.cpp +0 -67
  1936. terraingenpy-0.2.0/tests/unit/raster/geotiff_fixtures.inc +0 -219
  1937. terraingenpy-0.2.0/tests/unit/raster/geotiff_test.cpp +0 -513
  1938. terraingenpy-0.2.0/tests/unit/raster/grid_test.cpp +0 -89
  1939. terraingenpy-0.2.0/tests/unit/raster/raster_stats_test.cpp +0 -59
  1940. terraingenpy-0.2.0/tests/unit/raster/raster_test.cpp +0 -86
  1941. terraingenpy-0.2.0/tests/unit/raster/resample_test.cpp +0 -383
  1942. terraingenpy-0.2.0/tests/unit/raster/tiff_format_test.cpp +0 -123
  1943. terraingenpy-0.2.0/tests/unit/sources/CMakeLists.txt +0 -14
  1944. terraingenpy-0.2.0/tests/unit/sources/diamond_square_test.cpp +0 -437
  1945. terraingenpy-0.2.0/tests/unit/sources/field_test.cpp +0 -144
  1946. terraingenpy-0.2.0/tests/unit/sources/flat_source_test.cpp +0 -63
  1947. terraingenpy-0.2.0/tests/unit/sources/geotiff_source_test.cpp +0 -407
  1948. terraingenpy-0.2.0/tests/unit/sources/raster_source_test.cpp +0 -265
  1949. terraingenpy-0.2.0/tests/unit/sources/source_chain_test.cpp +0 -204
  1950. terraingenpy-0.2.0/tests/unit/sources/synthetic_source_test.cpp +0 -148
  1951. terraingenpy-0.2.0/tests/unit/sources/synthetic_terrain_test.cpp +0 -152
  1952. terraingenpy-0.2.0/tests/unit/sources/upsampling_test.cpp +0 -235
  1953. terraingenpy-0.2.0/tests/unit/util/CMakeLists.txt +0 -21
  1954. terraingenpy-0.2.0/tests/unit/util/cells_test.cpp +0 -87
  1955. terraingenpy-0.2.0/tests/unit/util/checks_test.cpp +0 -66
  1956. terraingenpy-0.2.0/tests/unit/util/fft_test.cpp +0 -85
  1957. terraingenpy-0.2.0/tests/unit/util/geometry_test.cpp +0 -63
  1958. terraingenpy-0.2.0/tests/unit/util/log_test.cpp +0 -142
  1959. terraingenpy-0.2.0/tests/unit/util/lru_cache_test.cpp +0 -37
  1960. terraingenpy-0.2.0/tests/unit/util/overloaded_test.cpp +0 -17
  1961. terraingenpy-0.2.0/tests/unit/util/parallel_test.cpp +0 -68
  1962. terraingenpy-0.2.0/tests/unit/util/radial_shape_test.cpp +0 -91
  1963. terraingenpy-0.2.0/tests/unit/util/span_test.cpp +0 -139
  1964. terraingenpy-0.2.0/tests/unit/util/special_functions_test.cpp +0 -22
  1965. terraingenpy-0.2.0/tests/unit/util/surface_test.cpp +0 -681
  1966. terraingenpy-0.2.0/tests/unit/util/text_test.cpp +0 -72
  1967. terraingenpy-0.2.0/tests/unit/util/version_test.cpp +0 -26
  1968. {terraingenpy-0.2.0 → terraingenpy-0.2.0.dev90}/.clang-format +0 -0
  1969. {terraingenpy-0.2.0 → terraingenpy-0.2.0.dev90}/.clang-tidy +0 -0
  1970. {terraingenpy-0.2.0 → terraingenpy-0.2.0.dev90}/.cmake-format.yaml +0 -0
  1971. {terraingenpy-0.2.0 → terraingenpy-0.2.0.dev90}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  1972. {terraingenpy-0.2.0 → terraingenpy-0.2.0.dev90}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  1973. {terraingenpy-0.2.0 → terraingenpy-0.2.0.dev90}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  1974. {terraingenpy-0.2.0 → terraingenpy-0.2.0.dev90}/.github/pull_request_template.md +0 -0
  1975. {terraingenpy-0.2.0 → terraingenpy-0.2.0.dev90}/.github/scripts/install-lavapipe-windows.sh +0 -0
  1976. {terraingenpy-0.2.0 → terraingenpy-0.2.0.dev90}/CITATION.cff +0 -0
  1977. {terraingenpy-0.2.0 → terraingenpy-0.2.0.dev90}/Dockerfile +0 -0
  1978. {terraingenpy-0.2.0 → terraingenpy-0.2.0.dev90}/LICENSE +0 -0
  1979. {terraingenpy-0.2.0/docs → terraingenpy-0.2.0.dev90/docs/_src}/api/cpp.md +0 -0
  1980. {terraingenpy-0.2.0/docs → terraingenpy-0.2.0.dev90/docs/_src}/concepts/index.md +0 -0
  1981. {terraingenpy-0.2.0/docs → terraingenpy-0.2.0.dev90/docs/_src}/getting-started/quickstart.md +0 -0
  1982. {terraingenpy-0.2.0/docs/getting-started → terraingenpy-0.2.0.dev90/docs/_src/guides}/command-line.md +0 -0
  1983. {terraingenpy-0.2.0/docs/getting-started → terraingenpy-0.2.0.dev90/docs/_src/guides}/gui.md +0 -0
  1984. {terraingenpy-0.2.0/docs → terraingenpy-0.2.0.dev90/docs/_src}/guides/index.md +0 -0
  1985. {terraingenpy-0.2.0/docs → terraingenpy-0.2.0.dev90/docs/_src}/images/hero_mk1_sn101_connecting_ridge.jpg +0 -0
  1986. {terraingenpy-0.2.0/docs → terraingenpy-0.2.0.dev90/docs/_src}/images/hero_mk1_sn101_connecting_ridge_split.jpg +0 -0
  1987. {terraingenpy-0.2.0 → terraingenpy-0.2.0.dev90}/docs/overrides/partials/header.html +0 -0
  1988. {terraingenpy-0.2.0 → terraingenpy-0.2.0.dev90}/third_party/README.md +0 -0
  1989. {terraingenpy-0.2.0 → terraingenpy-0.2.0.dev90}/third_party/cgltf/LICENSE +0 -0
  1990. {terraingenpy-0.2.0 → terraingenpy-0.2.0.dev90}/third_party/cgltf/cgltf.h +0 -0
  1991. {terraingenpy-0.2.0 → terraingenpy-0.2.0.dev90}/third_party/cgltf/cgltf_write.h +0 -0
  1992. {terraingenpy-0.2.0 → terraingenpy-0.2.0.dev90}/third_party/miniz/LICENSE +0 -0
  1993. {terraingenpy-0.2.0 → terraingenpy-0.2.0.dev90}/third_party/miniz/miniz.c +0 -0
  1994. {terraingenpy-0.2.0 → terraingenpy-0.2.0.dev90}/third_party/miniz/miniz.h +0 -0
  1995. {terraingenpy-0.2.0 → terraingenpy-0.2.0.dev90}/third_party/nlohmann/LICENSE.MIT +0 -0
  1996. {terraingenpy-0.2.0 → terraingenpy-0.2.0.dev90}/third_party/nlohmann/json.hpp +0 -0
  1997. {terraingenpy-0.2.0 → terraingenpy-0.2.0.dev90}/third_party/tinyobjloader/LICENSE +0 -0
  1998. {terraingenpy-0.2.0 → terraingenpy-0.2.0.dev90}/third_party/tinyobjloader/tiny_obj_loader.h +0 -0
@@ -0,0 +1,20 @@
1
+ .git/lfs
2
+ build/
3
+ build-*/
4
+ assets/
5
+ demos/
6
+ dist/
7
+ site/
8
+ .venv/
9
+ .vscode/
10
+ .claude/
11
+ paper/
12
+ research/
13
+ validation/
14
+ /*.tif
15
+ /*.TIF
16
+ /*.aux.xml
17
+ TODO.md
18
+ ARCHITECTURE.md
19
+ SCIENCE.md
20
+ CMakeUserPresets.json
@@ -0,0 +1,17 @@
1
+ # Normalize line endings for text files
2
+ * text=auto eol=lf
3
+
4
+ # Binary render assets and test fixtures are stored in Git LFS
5
+ assets/**/*.png filter=lfs diff=lfs merge=lfs -text
6
+ assets/**/*.jpg filter=lfs diff=lfs merge=lfs -text
7
+ assets/**/*.jpeg filter=lfs diff=lfs merge=lfs -text
8
+ assets/**/*.ktx2 filter=lfs diff=lfs merge=lfs -text
9
+ assets/**/*.exr filter=lfs diff=lfs merge=lfs -text
10
+ assets/**/*.hdr filter=lfs diff=lfs merge=lfs -text
11
+ assets/**/*.ttf filter=lfs diff=lfs merge=lfs -text
12
+ assets/**/*.otf filter=lfs diff=lfs merge=lfs -text
13
+ assets/**/*.glb filter=lfs diff=lfs merge=lfs -text
14
+ assets/**/*.bin filter=lfs diff=lfs merge=lfs -text
15
+ assets/**/*.obj filter=lfs diff=lfs merge=lfs -text
16
+ assets/**/*.ply filter=lfs diff=lfs merge=lfs -text
17
+ assets/**/*.stl filter=lfs diff=lfs merge=lfs -text
@@ -0,0 +1,516 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ tags: ["v*"]
7
+ pull_request:
8
+ workflow_dispatch:
9
+
10
+ permissions:
11
+ contents: read
12
+
13
+ concurrency:
14
+ group: ${{ github.workflow }}-${{ github.ref }}
15
+ cancel-in-progress: true
16
+
17
+ jobs:
18
+ # The version's pre-release suffix: .devN on main (N commits since the last release tag), none on
19
+ # release tags (which must match CMakeLists.txt) or pull requests.
20
+ version:
21
+ runs-on: ubuntu-24.04
22
+ timeout-minutes: 5
23
+ outputs:
24
+ version: ${{ steps.version.outputs.version }}
25
+ suffix: ${{ steps.version.outputs.suffix }}
26
+ steps:
27
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
28
+ with:
29
+ fetch-depth: 0
30
+ - id: version
31
+ run: |
32
+ project=$(sed -nE 's/^set\(TERRAINGEN_FULL_VERSION "([0-9]+\.[0-9]+\.[0-9]+)"\)$/\1/p' CMakeLists.txt)
33
+ suffix=""
34
+ if [[ "$GITHUB_REF" == refs/tags/v* ]]; then
35
+ if [[ "${GITHUB_REF_NAME#v}" != "$project" ]]; then
36
+ echo "::error::Tag $GITHUB_REF_NAME does not match CMakeLists.txt's version $project"
37
+ exit 1
38
+ fi
39
+ elif [[ "$GITHUB_EVENT_NAME" == push && "$GITHUB_REF" == refs/heads/main ]]; then
40
+ if last=$(git describe --tags --abbrev=0 --match 'v*' 2>/dev/null); then
41
+ suffix=".dev$(git rev-list --count "$last..HEAD")"
42
+ else
43
+ suffix=".dev$(git rev-list --count HEAD)"
44
+ fi
45
+ fi
46
+ {
47
+ echo "version=$project$suffix"
48
+ echo "suffix=$suffix"
49
+ } >> "$GITHUB_OUTPUT"
50
+ echo "Version $project$suffix"
51
+
52
+ lint:
53
+ runs-on: ubuntu-24.04
54
+ timeout-minutes: 15
55
+ steps:
56
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
57
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
58
+ with:
59
+ python-version: "3.12"
60
+ - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
61
+ with:
62
+ path: ~/.cache/pre-commit
63
+ key: pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
64
+ - run: python -m pip install pre-commit
65
+ - run: pre-commit run --all-files --show-diff-on-failure
66
+ - name: Lint workflows
67
+ run: docker run --rm -v "$PWD:/repo" -w /repo rhysd/actionlint:1.7.12 -color
68
+
69
+ # Build and every test, with the GPU tests on Mesa's lavapipe, the software Vulkan driver, which
70
+ # TerrainGen uses only when TERRAINGEN_DEVICE names it. The runners have no NVIDIA GPU, so the
71
+ # CUDA kernels are compiled to PTX but not run.
72
+ test:
73
+ name: test (${{ matrix.name }})
74
+ runs-on: ${{ matrix.os }}
75
+ timeout-minutes: 60
76
+ strategy:
77
+ fail-fast: false
78
+ matrix:
79
+ include:
80
+ # The oldest supported Ubuntu, compiler and Python.
81
+ - { name: ubuntu-22.04-gcc-11, os: ubuntu-22.04, cc: gcc-11, cxx: g++-11, python: "3.10" }
82
+ - { name: ubuntu-22.04-arm-gcc-11, os: ubuntu-22.04-arm, cc: gcc-11, cxx: g++-11 }
83
+ - { name: ubuntu-24.04-clang-18, os: ubuntu-24.04, cc: clang-18, cxx: clang++-18 }
84
+ - { name: macos-14, os: macos-14 }
85
+ - { name: windows-2022-msvc, os: windows-2022 }
86
+ env:
87
+ CC: ${{ matrix.cc }}
88
+ CXX: ${{ matrix.cxx }}
89
+ CCACHE_DIR: ${{ github.workspace }}/.ccache
90
+ TERRAINGEN_DEVICE: "0"
91
+ steps:
92
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
93
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
94
+ with:
95
+ python-version: ${{ matrix.python || '3.12' }}
96
+ - run: python -m pip install numpy pytest ninja
97
+ # MSVC on the path for the Ninja generator.
98
+ - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
99
+ if: runner.os == 'Windows'
100
+ - uses: hendrikmuhs/ccache-action@f09c25b45002a07be2955cbe52e8cee55643f89d # v1.2.24
101
+ if: runner.os != 'Windows'
102
+ with:
103
+ key: ${{ matrix.name }}
104
+ max-size: 500M
105
+ - name: Install lavapipe
106
+ if: runner.os == 'Linux'
107
+ run: |
108
+ sudo apt-get update
109
+ sudo apt-get install -y --no-install-recommends mesa-vulkan-drivers libvulkan1
110
+ icd=$(find /usr/share/vulkan/icd.d -name 'lvp_icd*.json' | head -n1)
111
+ echo "VK_DRIVER_FILES=$icd" >> "$GITHUB_ENV"
112
+ echo "VK_ICD_FILENAMES=$icd" >> "$GITHUB_ENV"
113
+ - name: Install lavapipe
114
+ if: runner.os == 'Windows'
115
+ shell: bash
116
+ run: .github/scripts/install-lavapipe-windows.sh
117
+ - name: Install lavapipe
118
+ if: runner.os == 'macOS'
119
+ run: |
120
+ brew install mesa vulkan-loader
121
+ prefix=$(brew --prefix)
122
+ icd=$(find "$prefix/share/vulkan/icd.d" -name 'lvp_icd*.json' | head -n1)
123
+ {
124
+ echo "VK_DRIVER_FILES=$icd"
125
+ echo "VK_ICD_FILENAMES=$icd"
126
+ echo "DYLD_FALLBACK_LIBRARY_PATH=$prefix/lib"
127
+ } >> "$GITHUB_ENV"
128
+ - name: Configure
129
+ shell: bash
130
+ run: >
131
+ cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DTERRAINGEN_BUILD_BENCHMARKS=OFF
132
+ "-DPython_EXECUTABLE=$(python -c 'import sys; print(sys.executable)')"
133
+ ${{ runner.os != 'Windows' && '-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache' || '' }}
134
+ - name: Build
135
+ run: cmake --build build --parallel 4
136
+ - name: Backends
137
+ shell: bash
138
+ run: build/bin/terraingen backends
139
+ - name: Test
140
+ run: ctest --test-dir build --parallel 4 --output-on-failure --timeout 1200
141
+
142
+ # Line coverage of the library, from the tests on lavapipe; GitHub Pages publishes the report from
143
+ # main (pages job).
144
+ coverage:
145
+ runs-on: ubuntu-24.04
146
+ timeout-minutes: 60
147
+ env:
148
+ CCACHE_DIR: ${{ github.workspace }}/.ccache
149
+ TERRAINGEN_DEVICE: "0"
150
+ steps:
151
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
152
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
153
+ with:
154
+ python-version: "3.12"
155
+ - run: python -m pip install gcovr numpy pytest ninja
156
+ - uses: hendrikmuhs/ccache-action@f09c25b45002a07be2955cbe52e8cee55643f89d # v1.2.24
157
+ with:
158
+ key: coverage
159
+ max-size: 1G
160
+ - name: Install lavapipe
161
+ run: |
162
+ sudo apt-get update
163
+ sudo apt-get install -y --no-install-recommends mesa-vulkan-drivers libvulkan1
164
+ - name: Configure
165
+ run: >
166
+ cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug -DTERRAINGEN_COVERAGE=ON
167
+ -DTERRAINGEN_BUILD_BENCHMARKS=OFF
168
+ "-DPython_EXECUTABLE=$(python -c 'import sys; print(sys.executable)')"
169
+ -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
170
+ # Everything first: the coverage target builds only the test programs, not the command that the
171
+ # integration tests run.
172
+ - name: Build
173
+ run: cmake --build build --parallel 4
174
+ # The tests four at a time (ctest reads CTEST_PARALLEL_LEVEL), the long ones first.
175
+ - name: Test and report
176
+ env:
177
+ CTEST_PARALLEL_LEVEL: "4"
178
+ run: cmake --build build --target coverage
179
+ - name: Summary
180
+ if: always()
181
+ run: cat build/coverage/summary.md >> "$GITHUB_STEP_SUMMARY" || true
182
+ - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
183
+ if: always()
184
+ with:
185
+ name: coverage-report
186
+ path: build/coverage/
187
+ if-no-files-found: ignore
188
+ retention-days: 7
189
+
190
+ # One job per platform and Python (pyproject.toml's [tool.cibuildwheel] has the rest), so each
191
+ # platform's wheels build side by side.
192
+ wheel:
193
+ name: wheel (${{ matrix.os }}, ${{ matrix.python }})
194
+ needs: version
195
+ runs-on: ${{ matrix.os }}
196
+ timeout-minutes: 45
197
+ strategy:
198
+ fail-fast: false
199
+ matrix:
200
+ os: [ubuntu-24.04, ubuntu-24.04-arm, macos-15-intel, macos-14, windows-2022]
201
+ python: [cp310, cp311, cp312]
202
+ steps:
203
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
204
+ - name: Version
205
+ shell: bash
206
+ run: >
207
+ sed -i.bak -E 's/^set\(TERRAINGEN_FULL_VERSION "([0-9.]+)"\)$/set(TERRAINGEN_FULL_VERSION "\1${{ needs.version.outputs.suffix }}")/'
208
+ CMakeLists.txt
209
+ - uses: pypa/cibuildwheel@b3395e271a35f73dad77f21802abe9b986dfe299 # v4.3.1
210
+ env:
211
+ CIBW_BUILD: "${{ matrix.python }}-*"
212
+ with:
213
+ output-dir: wheelhouse
214
+ - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
215
+ with:
216
+ name: wheel-${{ matrix.os }}-${{ matrix.python }}
217
+ path: wheelhouse/*.whl
218
+
219
+ # The sdist, then a wheel built from it and imported, as pip does for platforms without wheels.
220
+ sdist:
221
+ needs: version
222
+ runs-on: ubuntu-24.04
223
+ timeout-minutes: 30
224
+ steps:
225
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
226
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
227
+ with:
228
+ python-version: "3.12"
229
+ - name: Version
230
+ run: >
231
+ sed -i -E 's/^set\(TERRAINGEN_FULL_VERSION "([0-9.]+)"\)$/set(TERRAINGEN_FULL_VERSION "\1${{ needs.version.outputs.suffix }}")/'
232
+ CMakeLists.txt
233
+ - run: python -m pip install build
234
+ - run: python -m build --sdist
235
+ - name: Install from the sdist
236
+ run: |
237
+ python -m pip install dist/*.tar.gz
238
+ cd "$RUNNER_TEMP" && python -c "import terraingen; print(terraingen.__version__)" && terraingen backends
239
+ - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
240
+ with:
241
+ name: sdist
242
+ path: dist/*.tar.gz
243
+
244
+ # The documentation, built against the Linux wheel, for every push and pull request; another
245
+ # platform's wheel failing does not skip it.
246
+ docs:
247
+ needs: wheel
248
+ if: ${{ !cancelled() }}
249
+ runs-on: ubuntu-24.04
250
+ timeout-minutes: 20
251
+ steps:
252
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
253
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
254
+ with:
255
+ python-version: "3.12"
256
+ cache: pip
257
+ cache-dependency-path: docs/requirements.txt
258
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
259
+ with:
260
+ name: wheel-ubuntu-24.04-cp312
261
+ path: wheel
262
+ - name: Install Doxygen, TerrainGen and the docs requirements
263
+ run: |
264
+ sudo apt-get update && sudo apt-get install -y --no-install-recommends doxygen
265
+ python -m pip install wheel/*.whl -r docs/requirements.txt
266
+ - name: Build
267
+ run: make -C docs build
268
+ - name: Gallery scripts run
269
+ run: make -C docs gallery-check
270
+ - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
271
+ with:
272
+ name: site
273
+ path: site
274
+ retention-days: 3
275
+
276
+ # The documentation with the coverage report under coverage/ (and coverage/badge.json for the
277
+ # README badge), on GitHub Pages from main. A failed coverage run leaves the report out.
278
+ pages:
279
+ needs: [docs, coverage]
280
+ if: ${{ !cancelled() && needs.docs.result == 'success' && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
281
+ runs-on: ubuntu-24.04
282
+ timeout-minutes: 10
283
+ permissions:
284
+ contents: read
285
+ pages: write
286
+ id-token: write
287
+ environment:
288
+ name: github-pages
289
+ url: ${{ steps.deployment.outputs.page_url }}
290
+ steps:
291
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
292
+ with:
293
+ name: site
294
+ path: site
295
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
296
+ continue-on-error: true
297
+ with:
298
+ name: coverage-report
299
+ path: site/coverage
300
+ - uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0
301
+ with:
302
+ path: site
303
+ - id: deployment
304
+ uses: actions/deploy-pages@368f82528645a54fb793d4d04e342629a3f51346 # v5.0.1
305
+
306
+ # The CLI, library, headers and CMake package for each platform as an archive, and Debian packages
307
+ # (terraingen, terraingen-dev) built on the oldest supported Ubuntu.
308
+ packages:
309
+ name: packages (${{ matrix.platform }})
310
+ needs: version
311
+ runs-on: ${{ matrix.os }}
312
+ timeout-minutes: 45
313
+ strategy:
314
+ fail-fast: false
315
+ matrix:
316
+ include:
317
+ - { platform: linux-x86_64, os: ubuntu-22.04 }
318
+ - { platform: linux-aarch64, os: ubuntu-22.04-arm }
319
+ - { platform: macos-arm64, os: macos-14 }
320
+ - { platform: macos-x86_64, os: macos-15-intel }
321
+ - { platform: windows-x86_64, os: windows-2022 }
322
+ env:
323
+ ARCHIVE: terraingen-${{ needs.version.outputs.version }}-${{ matrix.platform }}
324
+ steps:
325
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
326
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
327
+ with:
328
+ python-version: "3.12"
329
+ - run: python -m pip install ninja
330
+ - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
331
+ if: runner.os == 'Windows'
332
+ - name: Version
333
+ shell: bash
334
+ run: >
335
+ sed -i.bak -E 's/^set\(TERRAINGEN_FULL_VERSION "([0-9.]+)"\)$/set(TERRAINGEN_FULL_VERSION "\1${{ needs.version.outputs.suffix }}")/'
336
+ CMakeLists.txt
337
+ - name: Build
338
+ shell: bash
339
+ run: |
340
+ cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DTERRAINGEN_BUILD_TESTS=OFF \
341
+ -DTERRAINGEN_BUILD_BENCHMARKS=OFF \
342
+ -DTERRAINGEN_BUILD_PYTHON=OFF -DTERRAINGEN_INSTALL=ON
343
+ cmake --build build --parallel 4
344
+ cmake --install build --prefix "$ARCHIVE"
345
+ cp LICENSE README.md CHANGELOG.md "$ARCHIVE/"
346
+ - name: Archive
347
+ if: runner.os == 'Windows'
348
+ shell: pwsh
349
+ run: Compress-Archive -Path "$env:ARCHIVE" -DestinationPath "$env:ARCHIVE.zip"
350
+ - name: Archive
351
+ if: runner.os != 'Windows'
352
+ run: tar -czf "$ARCHIVE.tar.gz" "$ARCHIVE"
353
+ - name: Debian packages
354
+ if: runner.os == 'Linux'
355
+ run: cpack --config build/CPackConfig.cmake -G DEB -B debs
356
+ - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
357
+ with:
358
+ name: packages-${{ matrix.platform }}
359
+ path: |
360
+ ${{ env.ARCHIVE }}.zip
361
+ ${{ env.ARCHIVE }}.tar.gz
362
+ debs/*.deb
363
+ if-no-files-found: error
364
+
365
+ # The Debian packages installed on clean distributions, where the program must run and list its
366
+ # backends. Only the Linux packages matter here, so another platform's failure does not skip it; a
367
+ # missing Linux package fails its download.
368
+ package-test:
369
+ name: package-test (${{ matrix.image }}, ${{ matrix.arch }})
370
+ needs: packages
371
+ if: ${{ !cancelled() }}
372
+ runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
373
+ timeout-minutes: 15
374
+ strategy:
375
+ fail-fast: false
376
+ matrix:
377
+ arch: [x86_64, aarch64]
378
+ image: ["ubuntu:22.04", "ubuntu:24.04", "debian:12"]
379
+ container: ${{ matrix.image }}
380
+ steps:
381
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
382
+ with:
383
+ name: packages-linux-${{ matrix.arch }}
384
+ - name: Install
385
+ run: |
386
+ apt-get update
387
+ apt-get install -y --no-install-recommends ./debs/*.deb
388
+ - name: Run
389
+ run: |
390
+ terraingen --version
391
+ terraingen backends
392
+
393
+ # The Dockerfile's image, built and tested on the oldest supported Ubuntu; pushed to GHCR from main
394
+ # (dev) and release tags.
395
+ docker:
396
+ needs: [version, lint, test]
397
+ runs-on: ubuntu-24.04
398
+ timeout-minutes: 45
399
+ permissions:
400
+ contents: read
401
+ packages: write
402
+ steps:
403
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
404
+ - name: Build
405
+ run: docker build --target dev -t terraingen:test .
406
+ - name: Smoke test
407
+ run: |
408
+ docker run --rm terraingen:test terraingen --version
409
+ docker run --rm terraingen:test terraingen backends
410
+ docker run --rm terraingen:test python -c "import terraingen; print(terraingen.__version__)"
411
+ - name: Push
412
+ if: github.event_name == 'push'
413
+ env:
414
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
415
+ run: |
416
+ image=ghcr.io/${GITHUB_REPOSITORY,,}
417
+ echo "$GH_TOKEN" | docker login ghcr.io -u "$GITHUB_ACTOR" --password-stdin
418
+ if [[ "$GITHUB_REF" == refs/tags/v* ]]; then
419
+ version=${GITHUB_REF_NAME#v}
420
+ tags=("$version" "${version%.*}" latest)
421
+ else
422
+ tags=(dev)
423
+ fi
424
+ for tag in "${tags[@]}"; do
425
+ docker tag terraingen:test "$image:$tag"
426
+ docker push "$image:$tag"
427
+ done
428
+
429
+ # Wheels and the sdist to PyPI by Trusted Publishing (no stored token): X.Y.Z.devN from main,
430
+ # X.Y.Z from release tags, once every platform's build, tests and packages pass.
431
+ pypi:
432
+ needs: [lint, test, wheel, sdist, package-test]
433
+ if: >
434
+ github.event_name == 'push' &&
435
+ (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v'))
436
+ runs-on: ubuntu-24.04
437
+ timeout-minutes: 10
438
+ environment:
439
+ name: pypi
440
+ url: https://pypi.org/project/terraingenpy/
441
+ permissions:
442
+ id-token: write
443
+ steps:
444
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
445
+ with:
446
+ pattern: wheel-*
447
+ merge-multiple: true
448
+ path: dist
449
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
450
+ with:
451
+ name: sdist
452
+ path: dist
453
+ - uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
454
+
455
+ # The "dev" pre-release: main's packages and their checksums, replaced on every push to main, like
456
+ # the dev Docker tag and the PyPI .devN versions. Marked as a pre-release and never as the latest
457
+ # release, so versioned releases stay the default.
458
+ dev:
459
+ needs: [lint, test, packages, package-test]
460
+ if: github.event_name == 'push' && github.ref == 'refs/heads/main'
461
+ runs-on: ubuntu-24.04
462
+ timeout-minutes: 10
463
+ permissions:
464
+ contents: write
465
+ steps:
466
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
467
+ with:
468
+ pattern: "packages-*"
469
+ merge-multiple: true
470
+ path: assets
471
+ - name: Flatten
472
+ run: find assets -mindepth 2 -type f -exec mv -t assets {} + && find assets -mindepth 1 -type d -empty -delete
473
+ - name: Checksums
474
+ run: cd assets && sha256sum -- * > SHA256SUMS
475
+ - name: Release
476
+ env:
477
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
478
+ run: |
479
+ gh release delete dev --repo "$GITHUB_REPOSITORY" --cleanup-tag --yes || true
480
+ gh release create dev assets/* --repo "$GITHUB_REPOSITORY" --target "$GITHUB_SHA" \
481
+ --prerelease --latest=false --title "Dev (main)" \
482
+ --notes "Built from main at $GITHUB_SHA. For versioned binaries, use a tagged release."
483
+
484
+ # A GitHub release for each v* tag, with every wheel, the sdist, the packages and their checksums.
485
+ release:
486
+ needs: [lint, test, wheel, sdist, package-test, docker]
487
+ if: startsWith(github.ref, 'refs/tags/v')
488
+ runs-on: ubuntu-24.04
489
+ timeout-minutes: 10
490
+ permissions:
491
+ contents: write
492
+ steps:
493
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
494
+ with:
495
+ pattern: "wheel-*"
496
+ merge-multiple: true
497
+ path: assets
498
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
499
+ with:
500
+ name: sdist
501
+ path: assets
502
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
503
+ with:
504
+ pattern: "packages-*"
505
+ merge-multiple: true
506
+ path: assets
507
+ - name: Flatten
508
+ run: find assets -mindepth 2 -type f -exec mv -t assets {} + && find assets -mindepth 1 -type d -empty -delete
509
+ - name: Checksums
510
+ run: cd assets && sha256sum -- * > SHA256SUMS
511
+ - name: Release
512
+ env:
513
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
514
+ run: >
515
+ gh release create "$GITHUB_REF_NAME" assets/*
516
+ --repo "$GITHUB_REPOSITORY" --title "TerrainGen ${GITHUB_REF_NAME#v}" --generate-notes
@@ -0,0 +1,33 @@
1
+ dist/
2
+ site/
3
+ .mkdoxy/
4
+ build/
5
+ build-*/
6
+ _build/
7
+
8
+ CMakeUserPresets.json
9
+
10
+ # My custom stuff for now
11
+ paper/
12
+ research/
13
+ demos/
14
+ TODO.md
15
+ ARCHITECTURE.md
16
+ SCIENCE.md
17
+ .vscode/
18
+
19
+ __pycache__/
20
+ *.pyc
21
+ .pytest_cache/
22
+
23
+ # Validation against external references; kept out of the repository for now
24
+ /validation/
25
+
26
+ # DEMs dropped in the repository root for local use; not committed
27
+ /*.[tT][iI][fF]
28
+ /*.[tT][iI][fF][fF]
29
+ /*.[tT][iI][fF].aux.xml
30
+ /*.[tT][iI][fF][fF].aux.xml
31
+
32
+ # Default output folder
33
+ /output/
@@ -0,0 +1,66 @@
1
+ # Vendored code in third_party/ directories stays byte-identical to upstream.
2
+ exclude: (^|/)third_party/
3
+
4
+ repos:
5
+ - repo: https://github.com/pre-commit/pre-commit-hooks
6
+ rev: v6.0.0
7
+ hooks:
8
+ - id: trailing-whitespace
9
+ - id: end-of-file-fixer
10
+ - id: check-added-large-files
11
+ - id: check-merge-conflict
12
+ - id: check-case-conflict
13
+ - id: mixed-line-ending
14
+ args: ["--fix=lf"]
15
+
16
+ - repo: https://github.com/pre-commit/mirrors-clang-format
17
+ rev: v22.1.8
18
+ hooks:
19
+ - id: clang-format
20
+ types_or: [c++, c]
21
+ exclude: (^|/)third_party/
22
+
23
+ - repo: https://github.com/pocc/pre-commit-hooks
24
+ rev: v1.3.5
25
+ hooks:
26
+ - id: cppcheck
27
+ exclude: (^|/)third_party/
28
+ additional_dependencies: ["cppcheck==1.5.1"]
29
+ args:
30
+ - "--language=c++"
31
+ - "--std=c++17"
32
+ - "--enable=warning,performance,portability"
33
+ - "--suppress=missingInclude"
34
+ - "--include=terraingen/util/portable.h"
35
+ - "-U__SLANG__"
36
+ - "--suppress=passedByValue:terraingen/noise/*"
37
+ - "--suppress=normalCheckLevelMaxBranches"
38
+ - "--suppress=floatConversionOverflow:terraingen/python/src/noise.cpp"
39
+ - "--suppress=floatConversionOverflow:terraingen/python/src/mesh.cpp"
40
+ - "--suppress=assignBoolToPointer:terraingen/python/src/*"
41
+ - "--suppress=syntaxError:terraingen/gpu/metal.cpp"
42
+ - "--suppress=returnByReference:terraingen/raster/raster.h"
43
+ - "--error-exitcode=1"
44
+
45
+ - repo: https://github.com/astral-sh/ruff-pre-commit
46
+ rev: v0.17.1
47
+ hooks:
48
+ - id: ruff-check
49
+ args: ["--fix"]
50
+ - id: ruff-format
51
+
52
+ - repo: local
53
+ hooks:
54
+ - id: license-header
55
+ name: license header
56
+ description: Source files start with the SPDX license identifier.
57
+ language: pygrep
58
+ entry: '\A(#!.*\n)?(//|#) SPDX-License-Identifier: BSD-3-Clause\n'
59
+ args: [--multiline, --negate]
60
+ files: (\.(h|cpp|slang|inc|in|py|cmake|sh)|(^|/)CMakeLists\.txt)$
61
+
62
+ - repo: https://github.com/cheshirekow/cmake-format-precommit
63
+ rev: v0.6.13
64
+ hooks:
65
+ - id: cmake-format
66
+ additional_dependencies: ["pyyaml>=5.1"]