Trait heron::rapier_plugin::rapier::parry::query::PersistentQueryDispatcher [−][src]
pub trait PersistentQueryDispatcher<ManifoldData = (), ContactData = ()>: QueryDispatcher { pub fn contact_manifolds(
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
g1: &(dyn Shape + 'static),
g2: &(dyn Shape + 'static),
prediction: f32,
manifolds: &mut Vec<ContactManifold<ManifoldData, ContactData>, Global>,
workspace: &mut Option<ContactManifoldsWorkspace>
) -> Result<(), Unsupported>; pub fn contact_manifold_convex_convex(
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
g1: &(dyn Shape + 'static),
g2: &(dyn Shape + 'static),
prediction: f32,
manifold: &mut ContactManifold<ManifoldData, ContactData>
) -> Result<(), Unsupported>; }
A query dispatcher for queries relying on spatial coherence, including contact-manifold computation.
Required methods
pub fn contact_manifolds(
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
g1: &(dyn Shape + 'static),
g2: &(dyn Shape + 'static),
prediction: f32,
manifolds: &mut Vec<ContactManifold<ManifoldData, ContactData>, Global>,
workspace: &mut Option<ContactManifoldsWorkspace>
) -> Result<(), Unsupported>
[src]
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
g1: &(dyn Shape + 'static),
g2: &(dyn Shape + 'static),
prediction: f32,
manifolds: &mut Vec<ContactManifold<ManifoldData, ContactData>, Global>,
workspace: &mut Option<ContactManifoldsWorkspace>
) -> Result<(), Unsupported>
Compute all the contacts between two shapes.
The output is written into manifolds
and context
. Both can persist
between multiple calls to contacts
by re-using the result of the previous
call to contacts
. This persistence can significantly improve collision
detection performances by allowing the underlying algorithms to exploit
spatial and temporal coherence.
pub fn contact_manifold_convex_convex(
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
g1: &(dyn Shape + 'static),
g2: &(dyn Shape + 'static),
prediction: f32,
manifold: &mut ContactManifold<ManifoldData, ContactData>
) -> Result<(), Unsupported>
[src]
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
g1: &(dyn Shape + 'static),
g2: &(dyn Shape + 'static),
prediction: f32,
manifold: &mut ContactManifold<ManifoldData, ContactData>
) -> Result<(), Unsupported>
Computes the contact-manifold between two convex shapes.
Implementors
impl<ManifoldData, ContactData> PersistentQueryDispatcher<ManifoldData, ContactData> for DefaultQueryDispatcher where
ContactData: Default + Copy,
ManifoldData: Default + Clone,
[src]
ContactData: Default + Copy,
ManifoldData: Default + Clone,
pub fn contact_manifolds(
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
shape1: &(dyn Shape + 'static),
shape2: &(dyn Shape + 'static),
prediction: f32,
manifolds: &mut Vec<ContactManifold<ManifoldData, ContactData>, Global>,
workspace: &mut Option<ContactManifoldsWorkspace>
) -> Result<(), Unsupported>
[src]
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
shape1: &(dyn Shape + 'static),
shape2: &(dyn Shape + 'static),
prediction: f32,
manifolds: &mut Vec<ContactManifold<ManifoldData, ContactData>, Global>,
workspace: &mut Option<ContactManifoldsWorkspace>
) -> Result<(), Unsupported>
pub fn contact_manifold_convex_convex(
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
shape1: &(dyn Shape + 'static),
shape2: &(dyn Shape + 'static),
prediction: f32,
manifold: &mut ContactManifold<ManifoldData, ContactData>
) -> Result<(), Unsupported>
[src]
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
shape1: &(dyn Shape + 'static),
shape2: &(dyn Shape + 'static),
prediction: f32,
manifold: &mut ContactManifold<ManifoldData, ContactData>
) -> Result<(), Unsupported>
impl<ManifoldData, ContactData, T, U> PersistentQueryDispatcher<ManifoldData, ContactData> for QueryDispatcherChain<T, U> where
T: PersistentQueryDispatcher<ManifoldData, ContactData>,
U: PersistentQueryDispatcher<ManifoldData, ContactData>,
[src]
T: PersistentQueryDispatcher<ManifoldData, ContactData>,
U: PersistentQueryDispatcher<ManifoldData, ContactData>,
pub fn contact_manifolds(
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
g1: &(dyn Shape + 'static),
g2: &(dyn Shape + 'static),
prediction: f32,
manifolds: &mut Vec<ContactManifold<ManifoldData, ContactData>, Global>,
workspace: &mut Option<ContactManifoldsWorkspace>
) -> Result<(), Unsupported>
[src]
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
g1: &(dyn Shape + 'static),
g2: &(dyn Shape + 'static),
prediction: f32,
manifolds: &mut Vec<ContactManifold<ManifoldData, ContactData>, Global>,
workspace: &mut Option<ContactManifoldsWorkspace>
) -> Result<(), Unsupported>
pub fn contact_manifold_convex_convex(
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
g1: &(dyn Shape + 'static),
g2: &(dyn Shape + 'static),
prediction: f32,
manifold: &mut ContactManifold<ManifoldData, ContactData>
) -> Result<(), Unsupported>
[src]
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
g1: &(dyn Shape + 'static),
g2: &(dyn Shape + 'static),
prediction: f32,
manifold: &mut ContactManifold<ManifoldData, ContactData>
) -> Result<(), Unsupported>