From bbfe926a11fdf4f4eb0ddbac0c777a202e07d269 Mon Sep 17 00:00:00 2001 From: Crozet Sébastien Date: Mon, 5 Oct 2020 16:51:32 +0200 Subject: Make the WQuadtree serializable. --- src/geometry/wquadtree.rs | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/geometry/wquadtree.rs') diff --git a/src/geometry/wquadtree.rs b/src/geometry/wquadtree.rs index 01b2092..17ecffe 100644 --- a/src/geometry/wquadtree.rs +++ b/src/geometry/wquadtree.rs @@ -8,6 +8,7 @@ use std::collections::VecDeque; use std::ops::Range; #[derive(Copy, Clone, Debug, PartialEq, Eq)] +#[cfg_attr(feature = "serde-serialize", derive(Serialize, Deserialize))] struct NodeIndex { index: u32, // Index of the addressed node in the `nodes` array. lane: u8, // SIMD lane of the addressed node. @@ -27,6 +28,7 @@ impl NodeIndex { } #[derive(Copy, Clone, Debug)] +#[cfg_attr(feature = "serde-serialize", derive(Serialize, Deserialize))] struct WQuadtreeNode { waabb: WAABB, // Index of the nodes of the 4 nodes represented by self. @@ -38,6 +40,7 @@ struct WQuadtreeNode { } #[derive(Copy, Clone, Debug, PartialEq, Eq)] +#[cfg_attr(feature = "serde-serialize", derive(Serialize, Deserialize))] struct WQuadtreeProxy { node: NodeIndex, handle: ColliderHandle, // The collider handle. TODO: only set the collider generation here? @@ -52,6 +55,7 @@ impl WQuadtreeProxy { } } +#[cfg_attr(feature = "serde-serialize", derive(Serialize, Deserialize))] pub struct WQuadtree { nodes: Vec, dirty_nodes: VecDeque, -- cgit