diff options
| author | Crozet Sébastien <developer@crozet.re> | 2021-01-06 12:53:26 +0100 |
|---|---|---|
| committer | Crozet Sébastien <developer@crozet.re> | 2021-01-06 12:53:26 +0100 |
| commit | 261ed1ebed04fb594f612b66811350f63b73f104 (patch) | |
| tree | 122515e7ebebe07876960438c4362c1af02ff728 | |
| parent | d1ed279c4e70c46928c84cf9b7f4a1db539fd7cb (diff) | |
| download | rapier-261ed1ebed04fb594f612b66811350f63b73f104.tar.gz rapier-261ed1ebed04fb594f612b66811350f63b73f104.tar.bz2 rapier-261ed1ebed04fb594f612b66811350f63b73f104.zip | |
Fix 2D compilation.
| -rw-r--r-- | src/dynamics/solver/delta_vel.rs | 2 | ||||
| -rw-r--r-- | src/dynamics/solver/interaction_groups.rs | 2 | ||||
| -rw-r--r-- | src/dynamics/solver/joint_constraint/fixed_position_constraint_wide.rs | 6 | ||||
| -rw-r--r-- | src/dynamics/solver/joint_constraint/prismatic_position_constraint_wide.rs | 6 | ||||
| -rw-r--r-- | src/geometry/contact_pair.rs | 2 | ||||
| -rw-r--r-- | src/pipeline/query_pipeline.rs | 8 | ||||
| -rw-r--r-- | src_testbed/objects/ball.rs | 7 | ||||
| -rw-r--r-- | src_testbed/objects/box_node.rs | 8 | ||||
| -rw-r--r-- | src_testbed/objects/capsule.rs | 7 | ||||
| -rw-r--r-- | src_testbed/objects/cone.rs | 7 | ||||
| -rw-r--r-- | src_testbed/objects/convex.rs | 6 | ||||
| -rw-r--r-- | src_testbed/objects/cylinder.rs | 7 | ||||
| -rw-r--r-- | src_testbed/objects/heightfield.rs | 11 | ||||
| -rw-r--r-- | src_testbed/testbed.rs | 15 |
14 files changed, 48 insertions, 46 deletions
diff --git a/src/dynamics/solver/delta_vel.rs b/src/dynamics/solver/delta_vel.rs index 4614ed7..378d302 100644 --- a/src/dynamics/solver/delta_vel.rs +++ b/src/dynamics/solver/delta_vel.rs @@ -1,4 +1,4 @@ -use crate::math::{AngVector, Real, Vector}; +use crate::math::{AngVector, Vector}; use na::{Scalar, SimdRealField}; #[derive(Copy, Clone, Debug)] diff --git a/src/dynamics/solver/interaction_groups.rs b/src/dynamics/solver/interaction_groups.rs index 2550a95..21cc642 100644 --- a/src/dynamics/solver/interaction_groups.rs +++ b/src/dynamics/solver/interaction_groups.rs @@ -2,7 +2,7 @@ use crate::dynamics::{BodyPair, JointGraphEdge, JointIndex, RigidBodySet}; use crate::geometry::{ContactManifold, ContactManifoldIndex}; #[cfg(feature = "simd-is-enabled")] use { - crate::math::{Real, SIMD_LAST_INDEX, SIMD_WIDTH}, + crate::math::{SIMD_LAST_INDEX, SIMD_WIDTH}, vec_map::VecMap, }; diff --git a/src/dynamics/solver/joint_constraint/fixed_position_constraint_wide.rs b/src/dynamics/solver/joint_constraint/fixed_position_constraint_wide.rs index c37164a..2648816 100644 --- a/src/dynamics/solver/joint_constraint/fixed_position_constraint_wide.rs +++ b/src/dynamics/solver/joint_constraint/fixed_position_constraint_wide.rs @@ -1,8 +1,6 @@ use super::{FixedPositionConstraint, FixedPositionGroundConstraint}; -use crate::dynamics::{FixedJoint, IntegrationParameters, JointIndex, RigidBody}; -use crate::math::{AngularInertia, Isometry, Point, Real, Rotation, Vector, SIMD_WIDTH}; -use crate::utils::WAngularInertia; -use na::Unit; +use crate::dynamics::{FixedJoint, IntegrationParameters, RigidBody}; +use crate::math::{Isometry, Real, SIMD_WIDTH}; // TODO: this does not uses SIMD optimizations yet. #[derive(Debug)] diff --git a/src/dynamics/solver/joint_constraint/prismatic_position_constraint_wide.rs b/src/dynamics/solver/joint_constraint/prismatic_position_constraint_wide.rs index 3d87f42..b64006a 100644 --- a/src/dynamics/solver/joint_constraint/prismatic_position_constraint_wide.rs +++ b/src/dynamics/solver/joint_constraint/prismatic_position_constraint_wide.rs @@ -1,8 +1,6 @@ use super::{PrismaticPositionConstraint, PrismaticPositionGroundConstraint}; -use crate::dynamics::{IntegrationParameters, JointIndex, PrismaticJoint, RigidBody}; -use crate::math::{AngularInertia, Isometry, Point, Real, Rotation, Vector, SIMD_WIDTH}; -use crate::utils::WAngularInertia; -use na::Unit; +use crate::dynamics::{IntegrationParameters, PrismaticJoint, RigidBody}; +use crate::math::{Isometry, Real, SIMD_WIDTH}; // TODO: this does not uses SIMD optimizations yet. #[derive(Debug)] diff --git a/src/geometry/contact_pair.rs b/src/geometry/contact_pair.rs index 129d444..546b127 100644 --- a/src/geometry/contact_pair.rs +++ b/src/geometry/contact_pair.rs @@ -1,5 +1,5 @@ use crate::dynamics::{BodyPair, RigidBodySet}; -use crate::geometry::{Collider, ColliderPair, ContactManifold}; +use crate::geometry::{ColliderPair, ContactManifold}; use crate::math::{Point, Real, Vector}; use cdl::query::ContactManifoldsWorkspace; diff --git a/src/pipeline/query_pipeline.rs b/src/pipeline/query_pipeline.rs index 9e20088..5e0b2ea 100644 --- a/src/pipeline/query_pipeline.rs +++ b/src/pipeline/query_pipeline.rs @@ -58,7 +58,7 @@ impl<'a> TypedSimdCompositeShape for QueryPipelineAsCompositeShape<'a> { fn map_untyped_part_at( &self, shape_id: Self::PartId, - mut f: impl FnMut(Option<&Isometry<Real>>, &Self::PartShape), + f: impl FnMut(Option<&Isometry<Real>>, &Self::PartShape), ) { self.map_typed_part_at(shape_id, f); } @@ -216,7 +216,7 @@ impl QueryPipeline { } /// Find up to one collider intersecting the given shape. - fn intersection_with_shape( + pub fn intersection_with_shape( &self, colliders: &ColliderSet, shape_pos: &Isometry<Real>, @@ -237,7 +237,7 @@ impl QueryPipeline { } /// Projects a point on the scene. - fn project_point( + pub fn project_point( &self, colliders: &ColliderSet, point: &Point<Real>, @@ -279,7 +279,7 @@ impl QueryPipeline { } /// Projects a point on the scene and get - fn project_point_and_get_feature( + pub fn project_point_and_get_feature( &self, colliders: &ColliderSet, point: &Point<Real>, diff --git a/src_testbed/objects/ball.rs b/src_testbed/objects/ball.rs index c352b3a..df43341 100644 --- a/src_testbed/objects/ball.rs +++ b/src_testbed/objects/ball.rs @@ -1,20 +1,21 @@ use crate::objects::node::{self, GraphicsNode}; use kiss3d::window::Window; -use na::{Isometry3, Point3}; +use na::Point3; use rapier::geometry::{ColliderHandle, ColliderSet}; +use rapier::math::Isometry; pub struct Ball { color: Point3<f32>, base_color: Point3<f32>, gfx: GraphicsNode, collider: ColliderHandle, - delta: Isometry3<f32>, + delta: Isometry<f32>, } impl Ball { pub fn new( collider: ColliderHandle, - delta: Isometry3<f32>, + delta: Isometry<f32>, radius: f32, color: Point3<f32>, window: &mut Window, diff --git a/src_testbed/objects/box_node.rs b/src_testbed/objects/box_node.rs index 1a72247..0586d77 100644 --- a/src_testbed/objects/box_node.rs +++ b/src_testbed/objects/box_node.rs @@ -1,21 +1,21 @@ use crate::objects::node::{self, GraphicsNode}; use kiss3d::window; -use na::{Isometry3, Point3}; +use na::Point3; use rapier::geometry::{ColliderHandle, ColliderSet}; -use rapier::math::Vector; +use rapier::math::{Isometry, Vector}; pub struct Box { color: Point3<f32>, base_color: Point3<f32>, gfx: GraphicsNode, collider: ColliderHandle, - delta: Isometry3<f32>, + delta: Isometry<f32>, } impl Box { pub fn new( collider: ColliderHandle, - delta: Isometry3<f32>, + delta: Isometry<f32>, half_extents: Vector<f32>, color: Point3<f32>, window: &mut window::Window, diff --git a/src_testbed/objects/capsule.rs b/src_testbed/objects/capsule.rs index d1bfd52..46a67ca 100644 --- a/src_testbed/objects/capsule.rs +++ b/src_testbed/objects/capsule.rs @@ -1,20 +1,21 @@ use crate::objects::node::{self, GraphicsNode}; use kiss3d::window; -use na::{Isometry3, Point3}; +use na::Point3; use rapier::geometry::{self, ColliderHandle, ColliderSet}; +use rapier::math::Isometry; pub struct Capsule { color: Point3<f32>, base_color: Point3<f32>, gfx: GraphicsNode, collider: ColliderHandle, - delta: Isometry3<f32>, + delta: Isometry<f32>, } impl Capsule { pub fn new( collider: ColliderHandle, - delta: Isometry3<f32>, + delta: Isometry<f32>, capsule: &geometry::Capsule, color: Point3<f32>, window: &mut window::Window, diff --git a/src_testbed/objects/cone.rs b/src_testbed/objects/cone.rs index 70a74a1..7aa2039 100644 --- a/src_testbed/objects/cone.rs +++ b/src_testbed/objects/cone.rs @@ -1,20 +1,21 @@ use crate::objects::node::{self, GraphicsNode}; use kiss3d::window::Window; -use na::{Isometry3, Point3}; +use na::Point3; use rapier::geometry::{ColliderHandle, ColliderSet}; +use rapier::math::Isometry; pub struct Cone { color: Point3<f32>, base_color: Point3<f32>, gfx: GraphicsNode, collider: ColliderHandle, - delta: Isometry3<f32>, + delta: Isometry<f32>, } impl Cone { pub fn new( collider: ColliderHandle, - delta: Isometry3<f32>, + delta: Isometry<f32>, half_height: f32, radius: f32, color: Point3<f32>, diff --git a/src_testbed/objects/convex.rs b/src_testbed/objects/convex.rs index b0e0bbb..3f68367 100644 --- a/src_testbed/objects/convex.rs +++ b/src_testbed/objects/convex.rs @@ -5,7 +5,7 @@ use crate::math::Vector; use crate::math::{Isometry, Point}; use crate::objects::node::{self, GraphicsNode}; use kiss3d::window::Window; -use na::{Isometry3, Point3}; +use na::Point3; use rapier::geometry::{ColliderHandle, ColliderSet}; pub struct Convex { @@ -13,13 +13,13 @@ pub struct Convex { base_color: Point3<f32>, gfx: GraphicsNode, body: ColliderHandle, - delta: Isometry3<f32>, + delta: Isometry<f32>, } impl Convex { pub fn new( body: ColliderHandle, - delta: Isometry3<f32>, + delta: Isometry<f32>, vertices: Vec<Point<f32>>, #[cfg(feature = "dim3")] indices: Vec<Point<u32>>, color: Point3<f32>, diff --git a/src_testbed/objects/cylinder.rs b/src_testbed/objects/cylinder.rs index e18eb06..ff4dc72 100644 --- a/src_testbed/objects/cylinder.rs +++ b/src_testbed/objects/cylinder.rs @@ -1,20 +1,21 @@ use crate::objects::node::{self, GraphicsNode}; use kiss3d::window::Window; -use na::{Isometry3, Point3}; +use na::Point3; use rapier::geometry::{ColliderHandle, ColliderSet}; +use rapier::math::Isometry; pub struct Cylinder { color: Point3<f32>, base_color: Point3<f32>, gfx: GraphicsNode, collider: ColliderHandle, - delta: Isometry3<f32>, + delta: Isometry<f32>, } impl Cylinder { pub fn new( collider: ColliderHandle, - delta: Isometry3<f32>, + delta: Isometry<f32>, half_height: f32, radius: f32, color: Point3<f32>, diff --git a/src_testbed/objects/heightfield.rs b/src_testbed/objects/heightfield.rs index fed168d..a2999b7 100644 --- a/src_testbed/objects/heightfield.rs +++ b/src_testbed/objects/heightfield.rs @@ -1,15 +1,16 @@ -#[cfg(feature = "dim3")] -use crate::objects::node::{self, GraphicsNode}; use cdl::shape; -use kiss3d::resource::Mesh; use kiss3d::window::Window; use na::{self, Point3}; use rapier::geometry::{ColliderHandle, ColliderSet}; #[cfg(feature = "dim2")] use rapier::math::Point; #[cfg(feature = "dim3")] -use rapier::math::Vector; -use std::cell::RefCell; +use { + crate::objects::node::{self, GraphicsNode}, + kiss3d::resource::Mesh, + rapier::math::Vector, + std::cell::RefCell, +}; pub struct HeightField { color: Point3<f32>, diff --git a/src_testbed/testbed.rs b/src_testbed/testbed.rs index bef9b8f..6acfede 100644 --- a/src_testbed/testbed.rs +++ b/src_testbed/testbed.rs @@ -17,14 +17,14 @@ use kiss3d::planar_camera::PlanarCamera; use kiss3d::post_processing::PostProcessingEffect; use kiss3d::text::Font; use kiss3d::window::{State, Window}; -use na::{self, Isometry3, Point2, Point3, Vector3}; +use na::{self, Point2, Point3, Vector3}; use rapier::dynamics::{ ActivationStatus, IntegrationParameters, JointSet, RigidBodyHandle, RigidBodySet, }; use rapier::geometry::{BroadPhase, ColliderHandle, ColliderSet, NarrowPhase}; #[cfg(feature = "dim3")] use rapier::geometry::{InteractionGroups, Ray}; -use rapier::math::Vector; +use rapier::math::{Isometry, Vector}; use rapier::pipeline::{ChannelEventCollector, PhysicsPipeline, QueryPipeline}; #[cfg(all(feature = "dim2", feature = "other-backends"))] @@ -1126,8 +1126,9 @@ impl State for Testbed { if self.state.selected_example != prev_example { self.physics.integration_parameters = IntegrationParameters::default(); - if self.state.selected_backend == PHYSX_BACKEND_PATCH_FRICTION - || self.state.selected_backend == PHYSX_BACKEND_TWO_FRICTION_DIR + if cfg!(feature = "dim3") + && (self.state.selected_backend == PHYSX_BACKEND_PATCH_FRICTION + || self.state.selected_backend == PHYSX_BACKEND_TWO_FRICTION_DIR) { std::mem::swap( &mut self.physics.integration_parameters.max_velocity_iterations, @@ -1534,11 +1535,11 @@ fn draw_contacts(window: &mut Window, nf: &NarrowPhase, colliders: &ColliderSet) let pos1 = colliders[pair.pair.collider1].position(); let pos2 = colliders[pair.pair.collider2].position(); let start = - pos1 * manifold.subshape_pos1.unwrap_or(Isometry3::identity()) * pt.local_p1; + pos1 * manifold.subshape_pos1.unwrap_or(Isometry::identity()) * pt.local_p1; let end = - pos2 * manifold.subshape_pos2.unwrap_or(Isometry3::identity()) * pt.local_p2; + pos2 * manifold.subshape_pos2.unwrap_or(Isometry::identity()) * pt.local_p2; let n = pos1 - * manifold.subshape_pos1.unwrap_or(Isometry3::identity()) + * manifold.subshape_pos1.unwrap_or(Isometry::identity()) * manifold.local_n1; use crate::engine::GraphicsWindow; |
