1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//! # drew-sim
//!
//! Librairie de rendu 3D immédiat pour applications [`eframe`]/[`egui`].
//!
//! Pensée pour la visualisation de télémétrie (drones, robots, capteurs
//! d'orientation) : chargement de maillages `.stl`, caméra orbitale avec
//! zoom/pan à la souris, et primitives de dessin (maillage fil de fer,
//! repère XYZ, trajectoire, graphe de valeurs).
//!
//! ## Exemple minimal
//!
//! ```no_run
//! use drew_sim::{Engine3D, Mesh3D, Rotation3D, TelemetryState};
//!
//! struct App {
//! engine: Engine3D,
//! mesh: Mesh3D,
//! state: TelemetryState,
//! }
//!
//! impl eframe::App for App {
//! fn update(&mut self, ctx: &eframe::egui::Context, _frame: &mut eframe::Frame) {
//! eframe::egui::CentralPanel::default().show(ctx, |ui| {
//! self.engine.render(ui, |r| {
//! r.draw_mesh(&self.mesh, self.state.position, self.state.rotation, eframe::egui::Color32::WHITE);
//! r.draw_axes(self.state.position, self.state.rotation, 1.5);
//! });
//! });
//! }
//! }
//! ```
pub use OrbitCamera;
pub use ;
pub use ;
pub use ;
pub use Render3D;
pub use ;
// Ré-export pratique pour les consommateurs de la librairie.
pub use eframe;
pub use egui;