Skip to main content

rapier_testbed3d_f64/
lib.rs

1#![allow(clippy::too_many_arguments)]
2
3extern crate nalgebra as na;
4
5pub use crate::graphics::{GraphicsManager, RenderMaterial};
6pub use crate::physics::RapierBroadPhaseType;
7pub use crate::testbed::{
8    ExampleEntry, KeysState, RunMode, TestbedActionFlags, TestbedState, TestbedStateFlags,
9};
10pub use crate::viewer::TestbedViewer;
11
12// Re-export kiss3d types that users might need
13pub use kiss3d::event::{Action, Key, MouseButton, WindowEvent};
14
15// KeyCode alias for backwards compatibility with examples
16// Maps to kiss3d Key variants
17pub use kiss3d::event::Key as KeyCode;
18
19// Re-export egui for UI
20pub use egui;
21
22mod debug_render;
23mod graphics;
24mod mouse;
25pub mod physics;
26mod save;
27pub mod settings;
28mod testbed;
29pub mod ui;
30mod viewer;
31
32#[cfg(feature = "dim3")]
33pub use kiss3d::camera::OrbitCamera3d as Camera;
34#[cfg(feature = "dim2")]
35pub use kiss3d::camera::PanZoomCamera2d as Camera;
36
37#[cfg(feature = "dim2")]
38pub mod math {
39    pub type SimdPose<N> = na::Isometry2<N>;
40    pub type SimdVector<N> = na::Vector2<N>;
41    pub type Point<N> = na::Point2<N>;
42    pub type Translation<N> = na::Translation2<N>;
43}
44
45#[cfg(feature = "dim3")]
46pub mod math {
47    pub type SimdPose<N> = na::Isometry3<N>;
48    pub type SimdVector<N> = na::Vector3<N>;
49    pub type Point<N> = na::Point3<N>;
50    pub type Translation<N> = na::Translation3<N>;
51}