Struct collision::Ray [] [src]

pub struct Ray<S, P, V> {
    pub origin: P,
    pub direction: V,
    // some fields omitted
}

A generic ray starting at origin and extending infinitely in direction.

Fields

Ray origin

Normalized ray direction

Methods

impl<S, V, P> Ray<S, P, V> where
    S: BaseNum,
    V: VectorSpace<Scalar = S>,
    P: EuclideanSpace<Scalar = S, Diff = V>, 
[src]

[src]

Create a generic ray starting at origin and extending infinitely in direction.

[src]

Create a new ray by applying a transform.

Trait Implementations

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

[src]

Ray needs to be in particle object space

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

Result returned by the intersection test

[src]

Ray needs to be in particle object space

impl<S: Copy, P: Copy, V: Copy> Copy for Ray<S, P, V>
[src]

impl<S: Clone, P: Clone, V: Clone> Clone for Ray<S, P, V>
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl<S: PartialEq, P: PartialEq, V: PartialEq> PartialEq for Ray<S, P, V>
[src]

[src]

This method tests for self and other values to be equal, and is used by ==. Read more

[src]

This method tests for !=.

impl<S: Debug, P: Debug, V: Debug> Debug for Ray<S, P, V>
[src]

[src]

Formats the value using the given formatter. Read more

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

Result returned by the intersection test

[src]

Intersection test

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

[src]

Intersection test

impl<P, C> DiscreteTransformed<Ray<P::Scalar, P, P::Diff>> for C where
    C: Discrete<Ray<P::Scalar, P, P::Diff>>,
    P: EuclideanSpace,
    P::Scalar: BaseFloat
[src]

Point type for transformation of self

[src]

Intersection test for transformed self

impl<P, C> ContinuousTransformed<Ray<P::Scalar, P, P::Diff>> for C where
    C: Continuous<Ray<P::Scalar, P, P::Diff>, Result = P>,
    P: EuclideanSpace,
    P::Scalar: BaseFloat
[src]

Point type for transformation of self

Result of intersection test

[src]

Intersection test for transformed self

Auto Trait Implementations

impl<S, P, V> Send for Ray<S, P, V> where
    P: Send,
    S: Send,
    V: Send

impl<S, P, V> Sync for Ray<S, P, V> where
    P: Sync,
    S: Sync,
    V: Sync