trimesh.viewer package

Module contents

viewer

View meshes and scenes via pyglet or inline HTML.

Functions

SceneWidget(*args, **kwargs)

render_scene(scene[, resolution, visible])

Render a preview of a scene to a PNG.

in_notebook()

Check to see if we are in an IPython or Jypyter notebook.

scene_to_notebook(scene[, height])

Convert a scene to HTML containing embedded geometry and a three.js viewer that will display nicely in an IPython/Jupyter notebook.

scene_to_html(scene)

Return HTML that will render the scene using

Classes

SceneViewer(scene[, smooth, flags, visible, …])

trimesh.viewer.SceneWidget(*args, **kwargs)
class trimesh.viewer.SceneViewer(scene, smooth=True, flags=None, visible=True, resolution=None, start_loop=True, callback=None, callback_period=None, caption=None, fixed=None, offset_lines=True, background=None, window_conf=None, **kwargs)

Bases: pyglet.window.Window

Methods

add_geometry(name, geometry, **kwargs)

Add a geometry to the viewer.

init_gl()

Perform the magic incantations to create an OpenGL scene using pyglet.

on_draw()

Run the actual draw calls.

on_key_press(symbol, modifiers)

Call appropriate functions given key presses.

on_mouse_drag(x, y, dx, dy, buttons, modifiers)

Pan or rotate the view.

on_mouse_press(x, y, buttons, modifiers)

Set the start point of the drag.

on_mouse_scroll(x, y, dx, dy)

Zoom the view.

on_resize(width, height)

Handle resized windows.

reset_view([flags])

Set view to the default view.

save_image(file_obj)

Save the current color buffer to a file object in PNG format.

toggle_axis()

Toggle a rendered XYZ/RGB axis marker:

toggle_culling()

Toggle back face culling.

toggle_fullscreen()

Toggle between fullscreen and windowed mode.

toggle_wireframe()

Toggle wireframe mode

update_flags()

Check the view flags, and call required GL functions.

add_geometry(name, geometry, **kwargs)

Add a geometry to the viewer.

Parameters
  • name (hashable) – Name that references geometry

  • geometry (Trimesh, Path2D, Path3D, PointCloud) – Geometry to display in the viewer window

  • ** (kwargs) – Passed to rendering.convert_to_vertexlist

init_gl()

Perform the magic incantations to create an OpenGL scene using pyglet.

on_draw()

Run the actual draw calls.

on_key_press(symbol, modifiers)

Call appropriate functions given key presses.

on_mouse_drag(x, y, dx, dy, buttons, modifiers)

Pan or rotate the view.

on_mouse_press(x, y, buttons, modifiers)

Set the start point of the drag.

on_mouse_scroll(x, y, dx, dy)

Zoom the view.

on_resize(width, height)

Handle resized windows.

reset_view(flags=None)

Set view to the default view.

Parameters

flags (None or dict) – If any view key passed override the default e.g. {‘cull’: False}

save_image(file_obj)

Save the current color buffer to a file object in PNG format.

Parameters

file_obj (file name, or file- like object) –

toggle_axis()

Toggle a rendered XYZ/RGB axis marker: off, world frame, every frame

toggle_culling()

Toggle back face culling.

It is on by default but if you are dealing with non- watertight meshes you probably want to be able to see the back sides.

toggle_fullscreen()

Toggle between fullscreen and windowed mode.

toggle_wireframe()

Toggle wireframe mode

Good for looking inside meshes, off by default.

update_flags()

Check the view flags, and call required GL functions.

trimesh.viewer.render_scene(scene, resolution=None, visible=True, **kwargs)

Render a preview of a scene to a PNG.

Parameters
  • scene (trimesh.Scene) – Geometry to be rendered

  • resolution ((2,) int or None) – Resolution in pixels, or set from scene.camera

  • kwargs – Passed to SceneViewer

Returns

render – Image in PNG format

Return type

bytes

trimesh.viewer.in_notebook()

Check to see if we are in an IPython or Jypyter notebook.

Returns

in_notebook – Returns True if we are in a notebook

Return type

bool

trimesh.viewer.scene_to_notebook(scene, height=500, **kwargs)

Convert a scene to HTML containing embedded geometry and a three.js viewer that will display nicely in an IPython/Jupyter notebook.

Parameters

scene (trimesh.Scene) – Source geometry

Returns

html – Object containing rendered scene

Return type

IPython.display.HTML

trimesh.viewer.scene_to_html(scene)

Return HTML that will render the scene using GLTF/GLB encoded to base64 loaded by three.js

Parameters

scene (trimesh.Scene) – Source geometry

Returns

html – HTML containing embedded geometry

Return type

str