Trait Primitive

Source
pub trait Primitive {
    type Point: EuclideanSpace;

    // Required method
    fn support_point<T>(
        &self,
        direction: &<Self::Point as EuclideanSpace>::Diff,
        transform: &T,
    ) -> Self::Point
       where T: Transform<Self::Point>;
}
Expand description

Minkowski support function for primitive

Required Associated Types§

Source

type Point: EuclideanSpace

Point type

Required Methods§

Source

fn support_point<T>( &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

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<B, P> Primitive for (P, B)
where P: Primitive, B: Bound,

Source§

type Point = <P as Primitive>::Point

Source§

fn support_point<T>( &self, direction: &<Self::Point as EuclideanSpace>::Diff, transform: &T, ) -> Self::Point
where T: Transform<Self::Point>,

Implementors§

Source§

impl<S> Primitive for Primitive2<S>
where S: BaseFloat,

Source§

impl<S> Primitive for Primitive3<S>
where S: BaseFloat,

Source§

impl<S> Primitive for Capsule<S>
where S: BaseFloat,

Source§

impl<S> Primitive for Circle<S>
where S: BaseFloat,

Source§

impl<S> Primitive for ConvexPolygon<S>
where S: BaseFloat,

Source§

impl<S> Primitive for ConvexPolyhedron<S>
where S: BaseFloat,

Source§

impl<S> Primitive for Cube<S>
where S: BaseFloat,

Source§

impl<S> Primitive for Cuboid<S>
where S: BaseFloat,

Source§

impl<S> Primitive for Cylinder<S>
where S: BaseFloat,

Source§

impl<S> Primitive for Quad<S>
where S: BaseFloat,

Source§

impl<S> Primitive for Rectangle<S>
where S: BaseFloat,

Source§

impl<S> Primitive for Sphere<S>
where S: BaseFloat,

Source§

impl<S> Primitive for Square<S>
where S: BaseFloat,

Source§

impl<S> Primitive for Line2<S>
where S: BaseFloat,