Struct ncollide_geometry::shape::MinkowskiSum
[−]
[src]
pub struct MinkowskiSum<'a, M: 'a, G1: ?Sized + 'a, G2: ?Sized + 'a> { /* fields omitted */ }
SupportMap representation of the Minkowski sum of two shapes.
The only way to obtain the sum points is to use its support mapping function.
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> MinkowskiSum<'a, M, G1, G2>
[src]
fn new(
m1: &'a M,
g1: &'a G1,
m2: &'a M,
g2: &'a G2
) -> MinkowskiSum<'a, M, G1, G2>
m1: &'a M,
g1: &'a G1,
m2: &'a M,
g2: &'a G2
) -> MinkowskiSum<'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 MinkowskiSum<'a, M, G1, G2>
[src]
impl<'a, P, M, G1: ?Sized, G2: ?Sized> SupportMap<P, Id> for MinkowskiSum<'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) -> 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
impl<'a, P, M, M2, G1: ?Sized, G2: ?Sized> RayCast<P, M2> for MinkowskiSum<'a, M, G1, G2> where
P: Point,
M2: Isometry<P>,
G1: SupportMap<P, M>,
G2: SupportMap<P, M>,
[src]
P: Point,
M2: Isometry<P>,
G1: SupportMap<P, M>,
G2: SupportMap<P, M>,
fn toi_and_normal_with_ray(
&self,
m: &M2,
ray: &Ray<P>,
solid: bool
) -> Option<RayIntersection<P::Vector>>
&self,
m: &M2,
ray: &Ray<P>,
solid: bool
) -> Option<RayIntersection<P::Vector>>
Computes the time of impact, and normal between this transformed shape and a ray.
fn toi_with_ray(&self, m: &M, ray: &Ray<P>, solid: bool) -> Option<P::Real>
Computes the time of impact between this transform shape and a ray.
fn toi_and_normal_and_uv_with_ray(
&self,
m: &M,
ray: &Ray<P>,
solid: bool
) -> Option<RayIntersection<P::Vector>>
&self,
m: &M,
ray: &Ray<P>,
solid: bool
) -> Option<RayIntersection<P::Vector>>
Computes time of impact, normal, and texture coordinates (uv) between this transformed shape and a ray. Read more
fn intersects_ray(&self, m: &M, ray: &Ray<P>) -> bool
Tests whether a ray intersects this transformed shape.