diff options
Diffstat (limited to 'src/geometry/broad_phase_multi_sap.rs')
| -rw-r--r-- | src/geometry/broad_phase_multi_sap.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/geometry/broad_phase_multi_sap.rs b/src/geometry/broad_phase_multi_sap.rs index 1afda5a..21413ef 100644 --- a/src/geometry/broad_phase_multi_sap.rs +++ b/src/geometry/broad_phase_multi_sap.rs @@ -132,6 +132,7 @@ impl Endpoint { } #[cfg_attr(feature = "serde-serialize", derive(Serialize, Deserialize))] +#[derive(Clone)] struct SAPAxis { min_bound: f32, max_bound: f32, @@ -331,6 +332,7 @@ impl SAPAxis { } #[cfg_attr(feature = "serde-serialize", derive(Serialize, Deserialize))] +#[derive(Clone)] struct SAPRegion { axes: [SAPAxis; DIM], existing_proxies: BitVec, @@ -411,6 +413,7 @@ impl SAPRegion { /// A broad-phase based on multiple Sweep-and-Prune instances running of disjoint region of the 3D world. #[cfg_attr(feature = "serde-serialize", derive(Serialize, Deserialize))] +#[derive(Clone)] pub struct BroadPhase { proxies: Proxies, regions: HashMap<Point<i32>, SAPRegion>, @@ -438,6 +441,7 @@ pub struct BroadPhase { } #[cfg_attr(feature = "serde-serialize", derive(Serialize, Deserialize))] +#[derive(Clone)] pub(crate) struct BroadPhaseProxy { handle: ColliderHandle, aabb: AABB<f32>, @@ -445,6 +449,7 @@ pub(crate) struct BroadPhaseProxy { } #[cfg_attr(feature = "serde-serialize", derive(Serialize, Deserialize))] +#[derive(Clone)] struct Proxies { elements: Vec<BroadPhaseProxy>, first_free: u32, |
