euv_engine/collider/
struct.rs1use super::*;
2
3#[derive(Clone, Copy, Data, Debug, Default, New, PartialEq, PartialOrd)]
6pub struct CollisionResult {
7 #[get(type(copy))]
9 #[get_mut(pub(crate))]
10 #[set(pub(crate))]
11 pub(crate) normal: Vector2D,
12 #[get(type(copy))]
14 #[get_mut(pub(crate))]
15 #[set(pub(crate))]
16 pub(crate) depth: f64,
17 #[get(pub(crate), type(copy))]
19 #[get_mut(pub(crate))]
20 #[set(pub(crate))]
21 pub(crate) contact_point: Vector2D,
22}
23
24#[derive(Clone, Copy, Data, Debug, Default, New, PartialEq, PartialOrd)]
26pub struct AabbCollider {
27 #[get(pub(crate), type(copy))]
29 #[get_mut(pub(crate))]
30 #[set(pub(crate))]
31 pub(crate) rect: Rect,
32}
33
34#[derive(Clone, Copy, Data, Debug, Default, New, PartialEq, PartialOrd)]
36pub struct CircleCollider {
37 #[get(pub(crate), type(copy))]
39 #[get_mut(pub(crate))]
40 #[set(pub(crate))]
41 pub(crate) circle: Circle,
42}
43
44#[derive(Clone, Copy, Data, Debug, Default, New, PartialEq, PartialOrd)]
47pub struct CollisionResult3D {
48 #[get(type(copy))]
50 #[get_mut(pub(crate))]
51 #[set(pub(crate))]
52 pub(crate) normal: Vector3D,
53 #[get(type(copy))]
55 #[get_mut(pub(crate))]
56 #[set(pub(crate))]
57 pub(crate) depth: f64,
58 #[get(pub(crate), type(copy))]
60 #[get_mut(pub(crate))]
61 #[set(pub(crate))]
62 pub(crate) contact_point: Vector3D,
63}
64
65#[derive(Clone, Copy, Data, Debug, Default, New, PartialEq, PartialOrd)]
67pub struct AabbCollider3D {
68 #[get(pub(crate), type(copy))]
70 #[get_mut(pub(crate))]
71 #[set(pub(crate))]
72 pub(crate) aabb: AABB3D,
73}
74
75#[derive(Clone, Copy, Data, Debug, Default, New, PartialEq, PartialOrd)]
77pub struct SphereCollider3D {
78 #[get(pub(crate), type(copy))]
80 #[get_mut(pub(crate))]
81 #[set(pub(crate))]
82 pub(crate) sphere: Sphere,
83}