transform_gizmo/lib.rs
1//! Provides a feature-rich and configurable gizmo that can be used for 3d transformations (translation, rotation, scale).
2//!
3//! Such gizmos are commonly used in applications such as game engines and 3d modeling software.
4//!
5//! # Usage
6//!
7//! If you are using the [Bevy](https://bevyengine.org/) game engine or [Egui](https://github.com/emilk/egui) library in your
8//! application, you will most likely want to use [transform-gizmo-bevy](https://docs.rs/transform-gizmo-bevy)
9//! or [transform-gizmo-egui](https://docs.rs/transform-gizmo-egui).
10//!
11//! Alternatively, this library can be easily used with any framework. For interacting with the gizmo,
12//! all you will need to do is give [`Gizmo::update`] sufficient
13//! information about user interaction, in the form of [`GizmoInteraction`].
14//!
15//! For rendering the gizmo, [`Gizmo::draw`] provides vertices in viewport coordinates that can be easily rendered
16//! with your favorite graphics APIs.
17//!
18//! For a more complete example, see the online demo at <https://urholaukkarinen.github.io/transform-gizmo/>.
19//! The demo sources can be found at <https://github.com/urholaukkarinen/transform-gizmo/blob/main/examples/bevy/src/main.rs>.
20
21mod shape;
22mod subgizmo;
23
24pub mod config;
25pub mod gizmo;
26pub mod math;
27
28pub mod prelude;
29
30pub use prelude::*;