[][src]Trait collision::Continuous

pub trait Continuous<RHS> {
    type Result;
    fn intersection(&self, _: &RHS) -> Option<Self::Result>;
}

An intersection test with a result.

An example would be a Ray vs AABB intersection test that returns a Point in space.

Associated Types

type Result

Result returned by the intersection test

Loading content...

Required methods

fn intersection(&self, _: &RHS) -> Option<Self::Result>

Intersection test

Loading content...

Implementors

impl<P> Continuous<Ray<<P as EuclideanSpace>::Scalar, P, <P as EuclideanSpace>::Diff>> for Particle<P> where
    P: EuclideanSpace,
    P::Diff: InnerSpace,
    P::Scalar: BaseFloat
[src]

type Result = P

fn intersection(&self, ray: &Ray<P::Scalar, P, P::Diff>) -> Option<P>[src]

Ray needs to be in particle object space

impl<P, C> Continuous<(Particle<P>, Range<P>)> for C where
    C: Continuous<Ray<P::Scalar, P, P::Diff>, Result = P>,
    P: EuclideanSpace,
    P::Diff: InnerSpace,
    P::Scalar: BaseFloat
[src]

type Result = P

impl<S> Continuous<Ray<S, Point2<S>, Vector2<S>>> for Circle<S> where
    S: BaseFloat
[src]

type Result = Point2<S>

impl<S> Continuous<Ray<S, Point2<S>, Vector2<S>>> for ConvexPolygon<S> where
    S: BaseFloat
[src]

type Result = Point2<S>

fn intersection(&self, ray: &Ray2<S>) -> Option<Point2<S>>[src]

Ray must be in object space

impl<S> Continuous<Ray<S, Point2<S>, Vector2<S>>> for Rectangle<S> where
    S: BaseFloat
[src]

type Result = Point2<S>

fn intersection(&self, ray: &Ray2<S>) -> Option<Point2<S>>[src]

Ray must be in object space of the rectangle

impl<S> Continuous<Ray<S, Point2<S>, Vector2<S>>> for Square<S> where
    S: BaseFloat
[src]

type Result = Point2<S>

fn intersection(&self, ray: &Ray2<S>) -> Option<Point2<S>>[src]

Ray must be in object space of the rectangle

impl<S> Continuous<Ray<S, Point3<S>, Vector3<S>>> for Capsule<S> where
    S: BaseFloat
[src]

type Result = Point3<S>

impl<S> Continuous<Ray<S, Point3<S>, Vector3<S>>> for ConvexPolyhedron<S> where
    S: BaseFloat
[src]

type Result = Point3<S>

fn intersection(&self, ray: &Ray3<S>) -> Option<Point3<S>>[src]

Ray must be in object space

impl<S> Continuous<Ray<S, Point3<S>, Vector3<S>>> for Cube<S> where
    S: BaseFloat
[src]

type Result = Point3<S>

impl<S> Continuous<Ray<S, Point3<S>, Vector3<S>>> for Cuboid<S> where
    S: BaseFloat
[src]

type Result = Point3<S>

impl<S> Continuous<Ray<S, Point3<S>, Vector3<S>>> for Cylinder<S> where
    S: BaseFloat
[src]

type Result = Point3<S>

impl<S> Continuous<Ray<S, Point3<S>, Vector3<S>>> for Quad<S> where
    S: BaseFloat
[src]

type Result = Point3<S>

fn intersection(&self, ray: &Ray3<S>) -> Option<Point3<S>>[src]

Ray must be in object space of the rectangle

impl<S> Continuous<Ray<S, Point3<S>, Vector3<S>>> for collision::primitive::Sphere<S> where
    S: BaseFloat
[src]

type Result = Point3<S>

impl<S, P> Continuous<Ray<S, P, <P as EuclideanSpace>::Diff>> for P where
    S: BaseFloat,
    P: EuclideanSpace<Scalar = S>,
    P::Diff: InnerSpace<Scalar = S>, 
[src]

type Result = P

impl<S: BaseFloat> Continuous<Plane<S>> for Plane<S>[src]

See Real-Time Collision Detection, p. 210

type Result = Ray3<S>

impl<S: BaseFloat> Continuous<(Plane<S>, Plane<S>)> for Plane<S>[src]

See Real-Time Collision Detection, p. 212 - 214

type Result = Point3<S>

impl<S: BaseFloat> Continuous<Aabb2<S>> for Ray2<S>[src]

type Result = Point2<S>

impl<S: BaseFloat> Continuous<Aabb3<S>> for Ray3<S>[src]

type Result = Point3<S>

impl<S: BaseFloat> Continuous<Line<S, Vector2<S>, Point2<S>>> for Ray2<S>[src]

Determines if an intersection between a ray and a line segment is found.

type Result = Point2<S>

impl<S: BaseFloat> Continuous<Ray<S, Point2<S>, Vector2<S>>> for Aabb2<S>[src]

type Result = Point2<S>

impl<S: BaseFloat> Continuous<Ray<S, Point2<S>, Vector2<S>>> for Line2<S>[src]

type Result = Point2<S>

impl<S: BaseFloat> Continuous<Ray<S, Point3<S>, Vector3<S>>> for Plane<S>[src]

type Result = Point3<S>

impl<S: BaseFloat> Continuous<Ray<S, Point3<S>, Vector3<S>>> for collision::Sphere<S>[src]

type Result = Point3<S>

impl<S: BaseFloat> Continuous<Ray<S, Point3<S>, Vector3<S>>> for Aabb3<S>[src]

type Result = Point3<S>

Loading content...