chore: bump version to 1.0.1 and update related files
This commit is contained in:
@@ -6,22 +6,7 @@ import numpy as np
|
||||
import pytest
|
||||
|
||||
|
||||
from tests.support.depth_surface import assert_closed, component_count, evaluated, surface
|
||||
|
||||
|
||||
@pytest.mark.parametrize("thickness", [0.1, 1.4])
|
||||
def test_surface_caps_and_segmented_walls_are_connected(thickness):
|
||||
obj, set_value = surface()
|
||||
set_value("Depth Split", 0.5)
|
||||
set_value("Thickness", thickness)
|
||||
coords, faces = evaluated(obj)
|
||||
assert np.isfinite(coords).all()
|
||||
assert_closed(faces)
|
||||
set_value("Thickness", 0.0)
|
||||
front, _ = evaluated(obj)
|
||||
from scipy.spatial import cKDTree
|
||||
assert cKDTree(front).query(coords)[0].max() <= thickness + 1e-5
|
||||
assert cKDTree(coords).query(front)[0].max() < 1e-5
|
||||
from tests.support.depth_surface import evaluated, surface
|
||||
|
||||
|
||||
@pytest.mark.parametrize("size", [0.01, 100.0])
|
||||
@@ -78,15 +63,6 @@ def test_depth_scale_multiplies_split_strength():
|
||||
assert scaled_faces == reference_faces
|
||||
|
||||
|
||||
def test_full_wrapper_keeps_closed_shell():
|
||||
obj, set_value = surface()
|
||||
set_value("Depth Split", 0.5)
|
||||
set_value("Thickness", 0.2)
|
||||
coords, faces = evaluated(obj)
|
||||
assert np.isfinite(coords).all()
|
||||
assert_closed(faces)
|
||||
|
||||
|
||||
@pytest.mark.parametrize("resolution", [1, 4])
|
||||
def test_planar_depth_preserves_blocks_and_cleans_single_face_width(resolution):
|
||||
obj, set_value = surface(step=0.0, resolution=resolution)
|
||||
@@ -123,16 +99,6 @@ def test_outline_points_use_adjacent_face_depth_without_split():
|
||||
np.testing.assert_allclose(coords[boundary, 1], 0, atol=1e-5)
|
||||
|
||||
|
||||
def test_thickness_handles_more_than_4096_source_vertices():
|
||||
obj, set_value = surface(step=0.0, resolution=45)
|
||||
assert len(obj.data.vertices) > 4096
|
||||
set_value("Depth Split", 0.0)
|
||||
set_value("Thickness", 0.02)
|
||||
coords, faces = evaluated(obj)
|
||||
assert np.isfinite(coords).all()
|
||||
assert_closed(faces)
|
||||
|
||||
|
||||
def test_small_positive_split_preserves_unsplit_projection():
|
||||
obj, set_value = surface(step=2.0)
|
||||
original, original_faces = evaluated(obj)
|
||||
@@ -156,19 +122,6 @@ def test_cut_vertices_preserve_camera_rays_and_other_vertices():
|
||||
assert not np.allclose(after, before, atol=1e-6)
|
||||
|
||||
|
||||
def test_source_surface_sampling_preserves_depth_on_side_walls():
|
||||
obj, set_value = surface(step=4.0)
|
||||
set_value("Depth Split", 0.5)
|
||||
set_value("Thickness", 0.1)
|
||||
coords, faces = evaluated(obj)
|
||||
assert_closed(faces)
|
||||
set_value("Thickness", 0.0)
|
||||
front, _ = evaluated(obj)
|
||||
from scipy.spatial import cKDTree
|
||||
assert cKDTree(front).query(coords)[0].max() <= 0.1 + 1e-5
|
||||
assert cKDTree(coords).query(front)[0].max() < 1e-5
|
||||
|
||||
|
||||
@pytest.mark.parametrize("thickness", [0.0, 0.2])
|
||||
def test_temporary_fields_are_removed_and_user_attributes_survive(thickness):
|
||||
obj, set_value = surface()
|
||||
@@ -221,25 +174,6 @@ def test_zero_center_distance_does_not_split_or_produce_nan():
|
||||
assert np.isfinite(coords).all()
|
||||
|
||||
|
||||
def test_triangle_corner_weights_do_not_open_sloped_side_walls():
|
||||
obj, set_value = surface(step=4.0)
|
||||
bm = bmesh.new()
|
||||
bm.from_mesh(obj.data)
|
||||
bmesh.ops.triangulate(bm, faces=list(bm.faces))
|
||||
bm.to_mesh(obj.data)
|
||||
bm.free()
|
||||
image = bpy.data.images["Camera"]
|
||||
pixels = np.array(image.pixels[:], np.float32).reshape(32, 64, 4)
|
||||
pixels[..., 2] += np.arange(32)[:, None] * 0.02
|
||||
image.pixels.foreach_set(pixels.ravel())
|
||||
image.update()
|
||||
set_value("Depth Split", 0.5)
|
||||
set_value("Thickness", 0.8)
|
||||
coords, faces = evaluated(obj)
|
||||
assert_closed(faces)
|
||||
assert component_count(faces) == 2
|
||||
|
||||
|
||||
@pytest.mark.parametrize("resolution", [1, 4])
|
||||
def test_relative_distance_slope_has_density_independent_selection(resolution):
|
||||
obj, set_value = surface(step=0.0, resolution=resolution)
|
||||
|
||||
Reference in New Issue
Block a user