aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dynamics/mod.rs4
-rw-r--r--src/geometry/mod.rs4
-rw-r--r--src/pipeline/collision_pipeline.rs37
-rw-r--r--src/pipeline/physics_pipeline.rs59
-rw-r--r--src/pipeline/query_pipeline.rs15
5 files changed, 13 insertions, 106 deletions
diff --git a/src/dynamics/mod.rs b/src/dynamics/mod.rs
index 65c294c..04e5b03 100644
--- a/src/dynamics/mod.rs
+++ b/src/dynamics/mod.rs
@@ -14,9 +14,7 @@ pub(crate) use self::solver::IslandSolver;
pub(crate) use self::solver::ParallelIslandSolver;
pub use parry::mass_properties::MassProperties;
-#[cfg(feature = "default-sets")]
pub use self::rigid_body::{RigidBody, RigidBodyBuilder};
-#[cfg(feature = "default-sets")]
pub use self::rigid_body_set::{BodyPair, RigidBodySet};
mod ccd;
@@ -27,7 +25,5 @@ mod joint;
mod rigid_body_components;
mod solver;
-#[cfg(feature = "default-sets")]
mod rigid_body;
-#[cfg(feature = "default-sets")]
mod rigid_body_set;
diff --git a/src/geometry/mod.rs b/src/geometry/mod.rs
index 5a56f2b..7733ad2 100644
--- a/src/geometry/mod.rs
+++ b/src/geometry/mod.rs
@@ -11,9 +11,7 @@ pub use self::interaction_graph::{
pub use self::interaction_groups::InteractionGroups;
pub use self::narrow_phase::NarrowPhase;
-#[cfg(feature = "default-sets")]
pub use self::collider::{Collider, ColliderBuilder};
-#[cfg(feature = "default-sets")]
pub use self::collider_set::ColliderSet;
pub use parry::query::TrackedContact;
@@ -121,7 +119,5 @@ mod interaction_graph;
mod interaction_groups;
mod narrow_phase;
-#[cfg(feature = "default-sets")]
mod collider;
-#[cfg(feature = "default-sets")]
mod collider_set;
diff --git a/src/pipeline/collision_pipeline.rs b/src/pipeline/collision_pipeline.rs
index 872206b..52aed49 100644
--- a/src/pipeline/collision_pipeline.rs
+++ b/src/pipeline/collision_pipeline.rs
@@ -6,8 +6,6 @@ use crate::geometry::{
};
use crate::math::Real;
use crate::pipeline::{EventHandler, PhysicsHooks};
-
-#[cfg(feature = "default-sets")]
use crate::{dynamics::RigidBodySet, geometry::ColliderSet};
/// The collision pipeline, responsible for performing collision detection between colliders.
@@ -102,7 +100,6 @@ impl CollisionPipeline {
}
/// Executes one step of the collision detection.
- #[cfg(feature = "default-sets")]
pub fn step(
&mut self,
prediction_distance: Real,
@@ -117,34 +114,6 @@ impl CollisionPipeline {
let mut modified_colliders = colliders.take_modified();
let mut removed_colliders = colliders.take_removed();
- self.step_generic(
- prediction_distance,
- broad_phase,
- narrow_phase,
- bodies,
- colliders,
- &mut modified_bodies,
- &mut modified_colliders,
- &mut removed_colliders,
- hooks,
- events,
- );
- }
-
- /// Executes one step of the collision detection.
- pub fn step_generic(
- &mut self,
- prediction_distance: Real,
- broad_phase: &mut BroadPhase,
- narrow_phase: &mut NarrowPhase,
- bodies: &mut RigidBodySet,
- colliders: &mut ColliderSet,
- modified_bodies: &mut Vec<RigidBodyHandle>,
- modified_colliders: &mut Vec<ColliderHandle>,
- removed_colliders: &mut Vec<ColliderHandle>,
- hooks: &dyn PhysicsHooks,
- events: &dyn EventHandler,
- ) {
super::user_changes::handle_user_changes_to_colliders(
bodies,
colliders,
@@ -155,7 +124,7 @@ impl CollisionPipeline {
bodies,
colliders,
&modified_bodies,
- modified_colliders,
+ &mut modified_colliders,
);
self.detect_collisions(
prediction_distance,
@@ -164,13 +133,13 @@ impl CollisionPipeline {
bodies,
colliders,
&modified_colliders[..],
- removed_colliders,
+ &mut removed_colliders,
hooks,
events,
true,
);
- self.clear_modified_colliders(colliders, modified_colliders);
+ self.clear_modified_colliders(colliders, &mut modified_colliders);
removed_colliders.clear();
}
}
diff --git a/src/pipeline/physics_pipeline.rs b/src/pipeline/physics_pipeline.rs
index 71c559a..5727592 100644
--- a/src/pipeline/physics_pipeline.rs
+++ b/src/pipeline/physics_pipeline.rs
@@ -5,7 +5,7 @@ use crate::counters::Counters;
use crate::dynamics::IslandSolver;
use crate::dynamics::{
CCDSolver, ImpulseJointSet, IntegrationParameters, IslandManager, MultibodyJointSet,
- RigidBodyHandle, RigidBodyPosition, RigidBodyType,
+ RigidBodyPosition, RigidBodyType,
};
#[cfg(feature = "parallel")]
use crate::dynamics::{JointGraphEdge, ParallelIslandSolver as IslandSolver};
@@ -15,8 +15,6 @@ use crate::geometry::{
};
use crate::math::{Real, Vector};
use crate::pipeline::{EventHandler, PhysicsHooks};
-
-#[cfg(feature = "default-sets")]
use {crate::dynamics::RigidBodySet, crate::geometry::ColliderSet};
/// The physics pipeline, responsible for stepping the whole physics simulation.
@@ -358,7 +356,6 @@ impl PhysicsPipeline {
///
/// This is the same as `self.step_generic`, except that it is specialized
/// to work with `RigidBodySet` and `ColliderSet`.
- #[cfg(feature = "default-sets")]
pub fn step(
&mut self,
gravity: &Vector<Real>,
@@ -374,48 +371,10 @@ impl PhysicsPipeline {
hooks: &dyn PhysicsHooks,
events: &dyn EventHandler,
) {
- let mut modified_bodies = bodies.take_modified();
+ let modified_bodies = bodies.take_modified();
let mut modified_colliders = colliders.take_modified();
let mut removed_colliders = colliders.take_removed();
- self.step_generic(
- gravity,
- integration_parameters,
- islands,
- broad_phase,
- narrow_phase,
- bodies,
- colliders,
- &mut modified_bodies,
- &mut modified_colliders,
- &mut removed_colliders,
- impulse_joints,
- multibody_joints,
- ccd_solver,
- hooks,
- events,
- );
- }
-
- /// Executes one timestep of the physics simulation.
- pub fn step_generic(
- &mut self,
- gravity: &Vector<Real>,
- integration_parameters: &IntegrationParameters,
- islands: &mut IslandManager,
- broad_phase: &mut BroadPhase,
- narrow_phase: &mut NarrowPhase,
- bodies: &mut RigidBodySet,
- colliders: &mut ColliderSet,
- modified_bodies: &mut Vec<RigidBodyHandle>,
- modified_colliders: &mut Vec<ColliderHandle>,
- removed_colliders: &mut Vec<ColliderHandle>,
- impulse_joints: &mut ImpulseJointSet,
- multibody_joints: &mut MultibodyJointSet,
- ccd_solver: &mut CCDSolver,
- hooks: &dyn PhysicsHooks,
- events: &dyn EventHandler,
- ) {
self.counters.reset();
self.counters.step_started();
@@ -429,7 +388,7 @@ impl PhysicsPipeline {
bodies,
colliders,
&modified_bodies,
- modified_colliders,
+ &mut modified_colliders,
);
// TODO: do this only on user-change.
@@ -449,13 +408,13 @@ impl PhysicsPipeline {
bodies,
colliders,
&modified_colliders[..],
- removed_colliders,
+ &mut removed_colliders,
hooks,
events,
true,
);
- self.clear_modified_colliders(colliders, modified_colliders);
+ self.clear_modified_colliders(colliders, &mut modified_colliders);
removed_colliders.clear();
let mut remaining_time = integration_parameters.dt;
@@ -563,7 +522,7 @@ impl PhysicsPipeline {
}
}
- self.advance_to_final_positions(islands, bodies, colliders, modified_colliders);
+ self.advance_to_final_positions(islands, bodies, colliders, &mut modified_colliders);
self.detect_collisions(
&integration_parameters,
@@ -572,14 +531,14 @@ impl PhysicsPipeline {
narrow_phase,
bodies,
colliders,
- modified_colliders,
- removed_colliders,
+ &mut modified_colliders,
+ &mut removed_colliders,
hooks,
events,
false,
);
- self.clear_modified_colliders(colliders, modified_colliders);
+ self.clear_modified_colliders(colliders, &mut modified_colliders);
}
self.counters.step_completed();
diff --git a/src/pipeline/query_pipeline.rs b/src/pipeline/query_pipeline.rs
index 3735d12..1149a72 100644
--- a/src/pipeline/query_pipeline.rs
+++ b/src/pipeline/query_pipeline.rs
@@ -3,6 +3,7 @@ use crate::geometry::{
ColliderHandle, InteractionGroups, PointProjection, Ray, RayIntersection, AABB, QBVH,
};
use crate::math::{Isometry, Point, Real, Vector};
+use crate::{dynamics::RigidBodySet, geometry::ColliderSet};
use parry::partitioning::QBVHDataGenerator;
use parry::query::details::{
IntersectionCompositeShapeShapeBestFirstVisitor,
@@ -18,9 +19,6 @@ use parry::query::{DefaultQueryDispatcher, NonlinearRigidMotion, QueryDispatcher
use parry::shape::{FeatureId, Shape, TypedSimdCompositeShape};
use std::sync::Arc;
-#[cfg(feature = "default-sets")]
-use crate::{dynamics::RigidBodySet, geometry::ColliderSet};
-
/// A pipeline for performing queries on all the colliders of a scene.
#[cfg_attr(feature = "serde-serialize", derive(Serialize, Deserialize))]
#[derive(Clone)]
@@ -136,7 +134,6 @@ impl QueryPipeline {
&*self.query_dispatcher
}
- #[cfg(feature = "default-sets")]
/// Update the acceleration structure on the query pipeline.
pub fn update(
&mut self,
@@ -144,16 +141,6 @@ impl QueryPipeline {
bodies: &RigidBodySet,
colliders: &ColliderSet,
) {
- self.update_generic(islands, bodies, colliders);
- }
-
- /// Update the acceleration structure on the query pipeline.
- pub fn update_generic(
- &mut self,
- islands: &IslandManager,
- bodies: &RigidBodySet,
- colliders: &ColliderSet,
- ) {
self.update_with_mode(
islands,
bodies,