[][src]Struct ncollide3d::shape::Triangle

pub struct Triangle<N: Real> { /* fields omitted */ }

A triangle shape.

Methods

impl<N: Real> Triangle<N>[src]

pub fn new(a: Point<N>, b: Point<N>, c: Point<N>) -> Triangle<N>[src]

Creates a triangle from three points.

pub fn from_array(arr: &[Point<N>; 3]) -> &Triangle<N>[src]

Creates the reference to a triangle from the reference to an array of three points.

pub fn a(&self) -> &Point<N>[src]

The fist point of this triangle.

pub fn b(&self) -> &Point<N>[src]

The second point of this triangle.

pub fn c(&self) -> &Point<N>[src]

The third point of this triangle.

pub fn vertices(&self) -> &[Point<N>; 3][src]

Reference to an array containing the three vertices of this triangle.

pub fn normal(&self) -> Option<Unit<Vector<N>>>[src]

The normal of this triangle assuming it is oriented ccw.

The normal points such that it is collinear to AB × AC (where × denotes the cross product).

pub fn edges(&self) -> [Segment<N>; 3][src]

The three edges of this triangle: [AB, BC, CA].

pub fn transformed(&self, m: &Isometry<N>) -> Self[src]

Returns a new triangle with vertices transformed by m.

pub fn edges_scaled_directions(&self) -> [Vector<N>; 3][src]

The three edges scaled directions of this triangle: [B - A, C - B, A - C].

pub fn scaled_normal(&self) -> Vector<N>[src]

A vector normal of this triangle.

The vector points such that it is collinear to AB × AC (where × denotes the cross product).

pub fn extents_on_dir(&self, dir: &Unit<Vector<N>>) -> (N, N)[src]

Computes the extents of this triangle on the given direction.

This computes the min and max values of the dot products between each vertex of this triangle and dir.

pub fn tangent_cone_contains_dir(
    &self,
    feature: FeatureId,
    m: &Isometry<N>,
    dir: &Unit<Vector<N>>
) -> bool
[src]

Checks that the given direction in world-space is on the tangent cone of the given feature.

Trait Implementations

impl<N: Real> HasBoundingVolume<N, AABB<N>> for Triangle<N>[src]

impl<N: Real> HasBoundingVolume<N, BoundingSphere<N>> for Triangle<N>[src]

impl<N: Real> PointQuery<N> for Triangle<N>[src]

fn distance_to_point(&self, m: &Isometry<N>, pt: &Point<N>, solid: bool) -> N[src]

Computes the minimal distance between a point and self transformed by m.

fn contains_point(&self, m: &Isometry<N>, pt: &Point<N>) -> bool[src]

Tests if the given point is inside of self transformed by m.

impl<N: Real> PointQueryWithLocation<N> for Triangle<N>[src]

type Location = TrianglePointLocation<N>

Additional shape-specific projection information Read more

impl<N: Real> RayCast<N> for Triangle<N>[src]

fn toi_with_ray(&self, m: &Isometry<N>, ray: &Ray<N>, solid: bool) -> Option<N>[src]

Computes the time of impact between this transform shape and a ray.

fn toi_and_normal_and_uv_with_ray(
    &self,
    m: &Isometry<N>,
    ray: &Ray<N>,
    solid: bool
) -> Option<RayIntersection<N>>
[src]

Computes time of impact, normal, and texture coordinates (uv) between this transformed shape and a ray. Read more

fn intersects_ray(&self, m: &Isometry<N>, ray: &Ray<N>) -> bool[src]

Tests whether a ray intersects this transformed shape.

impl<N: Real> ConvexPolyhedron<N> for Triangle<N>[src]

impl<N: Real> Shape<N> for Triangle<N>[src]

fn subshape_containing_feature(&self, _i: FeatureId) -> usize[src]

Returns the id of the subshape containing the specified feature. Read more

fn as_composite_shape(&self) -> Option<&dyn CompositeShape<N>>[src]

The composite shape representation of self if applicable.

fn as_deformable_shape(&self) -> Option<&dyn DeformableShape<N>>[src]

The deformable shape representation of self if applicable.

fn as_deformable_shape_mut(&mut self) -> Option<&mut dyn DeformableShape<N>>[src]

The mutable deformable shape representation of self if applicable.

fn is_composite_shape(&self) -> bool[src]

Whether self uses a composite shape-based representation.

fn is_deformable_shape(&self) -> bool[src]

Whether self uses a composite shape-based representation.

impl<N: Real> SupportMap<N> for Triangle<N>[src]

fn support_point_toward(
    &self,
    transform: &Isometry<N>,
    dir: &Unit<Vector<N>>
) -> Point<N>
[src]

Same as self.support_point except that dir is normalized.

impl<N: Real> ToTriMesh<N> for Triangle<N>[src]

type DiscretizationParameter = ()

impl<N: Clone + Real> Clone for Triangle<N>[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl<N: PartialEq + Real> PartialEq<Triangle<N>> for Triangle<N>[src]

impl<N: Debug + Real> Debug for Triangle<N>[src]

Auto Trait Implementations

impl<N> Send for Triangle<N> where
    N: Scalar

impl<N> Sync for Triangle<N> where
    N: Scalar

Blanket Implementations

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<SS, SP> SupersetOf for SP where
    SS: SubsetOf<SP>, 
[src]

impl<T> Downcast for T where
    T: Any
[src]

impl<T> Same for T

type Output = T

Should always be Self