[draw] fix handling of Nx3 vertex arrays
This commit is contained in:
parent
32b6c207dc
commit
43d5fa8b4f
2 changed files with 38 additions and 8 deletions
|
|
@ -1,8 +1,8 @@
|
|||
# import pytest
|
||||
import pytest
|
||||
import numpy
|
||||
from numpy.testing import assert_allclose #, assert_array_equal
|
||||
|
||||
from .. import Grid, Extent #, Slab, Plane
|
||||
from .. import Grid, Extent, GridError, Plane
|
||||
|
||||
|
||||
def test_draw_oncenter_2x2() -> None:
|
||||
|
|
@ -116,3 +116,34 @@ def test_draw_2shift_4x4() -> None:
|
|||
[0, 0.125, 0.125, 0]])[None, :, :, None]
|
||||
|
||||
assert_allclose(arr, correct)
|
||||
|
||||
|
||||
def test_draw_polygon_accepts_coplanar_nx3_vertices() -> None:
|
||||
grid = Grid([[0, 1, 2], [0, 1, 2], [0, 1]], shifts=[[0, 0, 0]])
|
||||
arr_2d = grid.allocate(0)
|
||||
arr_3d = grid.allocate(0)
|
||||
slab = dict(axis='z', center=0.5, span=1.0)
|
||||
|
||||
polygon_2d = numpy.array([[0, 0], [1, 0], [1, 1], [0, 1]], dtype=float)
|
||||
polygon_3d = numpy.array([[0, 0, 0.5],
|
||||
[1, 0, 0.5],
|
||||
[1, 1, 0.5],
|
||||
[0, 1, 0.5]], dtype=float)
|
||||
|
||||
grid.draw_polygon(arr_2d, slab=slab, polygon=polygon_2d, foreground=1)
|
||||
grid.draw_polygon(arr_3d, slab=slab, polygon=polygon_3d, foreground=1)
|
||||
|
||||
assert_allclose(arr_3d, arr_2d)
|
||||
|
||||
|
||||
def test_draw_polygon_rejects_noncoplanar_nx3_vertices() -> None:
|
||||
grid = Grid([[0, 1, 2], [0, 1, 2], [0, 1]], shifts=[[0, 0, 0]])
|
||||
arr = grid.allocate(0)
|
||||
polygon = numpy.array([[0, 0, 0.5],
|
||||
[1, 0, 0.5],
|
||||
[1, 1, 0.75],
|
||||
[0, 1, 0.5]], dtype=float)
|
||||
|
||||
with pytest.raises(GridError):
|
||||
grid.draw_polygon(arr, slab=dict(axis='z', center=0.5, span=1.0), polygon=polygon, foreground=1)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue