trenchfoot 0.4.0__tar.gz → 0.4.1__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 (108) hide show
  1. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/CHANGELOG.md +10 -0
  2. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/PKG-INFO +1 -1
  3. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/sdf_metadata.json +23 -4
  4. trenchfoot-0.4.1/packages/trenchfoot/scenarios/S02_straight_slope_pipe/sdf_metadata.json +60 -0
  5. trenchfoot-0.4.1/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/sdf_metadata.json +84 -0
  6. trenchfoot-0.4.1/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/sdf_metadata.json +104 -0
  7. trenchfoot-0.4.1/packages/trenchfoot/scenarios/S05_wide_slope_pair/sdf_metadata.json +84 -0
  8. trenchfoot-0.4.1/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/sdf_metadata.json +88 -0
  9. trenchfoot-0.4.1/packages/trenchfoot/scenarios/S07_circular_well/sdf_metadata.json +212 -0
  10. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/trench_scene_generator_v3.py +78 -14
  11. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/pyproject.toml +1 -1
  12. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/tests/test_sdf_readiness.py +66 -1
  13. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/uv.lock +1 -1
  14. trenchfoot-0.4.0/packages/trenchfoot/scenarios/S02_straight_slope_pipe/sdf_metadata.json +0 -29
  15. trenchfoot-0.4.0/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/sdf_metadata.json +0 -37
  16. trenchfoot-0.4.0/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/sdf_metadata.json +0 -45
  17. trenchfoot-0.4.0/packages/trenchfoot/scenarios/S05_wide_slope_pair/sdf_metadata.json +0 -37
  18. trenchfoot-0.4.0/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/sdf_metadata.json +0 -61
  19. trenchfoot-0.4.0/packages/trenchfoot/scenarios/S07_circular_well/sdf_metadata.json +0 -277
  20. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/.github/workflows/ci.yml +0 -0
  21. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/.gitignore +0 -0
  22. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/CLAUDE.md +0 -0
  23. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/LICENSE +0 -0
  24. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/Makefile +0 -0
  25. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/README.md +0 -0
  26. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/STATUS.md +0 -0
  27. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/docs/scenario_gallery.md +0 -0
  28. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/__init__.py +0 -0
  29. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/Dockerfile +0 -0
  30. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/README.md +0 -0
  31. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/__init__.py +0 -0
  32. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/generate_scenarios.py +0 -0
  33. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/gmsh_sloped_trench_mesher.py +0 -0
  34. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/plot_mesh.py +0 -0
  35. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/render_colors.py +0 -0
  36. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/ground_truth_isosurface.html +0 -0
  37. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/meshes/trench_scene_culled.obj +0 -0
  38. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/metrics.json +0 -0
  39. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/point_clouds/culled/resolution0p050.pth +0 -0
  40. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/point_clouds/full/resolution0p050.pth +0 -0
  41. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview.png +0 -0
  42. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview_oblique.png +0 -0
  43. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview_side.png +0 -0
  44. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview_top.png +0 -0
  45. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/scene.json +0 -0
  46. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/trench_scene.obj +0 -0
  47. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/volumetric/trench_volume.msh +0 -0
  48. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/ground_truth_isosurface.html +0 -0
  49. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/meshes/trench_scene_culled.obj +0 -0
  50. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/metrics.json +0 -0
  51. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/point_clouds/culled/resolution0p050.pth +0 -0
  52. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/point_clouds/full/resolution0p050.pth +0 -0
  53. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview.png +0 -0
  54. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview_oblique.png +0 -0
  55. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview_side.png +0 -0
  56. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview_top.png +0 -0
  57. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/scene.json +0 -0
  58. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/trench_scene.obj +0 -0
  59. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/volumetric/trench_volume.msh +0 -0
  60. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/ground_truth_isosurface.html +0 -0
  61. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/meshes/trench_scene_culled.obj +0 -0
  62. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/metrics.json +0 -0
  63. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/point_clouds/culled/resolution0p050.pth +0 -0
  64. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/point_clouds/full/resolution0p050.pth +0 -0
  65. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview.png +0 -0
  66. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_oblique.png +0 -0
  67. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_side.png +0 -0
  68. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_top.png +0 -0
  69. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/scene.json +0 -0
  70. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/trench_scene.obj +0 -0
  71. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/volumetric/trench_volume.msh +0 -0
  72. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/ground_truth_isosurface.html +0 -0
  73. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/meshes/trench_scene_culled.obj +0 -0
  74. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/metrics.json +0 -0
  75. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview.png +0 -0
  76. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview_oblique.png +0 -0
  77. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview_side.png +0 -0
  78. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview_top.png +0 -0
  79. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/scene.json +0 -0
  80. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/trench_scene.obj +0 -0
  81. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/volumetric/trench_volume.msh +0 -0
  82. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S05_wide_slope_pair/ground_truth_isosurface.html +0 -0
  83. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S05_wide_slope_pair/metrics.json +0 -0
  84. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S05_wide_slope_pair/preview_oblique.png +0 -0
  85. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S05_wide_slope_pair/preview_side.png +0 -0
  86. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S05_wide_slope_pair/preview_top.png +0 -0
  87. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S05_wide_slope_pair/scene.json +0 -0
  88. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S05_wide_slope_pair/trench_scene.obj +0 -0
  89. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S05_wide_slope_pair/volumetric/trench_volume.msh +0 -0
  90. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/ground_truth_isosurface.html +0 -0
  91. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/metrics.json +0 -0
  92. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/preview_oblique.png +0 -0
  93. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/preview_side.png +0 -0
  94. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/preview_top.png +0 -0
  95. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/scene.json +0 -0
  96. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/trench_scene.obj +0 -0
  97. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/volumetric/trench_volume.msh +0 -0
  98. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S07_circular_well/ground_truth_isosurface.html +0 -0
  99. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S07_circular_well/metrics.json +0 -0
  100. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S07_circular_well/preview_oblique.png +0 -0
  101. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S07_circular_well/preview_side.png +0 -0
  102. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S07_circular_well/preview_top.png +0 -0
  103. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S07_circular_well/scene.json +0 -0
  104. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S07_circular_well/trench_scene.obj +0 -0
  105. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S07_circular_well/volumetric/trench_volume.msh +0 -0
  106. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/SUMMARY.json +0 -0
  107. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/packages/trenchfoot/scene_spec_example.json +0 -0
  108. {trenchfoot-0.4.0 → trenchfoot-0.4.1}/tests/test_trenchfoot_generation.py +0 -0
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.4.1] - 2026-01-28
4
+
5
+ ### Fixed
6
+ - **Non-convex polygon extraction**: `_build_sdf_metadata()` now correctly extracts boundary polygons for non-convex shapes (L-shaped, U-shaped trenches) using boundary edge chaining instead of ConvexHull. ConvexHull was incorrectly filling in concave regions, causing sign computation errors at trench edges.
7
+ - **sdf_metadata version bumped to 2.0**: Updated version to reflect the corrected polygon format.
8
+
9
+ ### Added
10
+ - **`_extract_boundary_polygon()` helper**: New geometry helper that extracts ordered boundary vertices from triangulated meshes by finding boundary edges (edges appearing in only one face) and chaining them together.
11
+ - **L-shaped polygon test**: Added `test_metadata_l_shaped_polygon_is_non_convex` to verify correct handling of non-convex trench shapes.
12
+
3
13
  ## [0.4.0] - 2026-01-26
4
14
 
5
15
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: trenchfoot
3
- Version: 0.4.0
3
+ Version: 0.4.1
4
4
  Summary: Synthetic trench scenario generator bundle (surfaces + volumetrics).
5
5
  Author: Liam Moore
6
6
  License-File: LICENSE
@@ -8,22 +8,41 @@
8
8
  "vertices_xy": [
9
9
  [
10
10
  0.0,
11
- 0.5
11
+ -0.5
12
12
  ],
13
13
  [
14
- 5.0,
14
+ 0.0,
15
15
  0.5
16
16
  ],
17
17
  [
18
18
  5.0,
19
- -0.5
19
+ 0.5
20
20
  ],
21
21
  [
22
- 0.0,
22
+ 5.0,
23
23
  -0.5
24
24
  ]
25
25
  ],
26
26
  "z_level": 0.0
27
+ },
28
+ "surface_groups": {
29
+ "trench_bottom": {
30
+ "normal_direction": "up",
31
+ "surface_type": "floor"
32
+ },
33
+ "trench_walls": {
34
+ "normal_direction": "inward",
35
+ "surface_type": "wall"
36
+ },
37
+ "ground_surface": {
38
+ "normal_direction": "up",
39
+ "surface_type": "ground"
40
+ }
41
+ },
42
+ "embedded_objects": {
43
+ "pipes": 0,
44
+ "boxes": 0,
45
+ "spheres": 0
27
46
  }
28
47
  }
29
48
  }
@@ -0,0 +1,60 @@
1
+ {
2
+ "sdf_metadata": {
3
+ "version": "2.0",
4
+ "normal_convention": "into_void",
5
+ "geometry_type": "open_trench",
6
+ "trench_opening": {
7
+ "type": "polygon",
8
+ "vertices_xy": [
9
+ [
10
+ 0.0,
11
+ -0.6
12
+ ],
13
+ [
14
+ 0.0,
15
+ 0.6
16
+ ],
17
+ [
18
+ 6.0,
19
+ 0.6
20
+ ],
21
+ [
22
+ 6.0,
23
+ -0.6
24
+ ]
25
+ ],
26
+ "z_level": 0.0
27
+ },
28
+ "surface_groups": {
29
+ "trench_bottom": {
30
+ "normal_direction": "up",
31
+ "surface_type": "floor"
32
+ },
33
+ "trench_walls": {
34
+ "normal_direction": "inward",
35
+ "surface_type": "wall"
36
+ },
37
+ "ground_surface": {
38
+ "normal_direction": "up",
39
+ "surface_type": "ground"
40
+ },
41
+ "pipe0_pipe_side": {
42
+ "normal_direction": "outward",
43
+ "surface_type": "embedded_object"
44
+ },
45
+ "pipe0_pipe_cap_neg": {
46
+ "normal_direction": "outward",
47
+ "surface_type": "embedded_object"
48
+ },
49
+ "pipe0_pipe_cap_pos": {
50
+ "normal_direction": "outward",
51
+ "surface_type": "embedded_object"
52
+ }
53
+ },
54
+ "embedded_objects": {
55
+ "pipes": 1,
56
+ "boxes": 0,
57
+ "spheres": 0
58
+ }
59
+ }
60
+ }
@@ -0,0 +1,84 @@
1
+ {
2
+ "sdf_metadata": {
3
+ "version": "2.0",
4
+ "normal_convention": "into_void",
5
+ "geometry_type": "open_trench",
6
+ "trench_opening": {
7
+ "type": "polygon",
8
+ "vertices_xy": [
9
+ [
10
+ 0.0,
11
+ -0.6
12
+ ],
13
+ [
14
+ 0.0,
15
+ 0.6
16
+ ],
17
+ [
18
+ 5.4,
19
+ 0.6
20
+ ],
21
+ [
22
+ 5.4,
23
+ 4.0
24
+ ],
25
+ [
26
+ 6.6,
27
+ 4.0
28
+ ],
29
+ [
30
+ 6.6,
31
+ -0.6
32
+ ]
33
+ ],
34
+ "z_level": 0.0
35
+ },
36
+ "surface_groups": {
37
+ "trench_bottom": {
38
+ "normal_direction": "up",
39
+ "surface_type": "floor"
40
+ },
41
+ "trench_walls": {
42
+ "normal_direction": "inward",
43
+ "surface_type": "wall"
44
+ },
45
+ "ground_surface": {
46
+ "normal_direction": "up",
47
+ "surface_type": "ground"
48
+ },
49
+ "pipe0_pipe_side": {
50
+ "normal_direction": "outward",
51
+ "surface_type": "embedded_object"
52
+ },
53
+ "pipe0_pipe_cap_neg": {
54
+ "normal_direction": "outward",
55
+ "surface_type": "embedded_object"
56
+ },
57
+ "pipe0_pipe_cap_pos": {
58
+ "normal_direction": "outward",
59
+ "surface_type": "embedded_object"
60
+ },
61
+ "pipe1_pipe_side": {
62
+ "normal_direction": "outward",
63
+ "surface_type": "embedded_object"
64
+ },
65
+ "pipe1_pipe_cap_neg": {
66
+ "normal_direction": "outward",
67
+ "surface_type": "embedded_object"
68
+ },
69
+ "pipe1_pipe_cap_pos": {
70
+ "normal_direction": "outward",
71
+ "surface_type": "embedded_object"
72
+ },
73
+ "box0": {
74
+ "normal_direction": "outward",
75
+ "surface_type": "embedded_object"
76
+ }
77
+ },
78
+ "embedded_objects": {
79
+ "pipes": 2,
80
+ "boxes": 1,
81
+ "spheres": 0
82
+ }
83
+ }
84
+ }
@@ -0,0 +1,104 @@
1
+ {
2
+ "sdf_metadata": {
3
+ "version": "2.0",
4
+ "normal_convention": "into_void",
5
+ "geometry_type": "open_trench",
6
+ "trench_opening": {
7
+ "type": "polygon",
8
+ "vertices_xy": [
9
+ [
10
+ 0.0,
11
+ -0.7
12
+ ],
13
+ [
14
+ 0.0,
15
+ 0.7
16
+ ],
17
+ [
18
+ 5.3,
19
+ 0.7
20
+ ],
21
+ [
22
+ 5.3,
23
+ 3.3
24
+ ],
25
+ [
26
+ 0.0,
27
+ 3.3
28
+ ],
29
+ [
30
+ 0.0,
31
+ 4.7
32
+ ],
33
+ [
34
+ 6.7,
35
+ 4.7
36
+ ],
37
+ [
38
+ 6.7,
39
+ -0.7
40
+ ]
41
+ ],
42
+ "z_level": 0.0
43
+ },
44
+ "surface_groups": {
45
+ "trench_bottom": {
46
+ "normal_direction": "up",
47
+ "surface_type": "floor"
48
+ },
49
+ "trench_walls": {
50
+ "normal_direction": "inward",
51
+ "surface_type": "wall"
52
+ },
53
+ "ground_surface": {
54
+ "normal_direction": "up",
55
+ "surface_type": "ground"
56
+ },
57
+ "pipe0_pipe_side": {
58
+ "normal_direction": "outward",
59
+ "surface_type": "embedded_object"
60
+ },
61
+ "pipe0_pipe_cap_neg": {
62
+ "normal_direction": "outward",
63
+ "surface_type": "embedded_object"
64
+ },
65
+ "pipe0_pipe_cap_pos": {
66
+ "normal_direction": "outward",
67
+ "surface_type": "embedded_object"
68
+ },
69
+ "pipe1_pipe_side": {
70
+ "normal_direction": "outward",
71
+ "surface_type": "embedded_object"
72
+ },
73
+ "pipe1_pipe_cap_neg": {
74
+ "normal_direction": "outward",
75
+ "surface_type": "embedded_object"
76
+ },
77
+ "pipe1_pipe_cap_pos": {
78
+ "normal_direction": "outward",
79
+ "surface_type": "embedded_object"
80
+ },
81
+ "pipe2_pipe_side": {
82
+ "normal_direction": "outward",
83
+ "surface_type": "embedded_object"
84
+ },
85
+ "pipe2_pipe_cap_neg": {
86
+ "normal_direction": "outward",
87
+ "surface_type": "embedded_object"
88
+ },
89
+ "pipe2_pipe_cap_pos": {
90
+ "normal_direction": "outward",
91
+ "surface_type": "embedded_object"
92
+ },
93
+ "sphere0": {
94
+ "normal_direction": "outward",
95
+ "surface_type": "embedded_object"
96
+ }
97
+ },
98
+ "embedded_objects": {
99
+ "pipes": 3,
100
+ "boxes": 0,
101
+ "spheres": 1
102
+ }
103
+ }
104
+ }
@@ -0,0 +1,84 @@
1
+ {
2
+ "sdf_metadata": {
3
+ "version": "2.0",
4
+ "normal_convention": "into_void",
5
+ "geometry_type": "open_trench",
6
+ "trench_opening": {
7
+ "type": "polygon",
8
+ "vertices_xy": [
9
+ [
10
+ 0.0,
11
+ -1.2
12
+ ],
13
+ [
14
+ 0.0,
15
+ 1.2
16
+ ],
17
+ [
18
+ 7.8,
19
+ 1.2
20
+ ],
21
+ [
22
+ 7.8,
23
+ 3.0
24
+ ],
25
+ [
26
+ 10.2,
27
+ 3.0
28
+ ],
29
+ [
30
+ 10.2,
31
+ -1.2
32
+ ]
33
+ ],
34
+ "z_level": 0.0
35
+ },
36
+ "surface_groups": {
37
+ "trench_bottom": {
38
+ "normal_direction": "up",
39
+ "surface_type": "floor"
40
+ },
41
+ "trench_walls": {
42
+ "normal_direction": "inward",
43
+ "surface_type": "wall"
44
+ },
45
+ "ground_surface": {
46
+ "normal_direction": "up",
47
+ "surface_type": "ground"
48
+ },
49
+ "pipe0_pipe_side": {
50
+ "normal_direction": "outward",
51
+ "surface_type": "embedded_object"
52
+ },
53
+ "pipe0_pipe_cap_neg": {
54
+ "normal_direction": "outward",
55
+ "surface_type": "embedded_object"
56
+ },
57
+ "pipe0_pipe_cap_pos": {
58
+ "normal_direction": "outward",
59
+ "surface_type": "embedded_object"
60
+ },
61
+ "pipe1_pipe_side": {
62
+ "normal_direction": "outward",
63
+ "surface_type": "embedded_object"
64
+ },
65
+ "pipe1_pipe_cap_neg": {
66
+ "normal_direction": "outward",
67
+ "surface_type": "embedded_object"
68
+ },
69
+ "pipe1_pipe_cap_pos": {
70
+ "normal_direction": "outward",
71
+ "surface_type": "embedded_object"
72
+ },
73
+ "box0": {
74
+ "normal_direction": "outward",
75
+ "surface_type": "embedded_object"
76
+ }
77
+ },
78
+ "embedded_objects": {
79
+ "pipes": 2,
80
+ "boxes": 1,
81
+ "spheres": 0
82
+ }
83
+ }
84
+ }
@@ -0,0 +1,88 @@
1
+ {
2
+ "sdf_metadata": {
3
+ "version": "2.0",
4
+ "normal_convention": "into_void",
5
+ "geometry_type": "closed_well",
6
+ "trench_opening": {
7
+ "type": "polygon",
8
+ "vertices_xy": [
9
+ [
10
+ -0.8953594528137068,
11
+ -1.116169465122313
12
+ ],
13
+ [
14
+ 4.0,
15
+ -2.3400093283257397
16
+ ],
17
+ [
18
+ 9.3,
19
+ -1.0150093283257395
20
+ ],
21
+ [
22
+ 9.3,
23
+ 6.3
24
+ ],
25
+ [
26
+ 1.4615223689149763,
27
+ 6.3
28
+ ],
29
+ [
30
+ -2.58178866727825,
31
+ 2.2566889638067735
32
+ ]
33
+ ],
34
+ "z_level": 0.2
35
+ },
36
+ "surface_groups": {
37
+ "trench_bottom": {
38
+ "normal_direction": "up",
39
+ "surface_type": "floor"
40
+ },
41
+ "trench_walls": {
42
+ "normal_direction": "inward",
43
+ "surface_type": "wall"
44
+ },
45
+ "ground_surface": {
46
+ "normal_direction": "up",
47
+ "surface_type": "ground"
48
+ },
49
+ "ground_island": {
50
+ "normal_direction": "up",
51
+ "surface_type": "ground"
52
+ },
53
+ "pipe0_pipe_side": {
54
+ "normal_direction": "outward",
55
+ "surface_type": "embedded_object"
56
+ },
57
+ "pipe0_pipe_cap_neg": {
58
+ "normal_direction": "outward",
59
+ "surface_type": "embedded_object"
60
+ },
61
+ "pipe0_pipe_cap_pos": {
62
+ "normal_direction": "outward",
63
+ "surface_type": "embedded_object"
64
+ },
65
+ "pipe1_pipe_side": {
66
+ "normal_direction": "outward",
67
+ "surface_type": "embedded_object"
68
+ },
69
+ "pipe1_pipe_cap_neg": {
70
+ "normal_direction": "outward",
71
+ "surface_type": "embedded_object"
72
+ },
73
+ "pipe1_pipe_cap_pos": {
74
+ "normal_direction": "outward",
75
+ "surface_type": "embedded_object"
76
+ },
77
+ "sphere0": {
78
+ "normal_direction": "outward",
79
+ "surface_type": "embedded_object"
80
+ }
81
+ },
82
+ "embedded_objects": {
83
+ "pipes": 2,
84
+ "boxes": 0,
85
+ "spheres": 1
86
+ }
87
+ }
88
+ }
@@ -0,0 +1,212 @@
1
+ {
2
+ "sdf_metadata": {
3
+ "version": "2.0",
4
+ "normal_convention": "into_void",
5
+ "geometry_type": "closed_well",
6
+ "trench_opening": {
7
+ "type": "polygon",
8
+ "vertices_xy": [
9
+ [
10
+ 2.5048385723763116,
11
+ -2.7755575615628914e-15
12
+ ],
13
+ [
14
+ 2.456708801572928,
15
+ 0.4886697636833139
16
+ ],
17
+ [
18
+ 2.3141690892632654,
19
+ 0.9585602223974381
20
+ ],
21
+ [
22
+ 2.082697156654193,
23
+ 1.3916137493315945
24
+ ],
25
+ [
26
+ 1.7711883403049211,
27
+ 1.77118834030492
28
+ ],
29
+ [
30
+ 1.3916137493315943,
31
+ 2.082697156654193
32
+ ],
33
+ [
34
+ 0.9585602223974379,
35
+ 2.3141690892632654
36
+ ],
37
+ [
38
+ 0.488669763683314,
39
+ 2.456708801572928
40
+ ],
41
+ [
42
+ 9.71445146547012e-17,
43
+ 2.504838572376311
44
+ ],
45
+ [
46
+ -0.48866976368331355,
47
+ 2.456708801572928
48
+ ],
49
+ [
50
+ -0.9585602223974382,
51
+ 2.314169089263265
52
+ ],
53
+ [
54
+ -1.3916137493315945,
55
+ 2.082697156654193
56
+ ],
57
+ [
58
+ -1.7711883403049202,
59
+ 1.7711883403049207
60
+ ],
61
+ [
62
+ -2.0826971566541927,
63
+ 1.3916137493315948
64
+ ],
65
+ [
66
+ -2.314169089263265,
67
+ 0.9585602223974394
68
+ ],
69
+ [
70
+ -2.456708801572928,
71
+ 0.48866976368331483
72
+ ],
73
+ [
74
+ -2.504838572376311,
75
+ 1.8041124150158794e-16
76
+ ],
77
+ [
78
+ -2.4567088015729275,
79
+ -0.48866976368331533
80
+ ],
81
+ [
82
+ -2.3141690892632654,
83
+ -0.958560222397438
84
+ ],
85
+ [
86
+ -2.0826971566541936,
87
+ -1.3916137493315939
88
+ ],
89
+ [
90
+ -1.7711883403049204,
91
+ -1.7711883403049207
92
+ ],
93
+ [
94
+ -1.3916137493315952,
95
+ -2.0826971566541927
96
+ ],
97
+ [
98
+ -0.9585602223974392,
99
+ -2.314169089263265
100
+ ],
101
+ [
102
+ -0.48866976368331394,
103
+ -2.456708801572928
104
+ ],
105
+ [
106
+ -1.0408340855860843e-15,
107
+ -2.504838572376311
108
+ ],
109
+ [
110
+ 0.4886697636833134,
111
+ -2.456708801572928
112
+ ],
113
+ [
114
+ 0.9585602223974385,
115
+ -2.314169089263265
116
+ ],
117
+ [
118
+ 1.3916137493315957,
119
+ -2.0826971566541923
120
+ ],
121
+ [
122
+ 1.7711883403049202,
123
+ -1.7711883403049207
124
+ ],
125
+ [
126
+ 2.0826971566541927,
127
+ -1.391613749331595
128
+ ],
129
+ [
130
+ 2.314169089263265,
131
+ -0.9585602223974392
132
+ ],
133
+ [
134
+ 2.456708801572928,
135
+ -0.4886697636833141
136
+ ]
137
+ ],
138
+ "z_level": 0.0
139
+ },
140
+ "surface_groups": {
141
+ "trench_bottom": {
142
+ "normal_direction": "up",
143
+ "surface_type": "floor"
144
+ },
145
+ "trench_walls": {
146
+ "normal_direction": "inward",
147
+ "surface_type": "wall"
148
+ },
149
+ "ground_surface": {
150
+ "normal_direction": "up",
151
+ "surface_type": "ground"
152
+ },
153
+ "pipe0_pipe_side": {
154
+ "normal_direction": "outward",
155
+ "surface_type": "embedded_object"
156
+ },
157
+ "pipe0_pipe_cap_neg": {
158
+ "normal_direction": "outward",
159
+ "surface_type": "embedded_object"
160
+ },
161
+ "pipe0_pipe_cap_pos": {
162
+ "normal_direction": "outward",
163
+ "surface_type": "embedded_object"
164
+ },
165
+ "pipe1_pipe_side": {
166
+ "normal_direction": "outward",
167
+ "surface_type": "embedded_object"
168
+ },
169
+ "pipe1_pipe_cap_neg": {
170
+ "normal_direction": "outward",
171
+ "surface_type": "embedded_object"
172
+ },
173
+ "pipe1_pipe_cap_pos": {
174
+ "normal_direction": "outward",
175
+ "surface_type": "embedded_object"
176
+ },
177
+ "pipe2_pipe_side": {
178
+ "normal_direction": "outward",
179
+ "surface_type": "embedded_object"
180
+ },
181
+ "pipe2_pipe_cap_neg": {
182
+ "normal_direction": "outward",
183
+ "surface_type": "embedded_object"
184
+ },
185
+ "pipe2_pipe_cap_pos": {
186
+ "normal_direction": "outward",
187
+ "surface_type": "embedded_object"
188
+ },
189
+ "pipe3_pipe_side": {
190
+ "normal_direction": "outward",
191
+ "surface_type": "embedded_object"
192
+ },
193
+ "pipe3_pipe_cap_neg": {
194
+ "normal_direction": "outward",
195
+ "surface_type": "embedded_object"
196
+ },
197
+ "pipe3_pipe_cap_pos": {
198
+ "normal_direction": "outward",
199
+ "surface_type": "embedded_object"
200
+ },
201
+ "sphere0": {
202
+ "normal_direction": "outward",
203
+ "surface_type": "embedded_object"
204
+ }
205
+ },
206
+ "embedded_objects": {
207
+ "pipes": 4,
208
+ "boxes": 0,
209
+ "spheres": 1
210
+ }
211
+ }
212
+ }