Struct ncollide_geometry::shape::AnnotatedMinkowskiSum
[−]
[src]
pub struct AnnotatedMinkowskiSum<'a, M: 'a, G1: ?Sized + 'a, G2: ?Sized + 'a> { /* fields omitted */ }
Same as the MinkowskiSum but with a support mapping which keeps track of the original supports points from the two wrapped shapes.
G1
: type of the first object involved on the sum.G2
: type of the second object involved on the sum.
Methods
impl<'a, M, G1: ?Sized, G2: ?Sized> AnnotatedMinkowskiSum<'a, M, G1, G2>
[src]
fn new(
m1: &'a M,
g1: &'a G1,
m2: &'a M,
g2: &'a G2
) -> AnnotatedMinkowskiSum<'a, M, G1, G2>
m1: &'a M,
g1: &'a G1,
m2: &'a M,
g2: &'a G2
) -> AnnotatedMinkowskiSum<'a, M, G1, G2>
Builds the Minkowski sum of two shapes. Since the representation is implicit, this is done in constant time.
fn m1(&self) -> &'a M
The transformation matrix of the first shape of this Minkowski Sum.
fn m2(&self) -> &'a M
The transformation matrix of the second shape of this Minkowski Sum.
fn g1(&self) -> &'a G1
The first shape of this Minkowski Sum.
fn g2(&self) -> &'a G2
The second shape of this Minkowski Sum.
Trait Implementations
impl<'a, M: Debug + 'a, G1: Debug + ?Sized + 'a, G2: Debug + ?Sized + 'a> Debug for AnnotatedMinkowskiSum<'a, M, G1, G2>
[src]
impl<'a, P, M, G1: ?Sized, G2: ?Sized> SupportMap<AnnotatedPoint<P>, Id> for AnnotatedMinkowskiSum<'a, M, G1, G2> where
P: Point,
G1: SupportMap<P, M>,
G2: SupportMap<P, M>,
[src]
P: Point,
G1: SupportMap<P, M>,
G2: SupportMap<P, M>,
fn support_point(&self, _: &Id, dir: &P::Vector) -> AnnotatedPoint<P>
Evaluates the support function of the object. A support function is a function associating a vector to the shape point which maximizes their dot product. This does not include the margin
of the object. Margins are shape-dependent. Use support_point
to sample the complete shape. Read more