diff --git a/pyproject.toml b/pyproject.toml index ed64fc06e..ab8923c37 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ requires = ["setuptools >= 61.0", "wheel"] [project] name = "trimesh" requires-python = ">=3.7" -version = "4.2.1" +version = "4.2.2" authors = [{name = "Michael Dawson-Haggerty", email = "mikedh@kerfed.com"}] license = {file = "LICENSE.md"} description = "Import, export, process, analyze and view triangular meshes." diff --git a/tests/test_viewer.py b/tests/test_viewer.py index f48d896be..79373721e 100644 --- a/tests/test_viewer.py +++ b/tests/test_viewer.py @@ -28,6 +28,36 @@ def test_viewer(self): assert len(png) > 0 + def test_methods(self): + if not g.include_rendering: + return + # set a GL config that fixes a depth buffer issue in xvfb + # this should raise an exception if pyglet can't get a library + from pyglet import gl + from pyglet.window import key + + from trimesh.viewer.windowed import SceneViewer + + window_conf = gl.Config(double_buffer=True, depth_size=24) + + # try the various toggles we have implemented + key_check = [key.W, key.Z, key.C, key.A, key.G, key.M, key.F] + + scene = g.get_mesh("cycloidal.3DXML") + scene.add_geometry(g.get_mesh("fuze.obj")) + scene.add_geometry(g.get_mesh("2D/spline.DXF")) + + v = SceneViewer(scene=scene, start_loop=False, window_conf=window_conf) + v.on_draw() + + # see if these do anything + for k in key_check: + v.on_key_press(symbol=k, modifiers=None) + v.on_draw() + + # run the quit key toggle + v.on_key_press(symbol=key.Q, modifiers=None) + if __name__ == "__main__": g.trimesh.util.attach_to_log()