Compare physical slice refinement with shared scalar rendering
This commit is contained in:
@@ -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,")
|
||||
|
||||
Reference in New Issue
Block a user