trenchfoot 0.4.4__py3-none-any.whl → 0.4.6__py3-none-any.whl
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/scenarios/S01_straight_vwalls/trench_scene.obj +7 -7
- trenchfoot/scenarios/S02_straight_slope_pipe/metrics.json +1 -1
- trenchfoot/scenarios/S02_straight_slope_pipe/trench_scene.obj +4857 -4857
- trenchfoot/scenarios/S03_L_slope_two_pipes_box/metrics.json +2 -2
- trenchfoot/scenarios/S03_L_slope_two_pipes_box/trench_scene.obj +4762 -4762
- trenchfoot/scenarios/S04_U_slope_multi_noise/metrics.json +2 -2
- trenchfoot/scenarios/S04_U_slope_multi_noise/trench_scene.obj +4764 -4764
- trenchfoot/scenarios/S05_wide_slope_pair/metrics.json +3 -3
- trenchfoot/scenarios/S05_wide_slope_pair/trench_scene.obj +4762 -4762
- trenchfoot/scenarios/S06_bumpy_wide_loop/metrics.json +5 -5
- trenchfoot/scenarios/S06_bumpy_wide_loop/sdf_metadata.json +12 -12
- trenchfoot/scenarios/S06_bumpy_wide_loop/trench_scene.obj +22 -22
- trenchfoot/scenarios/S07_circular_well/metrics.json +6 -6
- trenchfoot/scenarios/S07_circular_well/sdf_metadata.json +64 -64
- trenchfoot/scenarios/S07_circular_well/trench_scene.obj +126 -126
- trenchfoot/scenarios/SUMMARY.json +5 -5
- trenchfoot/trench_scene_generator_v3.py +83 -55
- {trenchfoot-0.4.4.dist-info → trenchfoot-0.4.6.dist-info}/METADATA +2 -1
- {trenchfoot-0.4.4.dist-info → trenchfoot-0.4.6.dist-info}/RECORD +22 -22
- {trenchfoot-0.4.4.dist-info → trenchfoot-0.4.6.dist-info}/WHEEL +0 -0
- {trenchfoot-0.4.4.dist-info → trenchfoot-0.4.6.dist-info}/entry_points.txt +0 -0
- {trenchfoot-0.4.4.dist-info → trenchfoot-0.4.6.dist-info}/licenses/LICENSE +0 -0
|
@@ -1101,71 +1101,42 @@ def _triangulate_annulus(outer: np.ndarray, inner: np.ndarray) -> Tuple[np.ndarr
|
|
|
1101
1101
|
Creates triangles that fill ONLY the region between the two polygons,
|
|
1102
1102
|
leaving the inner polygon area as an open hole.
|
|
1103
1103
|
|
|
1104
|
+
Uses the earcut algorithm which correctly handles non-convex inner
|
|
1105
|
+
polygons (L-shapes, U-shapes, etc.) without creating triangles that
|
|
1106
|
+
cross over the hole.
|
|
1107
|
+
|
|
1104
1108
|
Both polygons should be CCW oriented. Returns (vertices, faces) where
|
|
1105
1109
|
vertices is the concatenation of outer and inner, and faces index into it.
|
|
1106
1110
|
"""
|
|
1111
|
+
import mapbox_earcut as earcut
|
|
1112
|
+
|
|
1107
1113
|
n_outer = len(outer)
|
|
1108
1114
|
n_inner = len(inner)
|
|
1109
1115
|
|
|
1110
|
-
#
|
|
1111
|
-
|
|
1116
|
+
# Earcut expects:
|
|
1117
|
+
# - A flat array of coordinates [x0, y0, x1, y1, ...]
|
|
1118
|
+
# - A list of hole start indices (index into the coordinate array by vertex count)
|
|
1119
|
+
#
|
|
1120
|
+
# The outer polygon comes first, then the inner polygon (as a hole).
|
|
1121
|
+
# ring_end_indices specifies where each ring ends (cumulative indices).
|
|
1112
1122
|
|
|
1113
|
-
#
|
|
1114
|
-
|
|
1115
|
-
# For different counts, we need to handle the ratio
|
|
1123
|
+
# Combine outer and inner polygons: outer first, then inner (as hole)
|
|
1124
|
+
coords = np.vstack([outer, inner]).astype(np.float64)
|
|
1116
1125
|
|
|
1117
|
-
|
|
1126
|
+
# ring_end_indices: cumulative end indices for each ring
|
|
1127
|
+
# First ring (outer) ends at n_outer, second ring (hole) ends at n_outer + n_inner
|
|
1128
|
+
ring_end_indices = np.array([n_outer, n_outer + n_inner], dtype=np.uint32)
|
|
1118
1129
|
|
|
1119
|
-
#
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
# Simple approach: interpolate around both polygons simultaneously
|
|
1123
|
-
# treating them as having a common parameter t in [0, 1]
|
|
1124
|
-
|
|
1125
|
-
i_outer = 0 # current outer vertex index
|
|
1126
|
-
i_inner = 0 # current inner vertex index
|
|
1127
|
-
t_outer = 0.0 # parameter position on outer polygon
|
|
1128
|
-
t_inner = 0.0 # parameter position on inner polygon
|
|
1129
|
-
|
|
1130
|
-
outer_step = 1.0 / n_outer
|
|
1131
|
-
inner_step = 1.0 / n_inner
|
|
1132
|
-
|
|
1133
|
-
# March around creating triangles
|
|
1134
|
-
while i_outer < n_outer or i_inner < n_inner:
|
|
1135
|
-
# Current vertices
|
|
1136
|
-
o_curr = i_outer % n_outer
|
|
1137
|
-
o_next = (i_outer + 1) % n_outer
|
|
1138
|
-
i_curr = i_inner % n_inner
|
|
1139
|
-
i_next = (i_inner + 1) % n_inner
|
|
1140
|
-
|
|
1141
|
-
# Indices in combined vertex array
|
|
1142
|
-
vo_curr = o_curr
|
|
1143
|
-
vo_next = o_next
|
|
1144
|
-
vi_curr = n_outer + i_curr
|
|
1145
|
-
vi_next = n_outer + i_next
|
|
1146
|
-
|
|
1147
|
-
if i_outer >= n_outer:
|
|
1148
|
-
# Finished outer, just advance inner
|
|
1149
|
-
tris.append([vo_curr, vi_next, vi_curr])
|
|
1150
|
-
i_inner += 1
|
|
1151
|
-
t_inner += inner_step
|
|
1152
|
-
elif i_inner >= n_inner:
|
|
1153
|
-
# Finished inner, just advance outer
|
|
1154
|
-
tris.append([vo_curr, vo_next, vi_curr])
|
|
1155
|
-
i_outer += 1
|
|
1156
|
-
t_outer += outer_step
|
|
1157
|
-
elif t_outer + outer_step <= t_inner + inner_step:
|
|
1158
|
-
# Advance outer - create triangle: o_curr, o_next, i_curr
|
|
1159
|
-
tris.append([vo_curr, vo_next, vi_curr])
|
|
1160
|
-
i_outer += 1
|
|
1161
|
-
t_outer += outer_step
|
|
1162
|
-
else:
|
|
1163
|
-
# Advance inner - create triangle: o_curr, i_next, i_curr
|
|
1164
|
-
tris.append([vo_curr, vi_next, vi_curr])
|
|
1165
|
-
i_inner += 1
|
|
1166
|
-
t_inner += inner_step
|
|
1130
|
+
# Run earcut triangulation
|
|
1131
|
+
triangle_indices = earcut.triangulate_float64(coords, ring_end_indices)
|
|
1167
1132
|
|
|
1168
|
-
|
|
1133
|
+
# Convert flat triangle indices to (N, 3) array
|
|
1134
|
+
tris = np.array(triangle_indices, dtype=int).reshape(-1, 3)
|
|
1135
|
+
|
|
1136
|
+
# Vertices: outer first, then inner
|
|
1137
|
+
verts = np.vstack([outer, inner])
|
|
1138
|
+
|
|
1139
|
+
return verts, tris
|
|
1169
1140
|
|
|
1170
1141
|
|
|
1171
1142
|
def make_ground_surface_plane(path_xy: List[Tuple[float,float]], width_top: float, ground) -> Dict[str,Tuple[np.ndarray,np.ndarray]]:
|
|
@@ -1340,6 +1311,58 @@ def _point_inside_trench(
|
|
|
1340
1311
|
return abs(local_u) <= half_w
|
|
1341
1312
|
|
|
1342
1313
|
|
|
1314
|
+
def _is_beyond_trench_ends(
|
|
1315
|
+
x: float, y: float,
|
|
1316
|
+
path_xy: List[Tuple[float, float]],
|
|
1317
|
+
) -> bool:
|
|
1318
|
+
"""Check if a point is beyond the ends of an open trench path.
|
|
1319
|
+
|
|
1320
|
+
For open paths (not closed loops), points that project beyond the first
|
|
1321
|
+
or last vertex of the path are outside the trench void, even if their
|
|
1322
|
+
perpendicular distance would put them within the trench walls.
|
|
1323
|
+
|
|
1324
|
+
Returns True if the point is beyond either end of an open path.
|
|
1325
|
+
Returns False for closed paths (where there are no "ends").
|
|
1326
|
+
"""
|
|
1327
|
+
if _is_path_closed(path_xy):
|
|
1328
|
+
return False # Closed paths have no ends to be beyond
|
|
1329
|
+
|
|
1330
|
+
P = np.array(path_xy, float)
|
|
1331
|
+
query = np.array([x, y], float)
|
|
1332
|
+
|
|
1333
|
+
# Check start of path (s=0)
|
|
1334
|
+
start = P[0]
|
|
1335
|
+
if len(P) > 1:
|
|
1336
|
+
# Tangent at start points in the direction of the path
|
|
1337
|
+
tangent_start = P[1] - P[0]
|
|
1338
|
+
tangent_start = tangent_start / (np.linalg.norm(tangent_start) + 1e-12)
|
|
1339
|
+
# Vector from start to query point
|
|
1340
|
+
to_query = query - start
|
|
1341
|
+
# Distance along tangent (negative means before the start)
|
|
1342
|
+
along_start = float(np.dot(to_query, tangent_start))
|
|
1343
|
+
# The trench has a vertical end wall at the start vertex.
|
|
1344
|
+
# Any point projecting before this wall is outside the trench.
|
|
1345
|
+
if along_start < 0:
|
|
1346
|
+
return True
|
|
1347
|
+
|
|
1348
|
+
# Check end of path (s=1)
|
|
1349
|
+
end = P[-1]
|
|
1350
|
+
if len(P) > 1:
|
|
1351
|
+
# Tangent at end points in the direction we came from
|
|
1352
|
+
tangent_end = P[-1] - P[-2]
|
|
1353
|
+
tangent_end = tangent_end / (np.linalg.norm(tangent_end) + 1e-12)
|
|
1354
|
+
# Vector from end to query point
|
|
1355
|
+
to_query = query - end
|
|
1356
|
+
# Distance along tangent (positive means past the end)
|
|
1357
|
+
along_end = float(np.dot(to_query, tangent_end))
|
|
1358
|
+
# The trench has a vertical end wall at the end vertex.
|
|
1359
|
+
# Any point projecting past this wall is outside the trench.
|
|
1360
|
+
if along_end > 0:
|
|
1361
|
+
return True
|
|
1362
|
+
|
|
1363
|
+
return False
|
|
1364
|
+
|
|
1365
|
+
|
|
1343
1366
|
@dataclass
|
|
1344
1367
|
class TruncationResult:
|
|
1345
1368
|
"""Result of computing pipe truncation."""
|
|
@@ -1405,6 +1428,11 @@ def _compute_pipe_truncation(
|
|
|
1405
1428
|
if abs(local_u) + effective_radius > half_w:
|
|
1406
1429
|
return False
|
|
1407
1430
|
|
|
1431
|
+
# Check trench end boundaries: for open trenches, pipe must not extend
|
|
1432
|
+
# beyond the vertical end walls at the start/end of the path
|
|
1433
|
+
if _is_beyond_trench_ends(x, y, path_xy):
|
|
1434
|
+
return False
|
|
1435
|
+
|
|
1408
1436
|
return True
|
|
1409
1437
|
|
|
1410
1438
|
def binary_search_boundary(t_inside: float, t_outside: float, tol: float = 0.001) -> float:
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: trenchfoot
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.6
|
|
4
4
|
Summary: Synthetic trench scenario generator bundle (surfaces + volumetrics).
|
|
5
5
|
Author: Liam Moore
|
|
6
6
|
License-File: LICENSE
|
|
7
7
|
Requires-Python: >=3.12
|
|
8
|
+
Requires-Dist: mapbox-earcut>=1.0
|
|
8
9
|
Requires-Dist: numpy>=1.26
|
|
9
10
|
Provides-Extra: dev
|
|
10
11
|
Requires-Dist: pytest>=8.3; extra == 'dev'
|
|
@@ -6,8 +6,8 @@ trenchfoot/gmsh_sloped_trench_mesher.py,sha256=D7EL6V0wkE6tvDARmm006yZE6KEzCl25O
|
|
|
6
6
|
trenchfoot/plot_mesh.py,sha256=26dOlVfaM1WsUfr_sXVqA7axtY9qjY3WCNM7cUBTS7Q,3810
|
|
7
7
|
trenchfoot/render_colors.py,sha256=CWMre6DYa2EyrCgZsEY0bv313WqEhQdr3CdPF1xI-40,1649
|
|
8
8
|
trenchfoot/scene_spec_example.json,sha256=UcV25ku422UO0ZZPDrJwrT1zwmjoOIpnBdLuEdh-AZA,1028
|
|
9
|
-
trenchfoot/trench_scene_generator_v3.py,sha256=
|
|
10
|
-
trenchfoot/scenarios/SUMMARY.json,sha256=
|
|
9
|
+
trenchfoot/trench_scene_generator_v3.py,sha256=kCh7e8rjXaJu9UXzWTU5Pu78FLmYapGPRk5h3GM-rPw,76918
|
|
10
|
+
trenchfoot/scenarios/SUMMARY.json,sha256=XdFkhDjBUKjLkhZCCYgZRS5yBAQclwctr14H1JUnCcE,6831
|
|
11
11
|
trenchfoot/scenarios/S01_straight_vwalls/ground_truth_isosurface.html,sha256=SLPROqEefBB8OgmZSW6DBmJxuSDxVQhWTn9eG3q6QRU,5880178
|
|
12
12
|
trenchfoot/scenarios/S01_straight_vwalls/metrics.json,sha256=WZsyUfDIcJW1FFHfNq1wF8zn0r-XL3jCrkmowV4OFwA,691
|
|
13
13
|
trenchfoot/scenarios/S01_straight_vwalls/preview.png,sha256=adsx3-6oMu9WaixggXRhuXi_KM-q5s2RNSBLR_stq80,199624
|
|
@@ -16,77 +16,77 @@ trenchfoot/scenarios/S01_straight_vwalls/preview_side.png,sha256=zBqMghMiEAYvceP
|
|
|
16
16
|
trenchfoot/scenarios/S01_straight_vwalls/preview_top.png,sha256=L0qGIFib1cAwSwJJ16cRtYSlPMOo4uQhNGt6OvM58XQ,39495
|
|
17
17
|
trenchfoot/scenarios/S01_straight_vwalls/scene.json,sha256=kbHRC9zMVDGHbuLh2wRsvchfVfcbdDEVvxsMwHHBoHw,343
|
|
18
18
|
trenchfoot/scenarios/S01_straight_vwalls/sdf_metadata.json,sha256=lo4IULejtQ0vg2rH8JDfRvB2WCxvUxM_N4JJjtBbU4Y,854
|
|
19
|
-
trenchfoot/scenarios/S01_straight_vwalls/trench_scene.obj,sha256=
|
|
19
|
+
trenchfoot/scenarios/S01_straight_vwalls/trench_scene.obj,sha256=LziV7R65U-cSktxZppsS7talf6quTfxeOmsPOahnpX0,563
|
|
20
20
|
trenchfoot/scenarios/S01_straight_vwalls/meshes/trench_scene_culled.obj,sha256=6-usCEpAfhhZcdCxAy7NcXrkBwv-mEh40A6zN50k0Jo,519
|
|
21
21
|
trenchfoot/scenarios/S01_straight_vwalls/point_clouds/culled/resolution0p050.pth,sha256=w4AKFbud2V0NhAtudGXXheLynAq-NLxUFSPxLczK3T0,1352093
|
|
22
22
|
trenchfoot/scenarios/S01_straight_vwalls/point_clouds/full/resolution0p050.pth,sha256=w4AKFbud2V0NhAtudGXXheLynAq-NLxUFSPxLczK3T0,1352093
|
|
23
23
|
trenchfoot/scenarios/S01_straight_vwalls/volumetric/trench_volume.msh,sha256=mpKNhdAPEogyDQrE9IGTgg535ZBNYXiLpIcmvl6QYPA,15007
|
|
24
24
|
trenchfoot/scenarios/S02_straight_slope_pipe/ground_truth_isosurface.html,sha256=vHMtovoUUkmSGVh150se7hJERRBILzGr0iZYaJ6R1pw,6321783
|
|
25
|
-
trenchfoot/scenarios/S02_straight_slope_pipe/metrics.json,sha256=
|
|
25
|
+
trenchfoot/scenarios/S02_straight_slope_pipe/metrics.json,sha256=g8qKCa5t5gGE3-P9PTjFUn-z2ka3lxyWoI_pGjfAc9Q,929
|
|
26
26
|
trenchfoot/scenarios/S02_straight_slope_pipe/preview.png,sha256=Aj5XpJMSdRNqnrPzL4oe-d0RjLdFT2V7OFrrZxwlsx8,251134
|
|
27
27
|
trenchfoot/scenarios/S02_straight_slope_pipe/preview_oblique.png,sha256=8gTOJkd63NtXRkHcS31Sun_ClXiufqsxFeTVrPcG1no,173774
|
|
28
28
|
trenchfoot/scenarios/S02_straight_slope_pipe/preview_side.png,sha256=Zwft-WEogsjPGcaUl7-Xd4kRIjewlbJ9h52MjS0pXB4,56706
|
|
29
29
|
trenchfoot/scenarios/S02_straight_slope_pipe/preview_top.png,sha256=Su71iVHxgWIVPaYde4qnMiBR_gXix1n9bCSgmiYkO6M,57538
|
|
30
30
|
trenchfoot/scenarios/S02_straight_slope_pipe/scene.json,sha256=W1ApzLHEnHQn-7AdWxh2xiEinj6Yb7830sQXNxmmmDw,486
|
|
31
31
|
trenchfoot/scenarios/S02_straight_slope_pipe/sdf_metadata.json,sha256=5zWHXErct6UJro-6PzkCJqENG8PNAABVHBIIPg5sJfE,1211
|
|
32
|
-
trenchfoot/scenarios/S02_straight_slope_pipe/trench_scene.obj,sha256=
|
|
32
|
+
trenchfoot/scenarios/S02_straight_slope_pipe/trench_scene.obj,sha256=bJcc__416H4WJ4NMI5Bjo4OUoVLtomtggmwNr2rM7ZA,340328
|
|
33
33
|
trenchfoot/scenarios/S02_straight_slope_pipe/meshes/trench_scene_culled.obj,sha256=OOiw80NuCBejzeN3MWAip9Haw8yQsLZEdlMQdDIgEMU,847
|
|
34
34
|
trenchfoot/scenarios/S02_straight_slope_pipe/point_clouds/culled/resolution0p050.pth,sha256=Ug9hTIsm6iQKRs9cucXJyJpxpSvQ5f2GS1ytZmxi1mE,1623389
|
|
35
35
|
trenchfoot/scenarios/S02_straight_slope_pipe/point_clouds/full/resolution0p050.pth,sha256=JgIRni8xWKtz2mm0gpSdmavGe-FF71mDervavM4Rqw8,1718877
|
|
36
36
|
trenchfoot/scenarios/S02_straight_slope_pipe/volumetric/trench_volume.msh,sha256=kNFAqjr7dM-KX4JQV1u5GbHbWWFIfiEur1wV1fJCePA,47084
|
|
37
37
|
trenchfoot/scenarios/S03_L_slope_two_pipes_box/ground_truth_isosurface.html,sha256=0kRp_SHowhOHCljQV7CYaI0ur1KOzUjjjIJSwMdMoOI,6791920
|
|
38
|
-
trenchfoot/scenarios/S03_L_slope_two_pipes_box/metrics.json,sha256=
|
|
38
|
+
trenchfoot/scenarios/S03_L_slope_two_pipes_box/metrics.json,sha256=u1CtIyJsVc9Imx-_wVwqBHOVMQHYZ1fl_ILadssyqDo,1110
|
|
39
39
|
trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview.png,sha256=q0V_2HSLUl2ovWLc4INKV87aLVh3vzqabMyKr8XEWEg,224248
|
|
40
40
|
trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_oblique.png,sha256=Nvp0hvmG9HvZgbiEgbbI3uJtCLNFgLdamh8p2dw3ucY,154869
|
|
41
41
|
trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_side.png,sha256=57DnWIuV4p-7eguJVSshd0SZ0COy7Y2cedUMp_DrrjY,51284
|
|
42
42
|
trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_top.png,sha256=rs-CMZwaNUl5xef85WEckQqm_UqNrGcfE39nofvsp0E,48235
|
|
43
43
|
trenchfoot/scenarios/S03_L_slope_two_pipes_box/scene.json,sha256=72g4wMT8tWcLRDYyMoJXOK50PbpfC1DDt6VUYGZgFzM,941
|
|
44
44
|
trenchfoot/scenarios/S03_L_slope_two_pipes_box/sdf_metadata.json,sha256=6ESVHVGuw_PJzIUD65bMoTLazbU8_a29zEUjmwaQYGo,1774
|
|
45
|
-
trenchfoot/scenarios/S03_L_slope_two_pipes_box/trench_scene.obj,sha256=
|
|
45
|
+
trenchfoot/scenarios/S03_L_slope_two_pipes_box/trench_scene.obj,sha256=bktda0KKM51xCJePgeMhZ_0dHnyoBrbm9ZnLtWhjE08,676874
|
|
46
46
|
trenchfoot/scenarios/S03_L_slope_two_pipes_box/meshes/trench_scene_culled.obj,sha256=At4lipowr_3MY1rxmcKa479F_mQ-jJDVQJe0yHTrFSc,1835
|
|
47
47
|
trenchfoot/scenarios/S03_L_slope_two_pipes_box/point_clouds/culled/resolution0p050.pth,sha256=KqbuoZ1tUPDhlnDgmhd-7WBb92TABsEmOzEsB__KtlA,2456029
|
|
48
48
|
trenchfoot/scenarios/S03_L_slope_two_pipes_box/point_clouds/full/resolution0p050.pth,sha256=4fXvfu0TMO9FJaoqYrW21SCGe3eKuSLkSUl9CdE14rw,2622685
|
|
49
49
|
trenchfoot/scenarios/S03_L_slope_two_pipes_box/volumetric/trench_volume.msh,sha256=cPgHKHlzPPtWX8H1yaxAYsEgYba3fr2JjfPvgg2a000,87383
|
|
50
50
|
trenchfoot/scenarios/S04_U_slope_multi_noise/ground_truth_isosurface.html,sha256=E7sa8dlDyICJBlnL9X2C8IEopEJzDMhHdLbW-WpoPFc,7184880
|
|
51
|
-
trenchfoot/scenarios/S04_U_slope_multi_noise/metrics.json,sha256=
|
|
51
|
+
trenchfoot/scenarios/S04_U_slope_multi_noise/metrics.json,sha256=uFn_K4E0o317Go8XvpEzQwCkalkaXQBQ7VZj_Q_vHKM,1293
|
|
52
52
|
trenchfoot/scenarios/S04_U_slope_multi_noise/preview.png,sha256=ZbLgrL0nRtUX1y77i7b3LCxw4w_j5Ivmmh0i2YzrBDs,238958
|
|
53
53
|
trenchfoot/scenarios/S04_U_slope_multi_noise/preview_oblique.png,sha256=HKUWhUuuql2YZzqq4B5oDpQSCWy9RhuwY_JxVZ-bEbg,162693
|
|
54
54
|
trenchfoot/scenarios/S04_U_slope_multi_noise/preview_side.png,sha256=S7n1ivuo1PFcMp_WuEEnJnCx2JMP5yiCCCYOFDzJtfY,77730
|
|
55
55
|
trenchfoot/scenarios/S04_U_slope_multi_noise/preview_top.png,sha256=auLgGMvU1bRua43WrU-O2WelPy0TbPZZD7ALFIvqlqk,65419
|
|
56
56
|
trenchfoot/scenarios/S04_U_slope_multi_noise/scene.json,sha256=jkUNZ_rHSjVajoj54o8KoeWzY3pFH97L5pdWiH_C75w,1119
|
|
57
57
|
trenchfoot/scenarios/S04_U_slope_multi_noise/sdf_metadata.json,sha256=78CdQZwn01CBBfMr-4jUc3eOGNw9jxmWEmjwd7KvM6o,2234
|
|
58
|
-
trenchfoot/scenarios/S04_U_slope_multi_noise/trench_scene.obj,sha256=
|
|
58
|
+
trenchfoot/scenarios/S04_U_slope_multi_noise/trench_scene.obj,sha256=oa38vI62Wu7DrZgCz0vY9eTSAxPFAtHg19mdstBYdAE,1212223
|
|
59
59
|
trenchfoot/scenarios/S04_U_slope_multi_noise/meshes/trench_scene_culled.obj,sha256=ykw_tzhXknXt3DbmSk3cBzbOL91Jm4zxjthp799YkWw,3206
|
|
60
60
|
trenchfoot/scenarios/S04_U_slope_multi_noise/volumetric/trench_volume.msh,sha256=7KfGkJAlv19rzbaPhzbmy9UWo42Db_4VhAtisn6aMak,144623
|
|
61
61
|
trenchfoot/scenarios/S05_wide_slope_pair/ground_truth_isosurface.html,sha256=MVKZHfrF2emDTNmpn7AhxqYUlcBXDUzY7_qSek2RpWg,6304070
|
|
62
|
-
trenchfoot/scenarios/S05_wide_slope_pair/metrics.json,sha256=
|
|
62
|
+
trenchfoot/scenarios/S05_wide_slope_pair/metrics.json,sha256=N57i1cTUa7jnLCHBlLQlSJp1uHcHSNMtm3mdauPkzeI,1111
|
|
63
63
|
trenchfoot/scenarios/S05_wide_slope_pair/preview_oblique.png,sha256=S0MwfT2bC0T7AAUsqwDAIBxxRea6lHeYhQYrumwJfFU,139982
|
|
64
64
|
trenchfoot/scenarios/S05_wide_slope_pair/preview_side.png,sha256=8hiJ5ZZZ6iqIdPakWsgWDPrJnEuU7Qqy-odjnR38ocM,67796
|
|
65
65
|
trenchfoot/scenarios/S05_wide_slope_pair/preview_top.png,sha256=bDdjWwBN6QQfZ2kV71VbV_Q59nrPYAiUMh3ivRo4L9M,57737
|
|
66
66
|
trenchfoot/scenarios/S05_wide_slope_pair/scene.json,sha256=jmNMzqR8m4DvR35325GH87FdYXRgVb5VuKu7ZwDovW0,1028
|
|
67
67
|
trenchfoot/scenarios/S05_wide_slope_pair/sdf_metadata.json,sha256=PRaqys_akemKtlfTwhJBELx5erUHKarjHMgMvU5R4kc,1776
|
|
68
|
-
trenchfoot/scenarios/S05_wide_slope_pair/trench_scene.obj,sha256=
|
|
68
|
+
trenchfoot/scenarios/S05_wide_slope_pair/trench_scene.obj,sha256=LfE1pH7YiGEVqyR_jgp_xblcwqxOUfhl7TfiDFli0oQ,693480
|
|
69
69
|
trenchfoot/scenarios/S05_wide_slope_pair/volumetric/trench_volume.msh,sha256=pHrj2dJgpSklpxiHHThiZINJQWpUdvkfhUnVBpKASEM,123235
|
|
70
70
|
trenchfoot/scenarios/S06_bumpy_wide_loop/ground_truth_isosurface.html,sha256=_p4-B7sg_lfvKzVwJyfg6ub5Nk_x-ekzmLUE2NxQvkQ,6600554
|
|
71
|
-
trenchfoot/scenarios/S06_bumpy_wide_loop/metrics.json,sha256=
|
|
71
|
+
trenchfoot/scenarios/S06_bumpy_wide_loop/metrics.json,sha256=MY7ABvVGGc3bWTKiiMOXHW9pvnrfec2wbEVoYa3BZ9g,1220
|
|
72
72
|
trenchfoot/scenarios/S06_bumpy_wide_loop/preview_oblique.png,sha256=Kw8agcTy3VTZ9OM-dNR46hXJ2sKJZN9xwozX0fNicbU,180697
|
|
73
73
|
trenchfoot/scenarios/S06_bumpy_wide_loop/preview_side.png,sha256=6e8YF0oPJ045jax9w2grPUvO6j1OAod3iD81XXDldb0,88884
|
|
74
74
|
trenchfoot/scenarios/S06_bumpy_wide_loop/preview_top.png,sha256=nvbwTseVTuw6lNjsUB2JdbFacngFbzjYzDUaAk_ayLs,89085
|
|
75
75
|
trenchfoot/scenarios/S06_bumpy_wide_loop/scene.json,sha256=znpu8CXFIKLDBnpqmi0gWIg9_10NpmZrVLaMKnCuhZ0,1162
|
|
76
|
-
trenchfoot/scenarios/S06_bumpy_wide_loop/sdf_metadata.json,sha256=
|
|
77
|
-
trenchfoot/scenarios/S06_bumpy_wide_loop/trench_scene.obj,sha256=
|
|
76
|
+
trenchfoot/scenarios/S06_bumpy_wide_loop/sdf_metadata.json,sha256=Tui7hhyXzXQXXsDBRZh-MhMK2mC_3PyS019wg6X3DBk,1981
|
|
77
|
+
trenchfoot/scenarios/S06_bumpy_wide_loop/trench_scene.obj,sha256=8IZ1vqS95gQTQyEXKsDf0z4e7tNgc6HIxjY3ZAj0gNY,852849
|
|
78
78
|
trenchfoot/scenarios/S06_bumpy_wide_loop/volumetric/trench_volume.msh,sha256=r8KJMR5TxykP1_oeYbPnsckStGZDZ2-7e8KCAHPBh5I,279971
|
|
79
79
|
trenchfoot/scenarios/S07_circular_well/ground_truth_isosurface.html,sha256=PP3ueCK76LhrnoK95ZCOyToq1hMroqrZANUrGKoQGx4,8166265
|
|
80
|
-
trenchfoot/scenarios/S07_circular_well/metrics.json,sha256=
|
|
80
|
+
trenchfoot/scenarios/S07_circular_well/metrics.json,sha256=OYK_-QAlJdp2rvPW0h9oYmXdaTWs7kV-sl5VWjUSDS4,1433
|
|
81
81
|
trenchfoot/scenarios/S07_circular_well/preview_oblique.png,sha256=ogcl8HnszT6otoZuRu_P5J_wbzuwA54FL1lOPAEBv3M,201455
|
|
82
82
|
trenchfoot/scenarios/S07_circular_well/preview_side.png,sha256=wg6Blso1DHaswjwgQ8A2wakoAf7Iry-OCWUdFH46ALg,80971
|
|
83
83
|
trenchfoot/scenarios/S07_circular_well/preview_top.png,sha256=X1P0g8kblJLsxOpYiZXKG1uIn4Bt52jvp2spLX-7554,123007
|
|
84
84
|
trenchfoot/scenarios/S07_circular_well/scene.json,sha256=tLLEgEWNxARpvHXkgLNDRvmE-pLgd92_LQJGs0BMdIM,3144
|
|
85
|
-
trenchfoot/scenarios/S07_circular_well/sdf_metadata.json,sha256=
|
|
86
|
-
trenchfoot/scenarios/S07_circular_well/trench_scene.obj,sha256=
|
|
85
|
+
trenchfoot/scenarios/S07_circular_well/sdf_metadata.json,sha256=KyndFy135AJ5T42dRgcdvsFii_KgihCDreP3pyVOdrQ,4819
|
|
86
|
+
trenchfoot/scenarios/S07_circular_well/trench_scene.obj,sha256=DpMQukhWFybZ6C6LUSrQsd5OZ6k2okabUnEoiVhy2v4,1608828
|
|
87
87
|
trenchfoot/scenarios/S07_circular_well/volumetric/trench_volume.msh,sha256=dqhtd3SFKj5RLT_BcWIIvVGCbAqvOx7RX25-K7NKX10,615212
|
|
88
|
-
trenchfoot-0.4.
|
|
89
|
-
trenchfoot-0.4.
|
|
90
|
-
trenchfoot-0.4.
|
|
91
|
-
trenchfoot-0.4.
|
|
92
|
-
trenchfoot-0.4.
|
|
88
|
+
trenchfoot-0.4.6.dist-info/METADATA,sha256=XbM-B0AQxxm5PZX98-ng0yY7pA6OPTqAnHwYvaWeSWE,5326
|
|
89
|
+
trenchfoot-0.4.6.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
90
|
+
trenchfoot-0.4.6.dist-info/entry_points.txt,sha256=5TejAGmc4GnNYLn7MhhLtSCNz9240RvzcNaetF4IHfg,119
|
|
91
|
+
trenchfoot-0.4.6.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
|
92
|
+
trenchfoot-0.4.6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|