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
//! Provides a feature-rich and configurable gizmo that can be used for 3d transformations (translation, rotation, scale).
//!
//! Such gizmos are commonly used in applications such as game engines and 3d modeling software.
//!
//! # Usage
//!
//! If you are using the [Bevy](https://bevyengine.org/) game engine or [Egui](https://github.com/emilk/egui) library in your
//! application, you will most likely want to use [transform-gizmo-bevy](https://docs.rs/transform-gizmo-bevy)
//! or [transform-gizmo-egui](https://docs.rs/transform-gizmo-egui).
//!
//! Alternatively, this library can be easily used with any framework. For interacting with the gizmo,
//! all you will need to do is give [`Gizmo::update`] sufficient
//! information about user interaction, in the form of [`GizmoInteraction`].
//!
//! For rendering the gizmo, [`Gizmo::draw`] provides vertices in viewport coordinates that can be easily rendered
//! with your favorite graphics APIs.
//!
//! For a more complete example, see the online demo at <https://urholaukkarinen.github.io/transform-gizmo/>.
//! The demo sources can be found at <https://github.com/urholaukkarinen/transform-gizmo/blob/main/examples/bevy/src/main.rs>.
//! ```

mod shape;
mod subgizmo;

pub mod config;
pub mod gizmo;
pub mod math;

pub mod prelude;

pub use prelude::*;