aboutsummaryrefslogtreecommitdiff
path: root/src/geometry
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2020-11-02 17:57:48 +0100
committerCrozet Sébastien <developer@crozet.re>2020-11-02 18:03:10 +0100
commit83482602717d1a9aebb181fb82456a292801cbdc (patch)
tree1da50d34e9342d99a6f15168862e9572b9127e6a /src/geometry
parent01af6c09a786ec2d6475531a7dac873eeffa3a3e (diff)
downloadrapier-83482602717d1a9aebb181fb82456a292801cbdc.tar.gz
rapier-83482602717d1a9aebb181fb82456a292801cbdc.tar.bz2
rapier-83482602717d1a9aebb181fb82456a292801cbdc.zip
Fix 2D compilation.
Diffstat (limited to 'src/geometry')
-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
4 files changed, 8 insertions, 3 deletions
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,
}