You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

33 lines
1.1 KiB

# System
import numpy as np
from pathlib import Path
from occwl.geometry.tri_utils import write_obj
# Test
from tests.test_base import TestBase
class TriangleTester(TestBase):
def test_triangles(self):
data_folder = self.test_folder() / "test_data"
self.run_test_on_all_files_in_folder(data_folder)
def check_tris(self, verts, tris):
self.assertTrue(verts.shape[1] == 3)
self.assertTrue(verts.dtype == np.float32)
self.assertTrue(tris.shape[1] == 3)
self.assertTrue(tris.dtype == np.int32)
self.assertTrue(np.all(tris < len(verts)))
def run_test_with_pathname(self, file, solid):
verts, tris = solid.get_triangles()
self.assertTrue(verts is not None)
self.assertTrue(tris is not None)
self.check_tris(verts, tris)
output_folder = Path("results")
if not output_folder.exists():
output_folder.mkdir()
output_pathname = (output_folder / file.stem).with_suffix(".obj")
write_obj(output_pathname, verts, tris)