[−][src]Trait collision::prelude::Continuous
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
Required methods
fn intersection(&self, _: &RHS) -> Option<Self::Result>
Intersection test
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]
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,
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]
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,
impl<S> Continuous<Ray<S, Point2<S>, Vector2<S>>> for Circle<S> where
S: BaseFloat,
[src]
impl<S> Continuous<Ray<S, Point2<S>, Vector2<S>>> for Circle<S> where
S: BaseFloat,
impl<S> Continuous<Ray<S, Point2<S>, Vector2<S>>> for ConvexPolygon<S> where
S: BaseFloat,
[src]
impl<S> Continuous<Ray<S, Point2<S>, Vector2<S>>> for ConvexPolygon<S> where
S: BaseFloat,
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]
impl<S> Continuous<Ray<S, Point2<S>, Vector2<S>>> for Rectangle<S> where
S: BaseFloat,
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]
impl<S> Continuous<Ray<S, Point2<S>, Vector2<S>>> for Square<S> where
S: BaseFloat,
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]
impl<S> Continuous<Ray<S, Point3<S>, Vector3<S>>> for Capsule<S> where
S: BaseFloat,
impl<S> Continuous<Ray<S, Point3<S>, Vector3<S>>> for ConvexPolyhedron<S> where
S: BaseFloat,
[src]
impl<S> Continuous<Ray<S, Point3<S>, Vector3<S>>> for ConvexPolyhedron<S> where
S: BaseFloat,
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]
impl<S> Continuous<Ray<S, Point3<S>, Vector3<S>>> for Cube<S> where
S: BaseFloat,
impl<S> Continuous<Ray<S, Point3<S>, Vector3<S>>> for Cuboid<S> where
S: BaseFloat,
[src]
impl<S> Continuous<Ray<S, Point3<S>, Vector3<S>>> for Cuboid<S> where
S: BaseFloat,
impl<S> Continuous<Ray<S, Point3<S>, Vector3<S>>> for Cylinder<S> where
S: BaseFloat,
[src]
impl<S> Continuous<Ray<S, Point3<S>, Vector3<S>>> for Cylinder<S> where
S: BaseFloat,
impl<S> Continuous<Ray<S, Point3<S>, Vector3<S>>> for Quad<S> where
S: BaseFloat,
[src]
impl<S> Continuous<Ray<S, Point3<S>, Vector3<S>>> for Quad<S> where
S: BaseFloat,
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]
impl<S> Continuous<Ray<S, Point3<S>, Vector3<S>>> for collision::primitive::Sphere<S> where
S: BaseFloat,
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]
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>,
impl<S: BaseFloat> Continuous<Plane<S>> for Plane<S>
[src]
impl<S: BaseFloat> Continuous<Plane<S>> for Plane<S>
See Real-Time Collision Detection, p. 210
impl<S: BaseFloat> Continuous<(Plane<S>, Plane<S>)> for Plane<S>
[src]
impl<S: BaseFloat> Continuous<(Plane<S>, Plane<S>)> for Plane<S>
See Real-Time Collision Detection, p. 212 - 214
type Result = Point3<S>
fn intersection(&self, planes: &(Plane<S>, Plane<S>)) -> Option<Point3<S>> | [src] |
impl<S: BaseFloat> Continuous<Aabb2<S>> for Ray2<S>
[src]
impl<S: BaseFloat> Continuous<Aabb2<S>> for Ray2<S>
impl<S: BaseFloat> Continuous<Aabb3<S>> for Ray3<S>
[src]
impl<S: BaseFloat> Continuous<Aabb3<S>> for Ray3<S>
impl<S: BaseFloat> Continuous<Line<S, Vector2<S>, Point2<S>>> for Ray2<S>
[src]
impl<S: BaseFloat> Continuous<Line<S, Vector2<S>, Point2<S>>> for Ray2<S>
Determines if an intersection between a ray and a line segment is found.
impl<S: BaseFloat> Continuous<Ray<S, Point2<S>, Vector2<S>>> for Aabb2<S>
[src]
impl<S: BaseFloat> Continuous<Ray<S, Point2<S>, Vector2<S>>> for Aabb2<S>
impl<S: BaseFloat> Continuous<Ray<S, Point2<S>, Vector2<S>>> for Line2<S>
[src]
impl<S: BaseFloat> Continuous<Ray<S, Point2<S>, Vector2<S>>> for Line2<S>
impl<S: BaseFloat> Continuous<Ray<S, Point3<S>, Vector3<S>>> for Plane<S>
[src]
impl<S: BaseFloat> Continuous<Ray<S, Point3<S>, Vector3<S>>> for Plane<S>
impl<S: BaseFloat> Continuous<Ray<S, Point3<S>, Vector3<S>>> for collision::Sphere<S>
[src]
impl<S: BaseFloat> Continuous<Ray<S, Point3<S>, Vector3<S>>> for collision::Sphere<S>
impl<S: BaseFloat> Continuous<Ray<S, Point3<S>, Vector3<S>>> for Aabb3<S>
[src]
impl<S: BaseFloat> Continuous<Ray<S, Point3<S>, Vector3<S>>> for Aabb3<S>