Rename cdl to parry.

This commit is contained in:
Crozet Sébastien
2021-01-24 11:13:44 +01:00
parent 90db26eb50
commit 8f7220f03d
31 changed files with 98 additions and 114 deletions

View File

@@ -11,17 +11,17 @@ members = [ "build/rapier2d", "build/rapier2d-f64", "build/rapier_testbed2d", "e
#nphysics2d = { path = "../nphysics/build/nphysics2d" }
#nphysics3d = { path = "../nphysics/build/nphysics3d" }
#kiss3d = { path = "../kiss3d" }
#cdl2d = { path = "../cdl/build/cdl2d" }
#cdl3d = { path = "../cdl/build/cdl3d" }
#cdl2d-f64 = { path = "../cdl/build/cdl2d-f64" }
#cdl3d-f64 = { path = "../cdl/build/cdl3d-f64" }
#parry2d = { path = "../parry/build/parry2d" }
#parry3d = { path = "../parry/build/parry3d" }
#parry2d-f64 = { path = "../parry/build/parry2d-f64" }
#parry3d-f64 = { path = "../parry/build/parry3d-f64" }
#nalgebra = { path = "../nalgebra" }
#kiss3d = { git = "https://github.com/sebcrozet/kiss3d" }
cdl2d = { git = "https://github.com/sebcrozet/cdl" }
cdl3d = { git = "https://github.com/sebcrozet/cdl" }
cdl2d-f64 = { git = "https://github.com/sebcrozet/cdl" }
cdl3d-f64 = { git = "https://github.com/sebcrozet/cdl" }
parry2d = { git = "https://github.com/sebcrozet/parry" }
parry3d = { git = "https://github.com/sebcrozet/parry" }
parry2d-f64 = { git = "https://github.com/sebcrozet/parry" }
parry3d-f64 = { git = "https://github.com/sebcrozet/parry" }
#ncollide2d = { git = "https://github.com/dimforge/ncollide" }
#ncollide3d = { git = "https://github.com/dimforge/ncollide" }
#nphysics2d = { git = "https://github.com/dimforge/nphysics" }

View File

@@ -22,8 +22,8 @@ simd-nightly = [ "simba/packed_simd", "simd-is-enabled" ]
# enabled with the "simd-stable" or "simd-nightly" feature.
simd-is-enabled = [ ]
wasm-bindgen = [ "instant/wasm-bindgen" ]
serde-serialize = [ "erased-serde", "nalgebra/serde-serialize", "cdl2d-f64/serde-serialize", "serde", "generational-arena/serde", "bit-vec/serde", "arrayvec/serde" ]
enhanced-determinism = [ "simba/libm_force", "cdl2d-f64/enhanced-determinism", "indexmap" ]
serde-serialize = [ "erased-serde", "nalgebra/serde-serialize", "parry2d-f64/serde-serialize", "serde", "generational-arena/serde", "bit-vec/serde", "arrayvec/serde" ]
enhanced-determinism = [ "simba/libm_force", "parry2d-f64/enhanced-determinism", "indexmap" ]
[lib]
name = "rapier2d_f64"
@@ -36,7 +36,7 @@ vec_map = "0.8"
instant = { version = "0.1", features = [ "now" ]}
num-traits = "0.2"
nalgebra = "0.24"
cdl2d-f64 = "0.1"
parry2d-f64 = "0.1"
simba = "0.3"
approx = "0.4"
rayon = { version = "1", optional = true }

View File

@@ -22,8 +22,8 @@ simd-nightly = [ "simba/packed_simd", "simd-is-enabled" ]
# enabled with the "simd-stable" or "simd-nightly" feature.
simd-is-enabled = [ ]
wasm-bindgen = [ "instant/wasm-bindgen" ]
serde-serialize = [ "erased-serde", "nalgebra/serde-serialize", "cdl2d/serde-serialize", "serde", "generational-arena/serde", "bit-vec/serde", "arrayvec/serde" ]
enhanced-determinism = [ "simba/libm_force", "cdl2d/enhanced-determinism", "indexmap" ]
serde-serialize = [ "erased-serde", "nalgebra/serde-serialize", "parry2d/serde-serialize", "serde", "generational-arena/serde", "bit-vec/serde", "arrayvec/serde" ]
enhanced-determinism = [ "simba/libm_force", "parry2d/enhanced-determinism", "indexmap" ]
[lib]
name = "rapier2d"
@@ -36,7 +36,7 @@ vec_map = "0.8"
instant = { version = "0.1", features = [ "now" ]}
num-traits = "0.2"
nalgebra = "0.24"
cdl2d = "0.1"
parry2d = "0.1"
simba = "0.3"
approx = "0.4"
rayon = { version = "1", optional = true }

View File

@@ -16,14 +16,14 @@ default = [ "dim3", "f64" ]
dim3 = [ ]
f64 = [ ]
parallel = [ "rayon" ]
simd-stable = [ "cdl3d-f64/simd-stable", "simba/wide", "simd-is-enabled" ]
simd-nightly = [ "cdl3d-f64/simd-nightly", "simba/packed_simd", "simd-is-enabled" ]
simd-stable = [ "parry3d-f64/simd-stable", "simba/wide", "simd-is-enabled" ]
simd-nightly = [ "parry3d-f64/simd-nightly", "simba/packed_simd", "simd-is-enabled" ]
# Do not enable this feature directly. It is automatically
# enabled with the "simd-stable" or "simd-nightly" feature.
simd-is-enabled = [ ]
wasm-bindgen = [ "instant/wasm-bindgen" ]
serde-serialize = [ "erased-serde", "nalgebra/serde-serialize", "cdl3d-f64/serde-serialize", "serde", "generational-arena/serde", "bit-vec/serde" ]
enhanced-determinism = [ "simba/libm_force", "cdl3d-f64/enhanced-determinism" ]
serde-serialize = [ "erased-serde", "nalgebra/serde-serialize", "parry3d-f64/serde-serialize", "serde", "generational-arena/serde", "bit-vec/serde" ]
enhanced-determinism = [ "simba/libm_force", "parry3d-f64/enhanced-determinism" ]
[lib]
name = "rapier3d_f64"
@@ -36,7 +36,7 @@ vec_map = "0.8"
instant = { version = "0.1", features = [ "now" ]}
num-traits = "0.2"
nalgebra = "0.24"
cdl3d-f64 = "0.1"
parry3d-f64 = "0.1"
simba = "0.3"
approx = "0.4"
rayon = { version = "1", optional = true }

View File

@@ -16,14 +16,14 @@ default = [ "dim3", "f32" ]
dim3 = [ ]
f32 = [ ]
parallel = [ "rayon" ]
simd-stable = [ "cdl3d/simd-stable", "simba/wide", "simd-is-enabled" ]
simd-nightly = [ "cdl3d/simd-nightly", "simba/packed_simd", "simd-is-enabled" ]
simd-stable = [ "parry3d/simd-stable", "simba/wide", "simd-is-enabled" ]
simd-nightly = [ "parry3d/simd-nightly", "simba/packed_simd", "simd-is-enabled" ]
# Do not enable this feature directly. It is automatically
# enabled with the "simd-stable" or "simd-nightly" feature.
simd-is-enabled = [ ]
wasm-bindgen = [ "instant/wasm-bindgen" ]
serde-serialize = [ "erased-serde", "nalgebra/serde-serialize", "cdl3d/serde-serialize", "serde", "generational-arena/serde", "bit-vec/serde" ]
enhanced-determinism = [ "simba/libm_force", "cdl3d/enhanced-determinism" ]
serde-serialize = [ "erased-serde", "nalgebra/serde-serialize", "parry3d/serde-serialize", "serde", "generational-arena/serde", "bit-vec/serde" ]
enhanced-determinism = [ "simba/libm_force", "parry3d/enhanced-determinism" ]
[lib]
name = "rapier3d"
@@ -36,7 +36,7 @@ vec_map = "0.8"
instant = { version = "0.1", features = [ "now" ]}
num-traits = "0.2"
nalgebra = "0.24"
cdl3d = "0.1"
parry3d = "0.1"
simba = "0.3"
approx = "0.4"
rayon = { version = "1", optional = true }

View File

@@ -31,7 +31,7 @@ instant = { version = "0.1", features = [ "web-sys", "now" ]}
bitflags = "1"
num_cpus = { version = "1", optional = true }
wrapped2d = { version = "0.4", optional = true }
cdl2d = "0.1"
parry2d = "0.1"
ncollide2d = "0.27"
nphysics2d = { version = "0.19", optional = true }
crossbeam = "0.8"

View File

@@ -30,7 +30,7 @@ instant = { version = "0.1", features = [ "web-sys", "now" ]}
bitflags = "1"
glam = { version = "0.11", optional = true }
num_cpus = { version = "1", optional = true }
cdl3d = "0.1"
parry3d = "0.1"
ncollide3d = "0.27"
nphysics3d = { version = "0.19", optional = true }
physx = { version = "0.10", optional = true }

View File

@@ -1,8 +1,8 @@
use kiss3d::loader::obj;
use na::{Point3, Translation3};
use rapier3d::cdl::bounding_volume::{self, BoundingVolume};
use rapier3d::dynamics::{JointSet, RigidBodyBuilder, RigidBodySet};
use rapier3d::geometry::{ColliderBuilder, ColliderSet, SharedShape};
use rapier3d::parry::bounding_volume::{self, BoundingVolume};
use rapier_testbed3d::Testbed;
use std::path::Path;

View File

@@ -3,7 +3,7 @@
//! See https://github.com/fitzgen/generational-arena/blob/master/src/lib.rs.
//! This has been modified to have a fully deterministic deserialization (including for the order of
//! Index attribution after a deserialization of the arena.
use cdl::partitioning::IndexedData;
use parry::partitioning::IndexedData;
use std::cmp;
use std::iter::{self, Extend, FromIterator, FusedIterator};
use std::mem;

View File

@@ -1,7 +1,7 @@
//! Data structures modified with guaranteed deterministic behavior after deserialization.
pub use self::coarena::Coarena;
pub use cdl::utils::MaybeSerializableData;
pub use parry::utils::MaybeSerializableData;
pub mod arena;
mod coarena;

View File

@@ -9,7 +9,7 @@ pub use self::joint::{
};
pub use self::rigid_body::{ActivationStatus, BodyStatus, RigidBody, RigidBodyBuilder};
pub use self::rigid_body_set::{BodyPair, RigidBodyHandle, RigidBodySet};
pub use cdl::mass_properties::MassProperties;
pub use parry::mass_properties::MassProperties;
// #[cfg(not(feature = "parallel"))]
pub use self::coefficient_combine_rule::CoefficientCombineRule;
pub(crate) use self::joint::JointGraphEdge;

View File

@@ -678,11 +678,9 @@ impl RigidBodyBuilder {
}
/// Prevents this rigid-body from translating because of forces.
///
/// This is equivalent to `self.mass(0.0, false)`. See the
/// documentation of [`RigidBodyBuilder::mass`] for more details.
pub fn lock_translations(self) -> Self {
self.mass(0.0, false)
pub fn lock_translations(mut self) -> Self {
self.flags.set(RigidBodyFlags::TRANSLATION_LOCKED, true);
self
}
/// Prevents this rigid-body from rotating because of forces.
@@ -711,22 +709,8 @@ impl RigidBodyBuilder {
}
/// Sets the mass of the rigid-body being built.
///
/// In order to lock the translations of this rigid-body (by
/// making them kinematic), call `.mass(0.0, false)`.
///
/// If `colliders_contribution_enabled` is `false`, then the mass specified here
/// will be the final mass of the rigid-body created by this builder.
/// If `colliders_contribution_enabled` is `true`, then the final mass of the rigid-body
/// will depends on the initial mass set by this method to which is added
/// the contributions of all the colliders with non-zero density attached to
/// this rigid-body.
pub fn mass(mut self, mass: Real, colliders_contribution_enabled: bool) -> Self {
pub fn mass(mut self, mass: Real) -> Self {
self.mass_properties.inv_mass = utils::inv(mass);
self.flags.set(
RigidBodyFlags::TRANSLATION_LOCKED,
!colliders_contribution_enabled,
);
self
}
/// Sets the angular inertia of this rigid-body.

View File

@@ -4,7 +4,7 @@ use rayon::prelude::*;
use crate::data::arena::Arena;
use crate::dynamics::{Joint, JointSet, RigidBody, RigidBodyChanges};
use crate::geometry::{ColliderSet, InteractionGraph, NarrowPhase};
use cdl::partitioning::IndexedData;
use parry::partitioning::IndexedData;
use std::ops::{Index, IndexMut};
/// The unique handle of a rigid body added to a `RigidBodySet`.

View File

@@ -13,8 +13,8 @@ use crate::utils::{WAngularInertia, WCross, WCrossMatrix};
use na::{Cholesky, Matrix6, Vector6, U3};
#[cfg(feature = "dim2")]
use {
cdl::utils::SdpMatrix3,
na::{Matrix3, Vector3},
parry::utils::SdpMatrix3,
};
#[derive(Debug)]

View File

@@ -8,8 +8,8 @@ use crate::utils::{WAngularInertia, WCross, WCrossMatrix};
use na::{Cholesky, Matrix3x2, Matrix5, Vector5, U2, U3};
#[cfg(feature = "dim2")]
use {
cdl::utils::SdpMatrix2,
na::{Matrix2, Vector2},
parry::utils::SdpMatrix2,
};
#[cfg(feature = "dim2")]

View File

@@ -12,8 +12,8 @@ use crate::utils::{WAngularInertia, WCross, WCrossMatrix};
use na::{Cholesky, Matrix3x2, Matrix5, Vector5, U2, U3};
#[cfg(feature = "dim2")]
use {
cdl::utils::SdpMatrix2,
na::{Matrix2, Vector2},
parry::utils::SdpMatrix2,
};
#[cfg(feature = "dim2")]

View File

@@ -3,8 +3,8 @@ use crate::dynamics::RigidBodySet;
use crate::geometry::{ColliderHandle, ColliderSet, RemovedCollider};
use crate::math::{Point, Real, Vector, DIM};
use bit_vec::BitVec;
use cdl::bounding_volume::{BoundingVolume, AABB};
use cdl::utils::hashmap::HashMap;
use parry::bounding_volume::{BoundingVolume, AABB};
use parry::utils::hashmap::HashMap;
use std::cmp::Ordering;
use std::ops::{Index, IndexMut};
@@ -477,8 +477,8 @@ pub struct BroadPhase {
#[cfg_attr(
feature = "serde-serialize",
serde(
serialize_with = "cdl::utils::hashmap::serialize_hashmap_capacity",
deserialize_with = "cdl::utils::hashmap::deserialize_hashmap_capacity"
serialize_with = "parry::utils::hashmap::serialize_hashmap_capacity",
deserialize_with = "parry::utils::hashmap::deserialize_hashmap_capacity"
)
)]
reporting: HashMap<(u32, u32), bool>, // Workspace

View File

@@ -1,9 +1,9 @@
use crate::cdl::transformation::vhacd::VHACDParameters;
use crate::dynamics::{CoefficientCombineRule, MassProperties, RigidBodyHandle};
use crate::geometry::{InteractionGroups, SharedShape};
use crate::math::{AngVector, Isometry, Point, Real, Rotation, Vector, DIM};
use cdl::bounding_volume::AABB;
use cdl::shape::Shape;
use crate::parry::transformation::vhacd::VHACDParameters;
use parry::bounding_volume::AABB;
use parry::shape::Shape;
bitflags::bitflags! {
#[cfg_attr(feature = "serde-serialize", derive(Serialize, Deserialize))]

View File

@@ -2,7 +2,7 @@ use crate::data::arena::Arena;
use crate::data::pubsub::PubSub;
use crate::dynamics::{RigidBodyHandle, RigidBodySet};
use crate::geometry::Collider;
use cdl::partitioning::IndexedData;
use parry::partitioning::IndexedData;
use std::ops::{Index, IndexMut};
/// The unique identifier of a collider added to a collider set.

View File

@@ -1,7 +1,7 @@
use crate::dynamics::{BodyPair, RigidBodyHandle};
use crate::geometry::{ColliderPair, ContactManifold};
use crate::math::{Point, Real, Vector};
use cdl::query::ContactManifoldsWorkspace;
use parry::query::ContactManifoldsWorkspace;
bitflags::bitflags! {
#[cfg_attr(feature = "serde-serialize", derive(Serialize, Deserialize))]

View File

@@ -10,39 +10,39 @@ pub use self::interaction_graph::{
};
pub use self::interaction_groups::InteractionGroups;
pub use self::narrow_phase::NarrowPhase;
pub use self::pair_filter::{ContactPairFilter, PairFilterContext, ProximityPairFilter};
pub use self::pair_filter::{ContactPairFilter, IntersectionPairFilter, PairFilterContext};
pub use cdl::query::TrackedContact;
pub use parry::query::TrackedContact;
pub type Contact = cdl::query::TrackedContact<ContactData>;
pub type ContactManifold = cdl::query::ContactManifold<ContactManifoldData, ContactData>;
pub type Contact = parry::query::TrackedContact<ContactData>;
pub type ContactManifold = parry::query::ContactManifold<ContactManifoldData, ContactData>;
/// A segment shape.
pub type Segment = cdl::shape::Segment;
pub type Segment = parry::shape::Segment;
/// A cuboid shape.
pub type Cuboid = cdl::shape::Cuboid;
pub type Cuboid = parry::shape::Cuboid;
/// A triangle shape.
pub type Triangle = cdl::shape::Triangle;
pub type Triangle = parry::shape::Triangle;
/// A ball shape.
pub type Ball = cdl::shape::Ball;
pub type Ball = parry::shape::Ball;
/// A capsule shape.
pub type Capsule = cdl::shape::Capsule;
pub type Capsule = parry::shape::Capsule;
/// A heightfield shape.
pub type HeightField = cdl::shape::HeightField;
pub type HeightField = parry::shape::HeightField;
/// A cylindrical shape.
#[cfg(feature = "dim3")]
pub type Cylinder = cdl::shape::Cylinder;
pub type Cylinder = parry::shape::Cylinder;
/// A cone shape.
#[cfg(feature = "dim3")]
pub type Cone = cdl::shape::Cone;
pub type Cone = parry::shape::Cone;
/// An axis-aligned bounding box.
pub type AABB = cdl::bounding_volume::AABB;
pub type AABB = parry::bounding_volume::AABB;
/// A ray that can be cast against colliders.
pub type Ray = cdl::query::Ray;
pub type Ray = parry::query::Ray;
/// The intersection between a ray and a collider.
pub type RayIntersection = cdl::query::RayIntersection;
pub type RayIntersection = parry::query::RayIntersection;
/// The the projection of a point on a collider.
pub type PointProjection = cdl::query::PointProjection;
pub use cdl::shape::SharedShape;
pub type PointProjection = parry::query::PointProjection;
pub use parry::shape::SharedShape;
#[derive(Copy, Clone, Hash, Debug)]
/// Events occurring when two collision objects start or stop being in contact (or penetration).
@@ -84,18 +84,18 @@ impl IntersectionEvent {
pub(crate) use self::broad_phase_multi_sap::{BroadPhasePairEvent, ColliderPair};
pub(crate) use self::collider_set::RemovedCollider;
pub(crate) use self::narrow_phase::ContactManifoldIndex;
pub(crate) use cdl::partitioning::SimdQuadTree;
pub use cdl::shape::*;
pub(crate) use parry::partitioning::SimdQuadTree;
pub use parry::shape::*;
#[cfg(feature = "serde-serialize")]
pub(crate) fn default_persistent_query_dispatcher(
) -> std::sync::Arc<dyn cdl::query::PersistentQueryDispatcher<ContactManifoldData, ContactData>> {
std::sync::Arc::new(cdl::query::DefaultQueryDispatcher)
) -> std::sync::Arc<dyn parry::query::PersistentQueryDispatcher<ContactManifoldData, ContactData>> {
std::sync::Arc::new(parry::query::DefaultQueryDispatcher)
}
#[cfg(feature = "serde-serialize")]
pub(crate) fn default_query_dispatcher() -> std::sync::Arc<dyn cdl::query::QueryDispatcher> {
std::sync::Arc::new(cdl::query::DefaultQueryDispatcher)
pub(crate) fn default_query_dispatcher() -> std::sync::Arc<dyn parry::query::QueryDispatcher> {
std::sync::Arc::new(parry::query::DefaultQueryDispatcher)
}
mod broad_phase_multi_sap;

View File

@@ -6,14 +6,14 @@ use crate::data::Coarena;
use crate::dynamics::{BodyPair, CoefficientCombineRule, RigidBodySet};
use crate::geometry::{
BroadPhasePairEvent, ColliderGraphIndex, ColliderHandle, ContactData, ContactEvent,
ContactManifoldData, ContactPairFilter, IntersectionEvent, PairFilterContext,
ProximityPairFilter, RemovedCollider, SolverContact, SolverFlags,
ContactManifoldData, ContactPairFilter, IntersectionEvent, IntersectionPairFilter,
PairFilterContext, RemovedCollider, SolverContact, SolverFlags,
};
use crate::geometry::{ColliderSet, ContactManifold, ContactPair, InteractionGraph};
use crate::math::{Real, Vector};
use crate::pipeline::EventHandler;
use cdl::query::{DefaultQueryDispatcher, PersistentQueryDispatcher};
use cdl::utils::IsometryOpt;
use parry::query::{DefaultQueryDispatcher, PersistentQueryDispatcher};
use parry::utils::IsometryOpt;
use std::collections::HashMap;
use std::sync::Arc;
@@ -387,7 +387,7 @@ impl NarrowPhase {
&mut self,
bodies: &RigidBodySet,
colliders: &ColliderSet,
pair_filter: Option<&dyn ProximityPairFilter>,
pair_filter: Option<&dyn IntersectionPairFilter>,
events: &dyn EventHandler,
) {
let nodes = &self.intersection_graph.graph.nodes;

View File

@@ -41,7 +41,7 @@ pub trait ContactPairFilter: Send + Sync {
///
/// This can be used to apply custom logic in order to decide whether two colliders
/// should have their intersection computed by the narrow-phase.
pub trait ProximityPairFilter: Send + Sync {
pub trait IntersectionPairFilter: Send + Sync {
/// Applies the intersection pair filter.
///
/// Note that using an intersection pair filter will replace the default intersection filtering

View File

@@ -12,13 +12,13 @@
#![allow(missing_docs)]
#[cfg(all(feature = "dim2", feature = "f32"))]
pub extern crate cdl2d as cdl;
pub extern crate parry2d as parry;
#[cfg(all(feature = "dim2", feature = "f64"))]
pub extern crate cdl2d_f64 as cdl;
pub extern crate parry2d_f64 as parry;
#[cfg(all(feature = "dim3", feature = "f32"))]
pub extern crate cdl3d as cdl;
pub extern crate parry3d as parry;
#[cfg(all(feature = "dim3", feature = "f64"))]
pub extern crate cdl3d_f64 as cdl;
pub extern crate parry3d_f64 as parry;
pub extern crate crossbeam;
pub extern crate nalgebra as na;
@@ -136,7 +136,7 @@ pub mod pipeline;
pub mod utils;
pub mod math {
pub use cdl::math::*;
pub use parry::math::*;
#[cfg(feature = "dim2")]
pub const MAX_MANIFOLD_POINTS: usize = 2;
#[cfg(feature = "dim3")]

View File

@@ -2,8 +2,8 @@
use crate::dynamics::{JointSet, RigidBodySet};
use crate::geometry::{
BroadPhase, BroadPhasePairEvent, ColliderPair, ColliderSet, ContactPairFilter, NarrowPhase,
ProximityPairFilter,
BroadPhase, BroadPhasePairEvent, ColliderPair, ColliderSet, ContactPairFilter,
IntersectionPairFilter, NarrowPhase,
};
use crate::math::Real;
use crate::pipeline::EventHandler;
@@ -45,7 +45,7 @@ impl CollisionPipeline {
bodies: &mut RigidBodySet,
colliders: &mut ColliderSet,
contact_pair_filter: Option<&dyn ContactPairFilter>,
proximity_pair_filter: Option<&dyn ProximityPairFilter>,
proximity_pair_filter: Option<&dyn IntersectionPairFilter>,
events: &dyn EventHandler,
) {
bodies.maintain(colliders);

View File

@@ -8,7 +8,7 @@ use crate::dynamics::{IntegrationParameters, JointSet, RigidBodySet};
use crate::dynamics::{JointGraphEdge, ParallelIslandSolver as IslandSolver};
use crate::geometry::{
BroadPhase, BroadPhasePairEvent, ColliderPair, ColliderSet, ContactManifoldIndex,
ContactPairFilter, NarrowPhase, ProximityPairFilter,
ContactPairFilter, IntersectionPairFilter, NarrowPhase,
};
use crate::math::{Real, Vector};
use crate::pipeline::EventHandler;
@@ -70,7 +70,7 @@ impl PhysicsPipeline {
colliders: &mut ColliderSet,
joints: &mut JointSet,
contact_pair_filter: Option<&dyn ContactPairFilter>,
proximity_pair_filter: Option<&dyn ProximityPairFilter>,
proximity_pair_filter: Option<&dyn IntersectionPairFilter>,
events: &dyn EventHandler,
) {
self.counters.step_started();

View File

@@ -1,22 +1,22 @@
use crate::cdl::motion::RigidMotion;
use crate::dynamics::RigidBodySet;
use crate::geometry::{
Collider, ColliderHandle, ColliderSet, InteractionGroups, PointProjection, Ray,
RayIntersection, SimdQuadTree,
};
use crate::math::{Isometry, Point, Real, Vector};
use cdl::query::details::{
use crate::parry::motion::RigidMotion;
use parry::query::details::{
IntersectionCompositeShapeShapeBestFirstVisitor,
NonlinearTOICompositeShapeShapeBestFirstVisitor, PointCompositeShapeProjBestFirstVisitor,
PointCompositeShapeProjWithFeatureBestFirstVisitor,
RayCompositeShapeToiAndNormalBestFirstVisitor, RayCompositeShapeToiBestFirstVisitor,
TOICompositeShapeShapeBestFirstVisitor,
};
use cdl::query::visitors::{
use parry::query::visitors::{
BoundingVolumeIntersectionsVisitor, PointIntersectionsVisitor, RayIntersectionsVisitor,
};
use cdl::query::{DefaultQueryDispatcher, QueryDispatcher, TOI};
use cdl::shape::{FeatureId, Shape, TypedSimdCompositeShape};
use parry::query::{DefaultQueryDispatcher, QueryDispatcher, TOI};
use parry::shape::{FeatureId, Shape, TypedSimdCompositeShape};
use std::sync::Arc;
/// A pipeline for performing queries on all the colliders of a scene.

View File

@@ -4,7 +4,7 @@ use na::{Matrix3, Point2, Point3, Scalar, SimdRealField, Vector2, Vector3};
use num::Zero;
use simba::simd::SimdValue;
use cdl::utils::SdpMatrix3;
use parry::utils::SdpMatrix3;
use {
crate::math::{Real, SimdReal},
na::SimdPartialOrd,

View File

@@ -1,9 +1,5 @@
#[macro_use]
extern crate kiss3d;
#[cfg(feature = "dim2")]
extern crate cdl2d as cdl;
#[cfg(feature = "dim3")]
extern crate cdl3d as cdl;
extern crate nalgebra as na;
#[cfg(feature = "dim2")]
extern crate ncollide2d as ncollide;
@@ -14,6 +10,10 @@ extern crate nphysics2d as nphysics;
#[cfg(all(feature = "dim3", feature = "other-backends"))]
extern crate nphysics3d as nphysics;
#[cfg(feature = "dim2")]
extern crate parry2d as parry;
#[cfg(feature = "dim3")]
extern crate parry3d as parry;
#[cfg(feature = "dim2")]
extern crate rapier2d as rapier;
#[cfg(feature = "dim3")]
extern crate rapier3d as rapier;

View File

@@ -1,6 +1,6 @@
use cdl::shape;
use kiss3d::window::Window;
use na::{self, Point3};
use parry::shape;
use rapier::geometry::{ColliderHandle, ColliderSet};
#[cfg(feature = "dim2")]
use rapier::math::Point;

View File

@@ -1,7 +1,7 @@
use cdl2d::shape;
use kiss3d::window::Window;
use na::{Isometry2, Point2, Point3};
use nphysics2d::object::{ColliderAnchor, DefaultColliderHandle, DefaultColliderSet};
use parry2d::shape;
pub struct Polyline {
color: Point3<f32>,