trenchfoot 0.3.1__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.
Potentially problematic release.
This version of trenchfoot might be problematic. Click here for more details.
- trenchfoot-0.4.1/.gitignore +9 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/CHANGELOG.md +30 -0
- trenchfoot-0.4.1/Makefile +35 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/PKG-INFO +1 -1
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/generate_scenarios.py +27 -27
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/render_colors.py +1 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/sdf_metadata.json +23 -4
- trenchfoot-0.4.1/packages/trenchfoot/scenarios/S02_straight_slope_pipe/sdf_metadata.json +60 -0
- trenchfoot-0.4.1/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/sdf_metadata.json +84 -0
- trenchfoot-0.4.1/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/sdf_metadata.json +104 -0
- trenchfoot-0.4.1/packages/trenchfoot/scenarios/S05_wide_slope_pair/sdf_metadata.json +84 -0
- trenchfoot-0.4.1/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/sdf_metadata.json +88 -0
- trenchfoot-0.4.1/packages/trenchfoot/scenarios/S07_circular_well/sdf_metadata.json +212 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/trench_scene_generator_v3.py +136 -24
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/pyproject.toml +1 -1
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/tests/test_sdf_readiness.py +66 -1
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/uv.lock +1 -1
- trenchfoot-0.3.1/.env +0 -1
- trenchfoot-0.3.1/.github_token.env +0 -1
- trenchfoot-0.3.1/.pypi_token.env +0 -1
- trenchfoot-0.3.1/packages/trenchfoot/scenarios/S02_straight_slope_pipe/sdf_metadata.json +0 -29
- trenchfoot-0.3.1/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/sdf_metadata.json +0 -37
- trenchfoot-0.3.1/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/sdf_metadata.json +0 -45
- trenchfoot-0.3.1/packages/trenchfoot/scenarios/S05_wide_slope_pair/sdf_metadata.json +0 -37
- trenchfoot-0.3.1/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/sdf_metadata.json +0 -61
- trenchfoot-0.3.1/packages/trenchfoot/scenarios/S07_circular_well/sdf_metadata.json +0 -277
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/.github/workflows/ci.yml +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/CLAUDE.md +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/LICENSE +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/README.md +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/STATUS.md +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/docs/scenario_gallery.md +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/__init__.py +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/Dockerfile +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/README.md +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/__init__.py +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/gmsh_sloped_trench_mesher.py +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/plot_mesh.py +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/meshes/trench_scene_culled.obj +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/metrics.json +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/point_clouds/culled/resolution0p050.pth +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/point_clouds/full/resolution0p050.pth +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview_oblique.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview_side.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview_top.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/scene.json +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/trench_scene.obj +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S01_straight_vwalls/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/meshes/trench_scene_culled.obj +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/metrics.json +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/point_clouds/culled/resolution0p050.pth +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/point_clouds/full/resolution0p050.pth +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview_oblique.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview_side.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview_top.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/scene.json +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/trench_scene.obj +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/meshes/trench_scene_culled.obj +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/metrics.json +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/point_clouds/culled/resolution0p050.pth +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/point_clouds/full/resolution0p050.pth +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_oblique.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_side.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_top.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/scene.json +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/trench_scene.obj +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/meshes/trench_scene_culled.obj +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/metrics.json +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview_oblique.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview_side.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview_top.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/scene.json +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/trench_scene.obj +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S05_wide_slope_pair/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S05_wide_slope_pair/metrics.json +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S05_wide_slope_pair/preview_oblique.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S05_wide_slope_pair/preview_side.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S05_wide_slope_pair/preview_top.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S05_wide_slope_pair/scene.json +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S05_wide_slope_pair/trench_scene.obj +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S05_wide_slope_pair/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/metrics.json +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/preview_oblique.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/preview_side.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/preview_top.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/scene.json +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/trench_scene.obj +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S07_circular_well/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S07_circular_well/metrics.json +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S07_circular_well/preview_oblique.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S07_circular_well/preview_side.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S07_circular_well/preview_top.png +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S07_circular_well/scene.json +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S07_circular_well/trench_scene.obj +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/S07_circular_well/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scenarios/SUMMARY.json +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/packages/trenchfoot/scene_spec_example.json +0 -0
- {trenchfoot-0.3.1 → trenchfoot-0.4.1}/tests/test_trenchfoot_generation.py +0 -0
|
@@ -1,5 +1,35 @@
|
|
|
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
|
+
|
|
13
|
+
## [0.4.0] - 2026-01-26
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
- **Makefile**: Added `make dump-meshes`, `make dump-meshes-volumetric`, and `make clean-meshes` targets for local mesh inspection
|
|
17
|
+
- **Inner column lid for circular wells**: S07 and other closed-path trenches now have a proper ground surface capping the central column
|
|
18
|
+
- **`fill_interior` option for GroundSpec**: Closed-path trenches can optionally fill the interior island with ground surface (used in S06)
|
|
19
|
+
- **`inner_column_lid` render color**: Gray color matching ground surface
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
- **S03 box-pipe intersection**: Reduced box size to create clearance from nearby pipe
|
|
23
|
+
- **S04 diagonal pipe clipping**: Adjusted pipe offset to prevent intersection with inner corner
|
|
24
|
+
- **S05 pipe-box intersection**: Moved box position and offset to avoid pipe collision
|
|
25
|
+
- **S06 ground overhang at open ends**: Closed the loop path to use proper annulus triangulation
|
|
26
|
+
- **S07 pipe positions**: Repositioned all pipes with tangential orientation and negative offset to avoid crossing the central opening
|
|
27
|
+
- **Circular path seam artifact**: `_offset_closed_polyline` now removes duplicate closing point that caused triangular protrusion on inner walls
|
|
28
|
+
- **`.gitignore`**: Added `data/` directory for generated mesh inspection
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
- **S07 pipe configuration**: All pipes now tangential (angle_deg=0) with offset_u=-0.4, lengths increased to 7.0-8.0 for wall penetration
|
|
32
|
+
|
|
3
33
|
## [0.3.1] - 2026-01-08
|
|
4
34
|
|
|
5
35
|
### Added
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# ABOUTME: Makefile for trenchfoot development tasks.
|
|
2
|
+
# ABOUTME: Provides targets for testing, mesh generation, and other common operations.
|
|
3
|
+
|
|
4
|
+
.PHONY: test dump-meshes dump-meshes-volumetric clean-meshes
|
|
5
|
+
|
|
6
|
+
# Default data directory for generated meshes
|
|
7
|
+
DATA_DIR := data/scenarios
|
|
8
|
+
|
|
9
|
+
# Run tests
|
|
10
|
+
test:
|
|
11
|
+
uv run pytest -rs
|
|
12
|
+
|
|
13
|
+
# Generate scenario meshes (surface only, with previews) for inspection
|
|
14
|
+
dump-meshes:
|
|
15
|
+
@mkdir -p $(DATA_DIR)
|
|
16
|
+
uv run python -m trenchfoot.generate_scenarios \
|
|
17
|
+
--out $(DATA_DIR) \
|
|
18
|
+
--preview \
|
|
19
|
+
--skip-volumetric
|
|
20
|
+
@echo "Meshes written to $(DATA_DIR)"
|
|
21
|
+
|
|
22
|
+
# Generate scenario meshes including volumetric (requires gmsh)
|
|
23
|
+
dump-meshes-volumetric:
|
|
24
|
+
@mkdir -p $(DATA_DIR)
|
|
25
|
+
uv run python -m trenchfoot.generate_scenarios \
|
|
26
|
+
--out $(DATA_DIR) \
|
|
27
|
+
--preview \
|
|
28
|
+
--volumetric \
|
|
29
|
+
--lc 0.4
|
|
30
|
+
@echo "Meshes (including volumetric) written to $(DATA_DIR)"
|
|
31
|
+
|
|
32
|
+
# Remove generated mesh data
|
|
33
|
+
clean-meshes:
|
|
34
|
+
rm -rf $(DATA_DIR)
|
|
35
|
+
@echo "Cleaned $(DATA_DIR)"
|
|
@@ -223,9 +223,9 @@ def default_scenarios() -> List[ScenarioDefinition]:
|
|
|
223
223
|
],
|
|
224
224
|
"boxes": [
|
|
225
225
|
{
|
|
226
|
-
"along": 0.
|
|
227
|
-
"across": 0.
|
|
228
|
-
"height": 0.
|
|
226
|
+
"along": 0.4,
|
|
227
|
+
"across": 0.3,
|
|
228
|
+
"height": 0.25,
|
|
229
229
|
"s": 0.55,
|
|
230
230
|
"offset_u": 0.0,
|
|
231
231
|
}
|
|
@@ -266,7 +266,7 @@ def default_scenarios() -> List[ScenarioDefinition]:
|
|
|
266
266
|
"angle_deg": 45,
|
|
267
267
|
"s_center": 0.55,
|
|
268
268
|
"z": -0.65,
|
|
269
|
-
"offset_u": -0.
|
|
269
|
+
"offset_u": -0.4,
|
|
270
270
|
},
|
|
271
271
|
{
|
|
272
272
|
"radius": 0.08,
|
|
@@ -304,7 +304,7 @@ def default_scenarios() -> List[ScenarioDefinition]:
|
|
|
304
304
|
"radius": 0.2,
|
|
305
305
|
"length": 5.5,
|
|
306
306
|
"angle_deg": 10,
|
|
307
|
-
"s_center": 0.
|
|
307
|
+
"s_center": 0.2,
|
|
308
308
|
"z": -0.4,
|
|
309
309
|
"offset_u": 0.3,
|
|
310
310
|
"clearance_scale": 0.9,
|
|
@@ -324,8 +324,8 @@ def default_scenarios() -> List[ScenarioDefinition]:
|
|
|
324
324
|
"along": 1.2,
|
|
325
325
|
"across": 0.9,
|
|
326
326
|
"height": 0.35,
|
|
327
|
-
"s": 0.
|
|
328
|
-
"offset_u": -0.
|
|
327
|
+
"s": 0.45,
|
|
328
|
+
"offset_u": -0.4,
|
|
329
329
|
"z": -0.35,
|
|
330
330
|
}
|
|
331
331
|
],
|
|
@@ -344,12 +344,12 @@ def default_scenarios() -> List[ScenarioDefinition]:
|
|
|
344
344
|
ScenarioDefinition(
|
|
345
345
|
"S06_bumpy_wide_loop",
|
|
346
346
|
{
|
|
347
|
-
"path_xy": [[0, 0], [4, -1], [8, 0], [8, 5], [2, 5], [-1, 2]],
|
|
347
|
+
"path_xy": [[0, 0], [4, -1], [8, 0], [8, 5], [2, 5], [-1, 2], [0, 0]],
|
|
348
348
|
"width": 2.6,
|
|
349
349
|
"depth": 0.85,
|
|
350
350
|
"wall_slope": 0.12,
|
|
351
351
|
"ground_margin": 2.0,
|
|
352
|
-
"ground": {"z0": 0.2, "slope": [0.015, 0.03], "size_margin": 1.8},
|
|
352
|
+
"ground": {"z0": 0.2, "slope": [0.015, 0.03], "size_margin": 1.8, "fill_interior": True},
|
|
353
353
|
"pipes": [
|
|
354
354
|
{
|
|
355
355
|
"radius": 0.18,
|
|
@@ -395,41 +395,41 @@ def default_scenarios() -> List[ScenarioDefinition]:
|
|
|
395
395
|
"ground_margin": 1.0,
|
|
396
396
|
"ground": {"z0": 0.0, "slope": [0.0, 0.0], "size_margin": 2.0},
|
|
397
397
|
"pipes": [
|
|
398
|
-
# Upper pipe -
|
|
398
|
+
# Upper pipe - tangential
|
|
399
399
|
{
|
|
400
400
|
"radius": 0.20,
|
|
401
|
-
"length":
|
|
401
|
+
"length": 8.0,
|
|
402
402
|
"angle_deg": 0,
|
|
403
|
-
"s_center": 0.
|
|
403
|
+
"s_center": 0.0,
|
|
404
404
|
"z": -0.5,
|
|
405
|
-
"offset_u": 0.
|
|
405
|
+
"offset_u": -0.4,
|
|
406
406
|
},
|
|
407
|
-
# Middle pipe -
|
|
407
|
+
# Middle pipe - tangential
|
|
408
408
|
{
|
|
409
409
|
"radius": 0.15,
|
|
410
|
-
"length":
|
|
411
|
-
"angle_deg":
|
|
410
|
+
"length": 7.5,
|
|
411
|
+
"angle_deg": 0,
|
|
412
412
|
"s_center": 0.5,
|
|
413
413
|
"z": -1.2,
|
|
414
|
-
"offset_u": 0.
|
|
414
|
+
"offset_u": -0.4,
|
|
415
415
|
},
|
|
416
|
-
# Lower pipe -
|
|
416
|
+
# Lower pipe - tangential
|
|
417
417
|
{
|
|
418
418
|
"radius": 0.10,
|
|
419
|
-
"length":
|
|
420
|
-
"angle_deg":
|
|
421
|
-
"s_center": 0.
|
|
419
|
+
"length": 7.0,
|
|
420
|
+
"angle_deg": 0,
|
|
421
|
+
"s_center": 0.25,
|
|
422
422
|
"z": -1.8,
|
|
423
|
-
"offset_u": -0.
|
|
423
|
+
"offset_u": -0.4,
|
|
424
424
|
},
|
|
425
|
-
# Deep pipe -
|
|
425
|
+
# Deep pipe - tangential
|
|
426
426
|
{
|
|
427
427
|
"radius": 0.12,
|
|
428
|
-
"length":
|
|
429
|
-
"angle_deg":
|
|
430
|
-
"s_center": 0.
|
|
428
|
+
"length": 7.5,
|
|
429
|
+
"angle_deg": 0,
|
|
430
|
+
"s_center": 0.75,
|
|
431
431
|
"z": -2.2,
|
|
432
|
-
"offset_u": 0.
|
|
432
|
+
"offset_u": -0.4,
|
|
433
433
|
},
|
|
434
434
|
],
|
|
435
435
|
"boxes": [],
|
|
@@ -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
|
-
|
|
14
|
+
0.0,
|
|
15
15
|
0.5
|
|
16
16
|
],
|
|
17
17
|
[
|
|
18
18
|
5.0,
|
|
19
|
-
|
|
19
|
+
0.5
|
|
20
20
|
],
|
|
21
21
|
[
|
|
22
|
-
|
|
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
|
+
}
|