Fix 2D compilation.
This commit is contained in:
@@ -39,8 +39,8 @@ pub fn generate_contacts<'a>(
|
||||
let pos12 = pos1.inverse() * pos2;
|
||||
let pos21 = pos12.inverse();
|
||||
|
||||
let seg1 = capsule1.segment();
|
||||
let seg2_1 = capsule2.segment().transformed(&pos12);
|
||||
let seg1 = capsule1.segment;
|
||||
let seg2_1 = capsule2.segment.transformed(&pos12);
|
||||
let (loc1, loc2) = ncollide::query::closest_points_segment_segment_with_locations_nD(
|
||||
(&seg1.a, &seg1.b),
|
||||
(&seg2_1.a, &seg2_1.b),
|
||||
|
||||
@@ -109,12 +109,9 @@ fn do_generate_contacts(
|
||||
let shape_type2 = collider2.shape().shape_type();
|
||||
|
||||
heightfield1.map_elements_in_local_aabb(&ls_aabb2, &mut |i, part1, _| {
|
||||
let position1 = *collider1.position();
|
||||
let position1 = collider1.position();
|
||||
#[cfg(feature = "dim2")]
|
||||
let (position1, dpos1, sub_shape1) = {
|
||||
let (dpos, half_height) = crate::utils::segment_to_capsule(&part1.a, &part1.b);
|
||||
(position1 * dpos, dpos, Capsule::new(half_height, 0.0))
|
||||
};
|
||||
let sub_shape1 = Capsule::new(part1.a, part1.b, 0.0);
|
||||
#[cfg(feature = "dim3")]
|
||||
let sub_shape1 = *part1;
|
||||
|
||||
@@ -154,7 +151,7 @@ fn do_generate_contacts(
|
||||
shape1: collider2.shape(),
|
||||
shape2: &sub_shape1,
|
||||
position1: collider2.position(),
|
||||
position2: &position1,
|
||||
position2: position1,
|
||||
manifold,
|
||||
workspace: sub_detector.workspace.as_deref_mut(),
|
||||
}
|
||||
@@ -165,20 +162,13 @@ fn do_generate_contacts(
|
||||
collider2,
|
||||
shape1: &sub_shape1,
|
||||
shape2: collider2.shape(),
|
||||
position1: &position1,
|
||||
position1: position1,
|
||||
position2: collider2.position(),
|
||||
manifold,
|
||||
workspace: sub_detector.workspace.as_deref_mut(),
|
||||
}
|
||||
};
|
||||
|
||||
#[cfg(feature = "dim2")]
|
||||
if coll_pair.collider1 != ctxt2.manifold.pair.collider1 {
|
||||
ctxt2.manifold.delta2 = collider1.position_wrt_parent() * dpos1;
|
||||
} else {
|
||||
ctxt2.manifold.delta1 = collider1.position_wrt_parent() * dpos1;
|
||||
}
|
||||
|
||||
(sub_detector.generator.generate_contacts)(&mut ctxt2)
|
||||
});
|
||||
|
||||
|
||||
@@ -221,6 +221,7 @@ impl Shape for Capsule {
|
||||
ShapeType::Capsule
|
||||
}
|
||||
|
||||
#[cfg(feature = "dim3")]
|
||||
fn as_polygonal_feature_map(&self) -> Option<(&dyn PolygonalFeatureMap, f32)> {
|
||||
Some((&self.segment as &dyn PolygonalFeatureMap, self.radius))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user