aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/data/hashmap.rs4
-rw-r--r--src/geometry/contact_generator/contact_generator.rs2
-rw-r--r--src/geometry/contact_generator/contact_generator_workspace.rs7
-rw-r--r--src/geometry/contact_generator/heightfield_shape_contact_generator.rs1
-rw-r--r--src/geometry/contact_generator/serializable_workspace_tag.rs1
5 files changed, 10 insertions, 5 deletions
diff --git a/src/data/hashmap.rs b/src/data/hashmap.rs
index 78f9797..d2ea980 100644
--- a/src/data/hashmap.rs
+++ b/src/data/hashmap.rs
@@ -51,10 +51,10 @@ pub fn deserialize_hashmap_capacity<
*/
#[cfg(feature = "enhanced-determinism")]
pub type FxHashMap32<K, V> = indexmap::IndexMap<K, V, std::hash::BuildHasherDefault<FxHasher32>>;
-#[cfg(not(feature = "enhanced-determinism"))]
-pub use rustc_hash::{Entry, FxHashMap as HashMap};
#[cfg(feature = "enhanced-determinism")]
pub use {self::FxHashMap32 as HashMap, indexmap::map::Entry};
+#[cfg(not(feature = "enhanced-determinism"))]
+pub use {rustc_hash::FxHashMap as HashMap, std::collections::hash_map::Entry};
const K: u32 = 0x9e3779b9;
diff --git a/src/geometry/contact_generator/contact_generator.rs b/src/geometry/contact_generator/contact_generator.rs
index de35b92..b1b1be6 100644
--- a/src/geometry/contact_generator/contact_generator.rs
+++ b/src/geometry/contact_generator/contact_generator.rs
@@ -84,7 +84,7 @@ impl ContactPhase {
let mut manifold_arr: ArrayVec<[&mut ContactManifold; SIMD_WIDTH]> =
ArrayVec::new();
let mut workspace_arr: ArrayVec<
- [Option<&mut (dyn Any + Send + Sync)>; SIMD_WIDTH],
+ [Option<&mut (dyn MaybeSerializableData)>; SIMD_WIDTH],
> = ArrayVec::new();
for (pair, solver_flags) in
diff --git a/src/geometry/contact_generator/contact_generator_workspace.rs b/src/geometry/contact_generator/contact_generator_workspace.rs
index ece0a6a..fb6d7b4 100644
--- a/src/geometry/contact_generator/contact_generator_workspace.rs
+++ b/src/geometry/contact_generator/contact_generator_workspace.rs
@@ -1,7 +1,9 @@
use crate::data::MaybeSerializableData;
+#[cfg(feature = "dim3")]
+use crate::geometry::contact_generator::PfmPfmContactManifoldGeneratorWorkspace;
use crate::geometry::contact_generator::{
- HeightFieldShapeContactGeneratorWorkspace, PfmPfmContactManifoldGeneratorWorkspace,
- TrimeshShapeContactGeneratorWorkspace, WorkspaceSerializationTag,
+ HeightFieldShapeContactGeneratorWorkspace, TrimeshShapeContactGeneratorWorkspace,
+ WorkspaceSerializationTag,
};
// Note we have this newtype because it simplifies the serialization/deserialization code.
@@ -76,6 +78,7 @@ impl<'de> serde::Deserialize<'de> for ContactGeneratorWorkspace {
Some(WorkspaceSerializationTag::TrimeshShapeContactGeneratorWorkspace) => {
deser::<A, TrimeshShapeContactGeneratorWorkspace>(&mut seq)?
}
+ #[cfg(feature = "dim3")]
Some(WorkspaceSerializationTag::PfmPfmContactGeneratorWorkspace) => {
deser::<A, PfmPfmContactManifoldGeneratorWorkspace>(&mut seq)?
}
diff --git a/src/geometry/contact_generator/heightfield_shape_contact_generator.rs b/src/geometry/contact_generator/heightfield_shape_contact_generator.rs
index 43cf17b..62c6365 100644
--- a/src/geometry/contact_generator/heightfield_shape_contact_generator.rs
+++ b/src/geometry/contact_generator/heightfield_shape_contact_generator.rs
@@ -8,6 +8,7 @@ use crate::geometry::contact_generator::{
use crate::geometry::Capsule;
use crate::geometry::{Collider, ContactManifold, HeightField, Shape};
use crate::ncollide::bounding_volume::BoundingVolume;
+#[cfg(feature = "serde-serialize")]
use erased_serde::Serialize;
#[cfg_attr(feature = "serde-serialize", derive(Serialize, Deserialize))]
diff --git a/src/geometry/contact_generator/serializable_workspace_tag.rs b/src/geometry/contact_generator/serializable_workspace_tag.rs
index adedb2d..2488c1e 100644
--- a/src/geometry/contact_generator/serializable_workspace_tag.rs
+++ b/src/geometry/contact_generator/serializable_workspace_tag.rs
@@ -3,6 +3,7 @@ use num_derive::FromPrimitive;
#[derive(Copy, Clone, Debug, FromPrimitive)]
pub(super) enum WorkspaceSerializationTag {
TrimeshShapeContactGeneratorWorkspace = 0,
+ #[cfg(feature = "dim3")]
PfmPfmContactGeneratorWorkspace,
HeightfieldShapeContactGeneratorWorkspace,
}