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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
//! ## Overview //! //! This crate provides some useful 2D space querying algorithms that you can perform on a dinotree. //! Checkout the inner demo and data projects to see how all these algorithms can be used. //! //! ## Unsafety //! //! `MultiRectMut` uses unsafety to allow the user to have mutable references to elements //! that belong to rectangle regions that don't intersect at the same time. //! #![no_std] #[macro_use] extern crate alloc; mod inner_prelude { pub use alloc::vec::Vec; pub use dinotree::prelude::*; pub use dinotree::axgeom; pub use dinotree::axgeom::*; pub use dinotree::compt; pub use dinotree::compt::*; pub use core::marker::PhantomData; pub use itertools::Itertools; pub(crate) use crate::tools; } ///aabb broadphase collision detection pub mod colfind; ///Provides functionality to draw the dividers of a dinotree. pub mod graphics; ///Contains all k_nearest code. pub mod k_nearest; ///Contains all raycast code. pub mod raycast; ///Allows user to intersect the tree with a seperate group of bots. pub mod intersect_with; ///Prelude for convenience /* pub mod prelude{ pub use crate::graphics::*; pub use crate::colfind::*; pub use crate::intersect_with::*; pub use crate::k_nearest::*; pub use crate::nbody::*; pub use crate::raycast::*; pub use crate::rect::*; } */ ///Contains all nbody code. pub mod nbody; ///Contains rect code. pub mod rect; ///Contains misc tools pub(crate) mod tools;