Trait parry3d::query::PersistentQueryDispatcher [−][src]
pub trait PersistentQueryDispatcher<ManifoldData = (), ContactData = ()>: QueryDispatcher { fn contact_manifolds(
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape,
prediction: Real,
manifolds: &mut Vec<ContactManifold<ManifoldData, ContactData>>,
workspace: &mut Option<ContactManifoldsWorkspace>
) -> Result<(), Unsupported>; fn contact_manifold_convex_convex(
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape,
prediction: Real,
manifold: &mut ContactManifold<ManifoldData, ContactData>
) -> Result<(), Unsupported>; }
Expand description
A query dispatcher for queries relying on spatial coherence, including contact-manifold computation.
Required methods
fn contact_manifolds(
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape,
prediction: Real,
manifolds: &mut Vec<ContactManifold<ManifoldData, ContactData>>,
workspace: &mut Option<ContactManifoldsWorkspace>
) -> Result<(), Unsupported>
[src]
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape,
prediction: Real,
manifolds: &mut Vec<ContactManifold<ManifoldData, ContactData>>,
workspace: &mut Option<ContactManifoldsWorkspace>
) -> Result<(), Unsupported>
Expand description
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.
fn contact_manifold_convex_convex(
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape,
prediction: Real,
manifold: &mut ContactManifold<ManifoldData, ContactData>
) -> Result<(), Unsupported>
[src]
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape,
prediction: Real,
manifold: &mut ContactManifold<ManifoldData, ContactData>
) -> Result<(), Unsupported>
Expand description
Computes the contact-manifold between two convex shapes.
Implementors
impl<ManifoldData, ContactData> PersistentQueryDispatcher<ManifoldData, ContactData> for DefaultQueryDispatcher where
ManifoldData: Default + Clone,
ContactData: Default + Copy,
[src]
impl<ManifoldData, ContactData> PersistentQueryDispatcher<ManifoldData, ContactData> for DefaultQueryDispatcher where
ManifoldData: Default + Clone,
ContactData: Default + Copy,
[src]fn contact_manifolds(
&self,
pos12: &Isometry<Real>,
shape1: &dyn Shape,
shape2: &dyn Shape,
prediction: Real,
manifolds: &mut Vec<ContactManifold<ManifoldData, ContactData>>,
workspace: &mut Option<ContactManifoldsWorkspace>
) -> Result<(), Unsupported>
[src]
&self,
pos12: &Isometry<Real>,
shape1: &dyn Shape,
shape2: &dyn Shape,
prediction: Real,
manifolds: &mut Vec<ContactManifold<ManifoldData, ContactData>>,
workspace: &mut Option<ContactManifoldsWorkspace>
) -> Result<(), Unsupported>
fn contact_manifold_convex_convex(
&self,
pos12: &Isometry<Real>,
shape1: &dyn Shape,
shape2: &dyn Shape,
prediction: Real,
manifold: &mut ContactManifold<ManifoldData, ContactData>
) -> Result<(), Unsupported>
[src]
&self,
pos12: &Isometry<Real>,
shape1: &dyn Shape,
shape2: &dyn Shape,
prediction: Real,
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]
impl<ManifoldData, ContactData, T, U> PersistentQueryDispatcher<ManifoldData, ContactData> for QueryDispatcherChain<T, U> where
T: PersistentQueryDispatcher<ManifoldData, ContactData>,
U: PersistentQueryDispatcher<ManifoldData, ContactData>,
[src]fn contact_manifolds(
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape,
prediction: Real,
manifolds: &mut Vec<ContactManifold<ManifoldData, ContactData>>,
workspace: &mut Option<ContactManifoldsWorkspace>
) -> Result<(), Unsupported>
[src]
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape,
prediction: Real,
manifolds: &mut Vec<ContactManifold<ManifoldData, ContactData>>,
workspace: &mut Option<ContactManifoldsWorkspace>
) -> Result<(), Unsupported>
fn contact_manifold_convex_convex(
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape,
prediction: Real,
manifold: &mut ContactManifold<ManifoldData, ContactData>
) -> Result<(), Unsupported>
[src]
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape,
prediction: Real,
manifold: &mut ContactManifold<ManifoldData, ContactData>
) -> Result<(), Unsupported>