1111mod glfw;
1212mod graphics;
1313
14- use graphics:: { Graphics , Image , get_graphics, get_graphics_mut} ;
14+ use graphics:: { Graphics , Image , Mesh , get_graphics, get_graphics_mut} ;
1515use pyo3:: { exceptions:: PyRuntimeError , prelude:: * , types:: PyTuple } ;
1616
1717use std:: env;
@@ -20,6 +20,7 @@ use std::env;
2020fn processing ( m : & Bound < ' _ , PyModule > ) -> PyResult < ( ) > {
2121 m. add_class :: < Graphics > ( ) ?;
2222 m. add_class :: < Image > ( ) ?;
23+ m. add_class :: < Mesh > ( ) ?;
2324 m. add_function ( wrap_pyfunction ! ( size, m) ?) ?;
2425 m. add_function ( wrap_pyfunction ! ( run, m) ?) ?;
2526 m. add_function ( wrap_pyfunction ! ( mode_3d, m) ?) ?;
@@ -37,6 +38,8 @@ fn processing(m: &Bound<'_, PyModule>) -> PyResult<()> {
3738 m. add_function ( wrap_pyfunction ! ( stroke_weight, m) ?) ?;
3839 m. add_function ( wrap_pyfunction ! ( rect, m) ?) ?;
3940 m. add_function ( wrap_pyfunction ! ( image, m) ?) ?;
41+ m. add_function ( wrap_pyfunction ! ( draw_mesh, m) ?) ?;
42+
4043 Ok ( ( ) )
4144}
4245
@@ -151,6 +154,12 @@ fn draw_box(module: &Bound<'_, PyModule>, x: f32, y: f32, z: f32) -> PyResult<()
151154 get_graphics ( module) ?. draw_box ( x, y, z)
152155}
153156
157+ #[ pyfunction]
158+ #[ pyo3( pass_module, signature = ( mesh) ) ]
159+ fn draw_mesh ( module : & Bound < ' _ , PyModule > , mesh : & Bound < ' _ , Mesh > ) -> PyResult < ( ) > {
160+ get_graphics ( module) ?. draw_mesh ( & * mesh. extract :: < PyRef < Mesh > > ( ) ?)
161+ }
162+
154163#[ pyfunction]
155164#[ pyo3( pass_module, signature = ( * args) ) ]
156165fn background ( module : & Bound < ' _ , PyModule > , args : & Bound < ' _ , PyTuple > ) -> PyResult < ( ) > {
0 commit comments