[][src]Trait ncollide_math::Point

pub trait Point: Copy + Send + Sync + 'static + Display + Lattice + Bounded + Index<usize, Output = Self::Real> + IndexMut<usize, Output = Self::Real> + ApproxEq<Epsilon = Self::Real> + EuclideanSpace<Coordinates = Self::Vector> {
type Vector: Vector<Real = Self::Real> + Add<Self::Vector, Output = Self::Vector> + AddAssign<Self::Vector> + Sub<Self::Vector, Output = Self::Vector> + SubAssign<Self::Vector> + Mul<Self::Real, Output = Self::Vector> + MulAssign<Self::Real> + Div<Self::Real, Output = Self::Vector> + DivAssign<Self::Real> + Neg<Output = Self::Vector>;
    fn axpy(&mut self, a: Self::Real, rhs: &Self, b: Self::Real);
fn ccw_face_normal(pts: &[&Self]) -> Option<Unit<Self::Vector>>; }

Trait implemented by point types usable by ncollide.

Associated Types

type Vector: Vector<Real = Self::Real> + Add<Self::Vector, Output = Self::Vector> + AddAssign<Self::Vector> + Sub<Self::Vector, Output = Self::Vector> + SubAssign<Self::Vector> + Mul<Self::Real, Output = Self::Vector> + MulAssign<Self::Real> + Div<Self::Real, Output = Self::Vector> + DivAssign<Self::Real> + Neg<Output = Self::Vector>

The underlying vector type used to express points coordinates.

Loading content...

Required methods

fn axpy(&mut self, a: Self::Real, rhs: &Self, b: Self::Real)

Computes self = a * rhs + b * self.

fn ccw_face_normal(pts: &[&Self]) -> Option<Unit<Self::Vector>>

Computes the outward normal of a 2D or 3D face.

In 2D, returns a unit vector orthogonal to the oriented segment formed by { pts[0], pts[1] }. This vector points toward the half-space "on the right" of this segment. In 3D, returns the unit normal of the triangle formed by { pts[0], pts[1], pts[2] } and oriented counter-clock-wise.

Loading content...

Implementations on Foreign Types

impl<N, D> Point for Point<N, D> where
    N: Real,
    D: DimName,
    DefaultAllocator: Allocator<N, D>,
    Owned<N, D>: Copy + Sync + Send + 'static,
    VectorN<N, D>: Vector<Real = N>, 
[src]

type Vector = Self::Coordinates

Loading content...

Implementors

Loading content...