Trait collision::SupportFunction
[−]
[src]
pub trait SupportFunction { type Point: EuclideanSpace; fn support_point<T>(
&self,
direction: &<Self::Point as EuclideanSpace>::Diff,
transform: &T
) -> Self::Point
where
T: Transform<Self::Point>; }
Minkowski support function for primitive
Associated Types
type Point: EuclideanSpace
Point type
Required Methods
fn support_point<T>(
&self,
direction: &<Self::Point as EuclideanSpace>::Diff,
transform: &T
) -> Self::Point where
T: Transform<Self::Point>,
&self,
direction: &<Self::Point as EuclideanSpace>::Diff,
transform: &T
) -> Self::Point where
T: Transform<Self::Point>,
Get the support point on the shape in a given direction.
Parameters
direction
: The search direction in world space.transform
: The current local to world transform for this primitive.
Returns
Return the point that is furthest away from the origin, in the given search direction. For discrete shapes, the furthest vertex is enough, there is no need to do exact intersection point computation.
Type parameters
P
: Transform type
Implementors
impl<S> SupportFunction for Circle<S> where
S: BaseFloat, type Point = Point2<S>;impl<S> SupportFunction for Rectangle<S> where
S: BaseFloat, type Point = Point2<S>;impl<S> SupportFunction for ConvexPolygon<S> where
S: BaseFloat, type Point = Point2<S>;impl<S> SupportFunction for Sphere<S> where
S: BaseFloat, type Point = Point3<S>;impl<S> SupportFunction for Cuboid<S> where
S: BaseFloat, type Point = Point3<S>;impl<S> SupportFunction for ConvexPolyhedron<S> where
S: BaseFloat, type Point = Point3<S>;impl<S> SupportFunction for Primitive2<S> where
S: BaseFloat, type Point = Point2<S>;impl<S> SupportFunction for Primitive3<S> where
S: BaseFloat, type Point = Point3<S>;