@@ -14,13 +14,13 @@ use parry3d_f64::{
1414 mass_properties:: MassProperties ,
1515 math:: { Isometry , Point , Real , Vector } ,
1616 query:: {
17- details:: NormalConstraints , visitors :: BoundingVolumeIntersectionsVisitor , ClosestPoints ,
18- Contact , ContactManifold , ContactManifoldsWorkspace , DefaultQueryDispatcher ,
19- NonlinearRigidMotion , PersistentQueryDispatcher , PointProjection , PointQuery ,
20- QueryDispatcher , Ray , RayCast , RayIntersection , ShapeCastHit , ShapeCastOptions ,
21- TypedWorkspaceData , Unsupported , WorkspaceData ,
17+ details:: NormalConstraints , ClosestPoints , Contact , ContactManifold ,
18+ ContactManifoldsWorkspace , DefaultQueryDispatcher , NonlinearRigidMotion ,
19+ PersistentQueryDispatcher , PointProjection , PointQuery , QueryDispatcher , Ray , RayCast ,
20+ RayIntersection , ShapeCastHit , ShapeCastOptions , TypedWorkspaceData , Unsupported ,
21+ WorkspaceData ,
2222 } ,
23- shape:: { FeatureId , HalfSpace , Shape , ShapeType , SimdCompositeShape , Triangle , TypedShape } ,
23+ shape:: { CompositeShape , FeatureId , HalfSpace , Shape , ShapeType , Triangle , TypedShape } ,
2424 utils:: IsometryOpt ,
2525} ;
2626
@@ -818,7 +818,7 @@ fn compute_manifolds_vs_composite<ManifoldData, ContactData>(
818818 pos12 : & Isometry < Real > ,
819819 pos21 : & Isometry < Real > ,
820820 planet : & Planet ,
821- other : & dyn SimdCompositeShape ,
821+ other : & dyn CompositeShape ,
822822 prediction : Real ,
823823 manifolds : & mut Vec < ContactManifold < ManifoldData , ContactData > > ,
824824 workspace : & mut Option < ContactManifoldsWorkspace > ,
@@ -837,7 +837,7 @@ fn compute_manifolds_vs_composite<ManifoldData, ContactData>(
837837 workspace. phase ^= true ;
838838 let phase = workspace. phase ;
839839
840- let bvh = other. qbvh ( ) ;
840+ let bvh = other. bvh ( ) ;
841841
842842 let bounds = bvh
843843 . root_aabb ( )
@@ -849,7 +849,7 @@ fn compute_manifolds_vs_composite<ManifoldData, ContactData>(
849849 planet. map_elements_in_local_sphere ( & bounds, & aabb, |& coords, slot, index, triangle| {
850850 let tri_aabb = triangle. compute_aabb ( pos21) . loosened ( prediction) ;
851851
852- let mut visit = | & composite_subshape : & u32 | {
852+ for composite_subshape in bvh . intersect_aabb ( & tri_aabb ) {
853853 other. map_part_at (
854854 composite_subshape,
855855 & mut |composite_part_pos, composite_part_shape, normal_constraints| {
@@ -917,10 +917,7 @@ fn compute_manifolds_vs_composite<ManifoldData, ContactData>(
917917 }
918918 } ,
919919 ) ;
920- true
921- } ;
922- let mut visitor = BoundingVolumeIntersectionsVisitor :: new ( & tri_aabb, & mut visit) ;
923- bvh. traverse_depth_first ( & mut visitor) ;
920+ }
924921
925922 true
926923 } ) ;
0 commit comments