Skip to content

Commit

Permalink
Added tempfile inside context for other meshbuilder test
Browse files Browse the repository at this point in the history
  • Loading branch information
lorycontixd committed May 14, 2024
1 parent 1fbf07f commit d1d73f6
Showing 1 changed file with 34 additions and 31 deletions.
65 changes: 34 additions & 31 deletions tests/test_meshbuilder.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

def test_builder_creation():
mesh = trimesh.creation.box([1, 1, 1])
print(mesh.vertices.shape)

# Temporary write to file because rod Mesh works with uri
with tempfile.NamedTemporaryFile() as fp:
Expand All @@ -23,42 +22,46 @@ def test_builder_creation():
mass=1.0,
scale=np.array([1.0, 1.0, 1.0]),
)
assert (
builder.mesh.vertices.shape == mesh.vertices.shape
), f"{builder.mesh.vertices.shape} != {mesh.vertices.shape}"
assert (
builder.mesh.faces.shape == mesh.faces.shape
), f"{builder.mesh.faces.shape} != {mesh.faces.shape}"
assert (
builder.mesh.moment_inertia.all() == mesh.moment_inertia.all()
), f"{builder.mesh.moment_inertia} != {mesh.moment_inertia}"
assert (
builder.mesh.volume == mesh.volume
), f"{builder.mesh.volume} != {mesh.volume}"
assert (
builder.mesh.vertices.shape == mesh.vertices.shape
), f"{builder.mesh.vertices.shape} != {mesh.vertices.shape}"
assert (
builder.mesh.faces.shape == mesh.faces.shape
), f"{builder.mesh.faces.shape} != {mesh.faces.shape}"
assert (
builder.mesh.moment_inertia.all() == mesh.moment_inertia.all()
), f"{builder.mesh.moment_inertia} != {mesh.moment_inertia}"
assert (
builder.mesh.volume == mesh.volume
), f"{builder.mesh.volume} != {mesh.volume}"


def test_builder_creation_custom_mesh():
# Create a custom mesh
vertices = np.array([[0, 0, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1]])
faces = np.array([[0, 1, 2], [0, 2, 3]])
custom_mesh = trimesh.Trimesh(vertices=vertices, faces=faces)
mesh = trimesh.Trimesh(vertices=vertices, faces=faces)

# Temporary write to file because rod Mesh works with uri
filename = pathlib.Path(__file__).parent / "test_custom_mesh.stl"
custom_mesh.export(filename)

builder = MeshBuilder(
name="test_custom_mesh",
mesh_path=filename,
mass=1.0,
scale=np.array([1.0, 1.0, 1.0]),
)
with tempfile.NamedTemporaryFile() as fp:
# fp.write(trimesh.exchange.stl.export_stl(mesh))
mesh.export(fp.name, file_type="stl")

# Assert on meshes (builder mesh vs custom_mesh)
try:
assert builder.mesh.vertices.shape == custom_mesh.vertices.shape
assert builder.mesh.faces.shape == custom_mesh.faces.shape
assert builder.mesh.moment_inertia.all() == custom_mesh.moment_inertia.all()
assert builder.mesh.volume == custom_mesh.volume
finally:
os.remove(filename)
builder = MeshBuilder(
name="test_mesh",
mesh_path=fp.name,
mass=1.0,
scale=np.array([1.0, 1.0, 1.0]),
)
assert (
builder.mesh.vertices.shape == mesh.vertices.shape
), f"{builder.mesh.vertices.shape} != {mesh.vertices.shape}"
assert (
builder.mesh.faces.shape == mesh.faces.shape
), f"{builder.mesh.faces.shape} != {mesh.faces.shape}"
assert (
builder.mesh.moment_inertia.all() == mesh.moment_inertia.all()
), f"{builder.mesh.moment_inertia} != {mesh.moment_inertia}"
assert (
builder.mesh.volume == mesh.volume
), f"{builder.mesh.volume} != {mesh.volume}"

0 comments on commit d1d73f6

Please sign in to comment.