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;