Tests: Add tests for object.voxel_remesh

Pull Request: https://projects.blender.org/blender/blender/pulls/137378
This commit is contained in:
Sean Kim
2025-04-16 07:01:24 +02:00
committed by Sean Kim
parent 7c79c303b8
commit 65b84a97de

View File

@@ -19,6 +19,35 @@ class ClosestPointOnMeshTest(unittest.TestCase):
self.assertEqual(ret_val[1], Vector((0.0, 0.0, 1.0)))
class RemeshTest(unittest.TestCase):
def setUp(self):
bpy.ops.wm.read_factory_settings(use_empty=True)
bpy.ops.ed.undo_push()
bpy.ops.mesh.primitive_cube_add()
bpy.ops.sculpt.sculptmode_toggle()
def test_operator_remeshes_basic_cube(self):
"""Test that using the operator with default settings creates a mesh with the expected amount of vertices."""
mesh = bpy.context.object.data
mesh.remesh_voxel_size = 0.1
ret_val = bpy.ops.object.voxel_remesh()
self.assertEqual({'FINISHED'}, ret_val)
num_vertices = mesh.attributes.domain_size('POINT')
self.assertEqual(num_vertices, 2648)
def test_operator_doesnt_run_with_0_voxel_size(self):
"""Test that using the operator returns an error to the user with a voxel size of 0."""
mesh = bpy.context.object.data
mesh.remesh_voxel_size = 0
with self.assertRaises(RuntimeError):
bpy.ops.object.voxel_remesh()
if __name__ == '__main__':
import sys
sys.argv = [__file__] + (sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else [])