Compare physical slice refinement with shared scalar rendering

This commit is contained in:
2026-09-19 14:15:35 -04:00
parent 5f8458c9cc
commit 6614a5bdf6
5 changed files with 419 additions and 17 deletions

View File

@@ -64,6 +64,8 @@ class ModelSlicePlotTests(unittest.TestCase):
for triangle in data.triangles:
horizontal = data.vertices[triangle, 2]
self.assertTrue(np.all(horizontal < 0) or np.all(horizontal > 0))
raster = slices.rasterize_fields(data, (-2, 2, 0, 1), 64)
self.assertTrue(raster.mask[:, :, 24:40].all())
figure = slices.render(data, reference_outline=True, title="Analytic geometry/schema control")
self.assertEqual(figure.axes[0].get_aspect(), 1.)
self.assertEqual(figure.axes[1].get_aspect(), 1.)
@@ -77,6 +79,20 @@ class ModelSlicePlotTests(unittest.TestCase):
with self.assertRaisesRegex(ValueError, "different material elements"):
slices.load_slice(self.directory)
def test_raster_overlap_uses_first_triangle_without_trace_averaging(self):
data = slices.load_slice(self.directory)
original = slices.rasterize_fields(data, (-2, 2, 0, 1), 64)
extra = data.vertices[:3].copy()
extra[:, 0] += len(data.vertices)
extra[:, 1] = 2
extra[:, 5] = 100
extra[:, 6] = -100
data.vertices = np.concatenate((data.vertices, extra))
data.triangles = np.concatenate((data.triangles, [[6, 7, 8]]))
overlapped = slices.rasterize_fields(data, (-2, 2, 0, 1), 64)
np.testing.assert_array_equal(original.mask, overlapped.mask)
np.testing.assert_array_equal(original.data, overlapped.data)
def test_wrong_physical_plane_is_rejected(self):
path = self.directory / "vertices.csv"
text = path.read_text().replace("0,0,-2,0.2,0,", "0,0,-2,0.25,0,")