Struct heron::rapier_plugin::rapier::ncollide::shape::Triangle[][src]

#[repr(C)]pub struct Triangle<N> where
    N: RealField
{ pub a: Point<N, U3>, pub b: Point<N, U3>, pub c: Point<N, U3>, }

A triangle shape.

Fields

a: Point<N, U3>

The triangle first point.

b: Point<N, U3>

The triangle second point.

c: Point<N, U3>

The triangle third point.

Implementations

impl<N> Triangle<N> where
    N: RealField
[src]

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

Creates a triangle from three points.

pub fn from_array(arr: &[Point<N, U3>; 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, U3>[src]

👎 Deprecated:

use the self.a public field directly.

The fist point of this triangle.

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

👎 Deprecated:

use the self.b public field directly.

The second point of this triangle.

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

👎 Deprecated:

use the self.c public field directly.

The third point of this triangle.

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

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

pub fn normal(
    &self
) -> Option<Unit<Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>>>
[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, U3, Unit<Quaternion<N>>>
) -> Triangle<N>
[src]

Returns a new triangle with vertices transformed by m.

pub fn edges_scaled_directions(
    &self
) -> [Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>; 3]
[src]

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

pub fn scaled_normal(
    &self
) -> Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>
[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<Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>>
) -> (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, U3, Unit<Quaternion<N>>>,
    dir: &Unit<Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>>
) -> bool
[src]

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

Trait Implementations

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

impl<N> ConvexPolyhedron<N> for Triangle<N> where
    N: RealField
[src]

impl<N> Copy for Triangle<N> where
    N: Copy + RealField
[src]

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

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

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

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

impl<N> PointQuery<N> for Triangle<N> where
    N: RealField
[src]

impl<N> PointQueryWithLocation<N> for Triangle<N> where
    N: RealField
[src]

type Location = TrianglePointLocation<N>

Additional shape-specific projection information Read more

impl<N> RayCast<N> for Triangle<N> where
    N: RealField
[src]

impl Shape for Triangle<f32>

impl<N> Shape<N> for Triangle<N> where
    N: RealField
[src]

impl<N> StructuralPartialEq for Triangle<N> where
    N: RealField
[src]

impl<N> SupportMap<N> for Triangle<N> where
    N: RealField
[src]

impl<N> ToTriMesh<N> for Triangle<N> where
    N: RealField
[src]

type DiscretizationParameter = ()

Auto Trait Implementations

impl<N> RefUnwindSafe for Triangle<N> where
    N: RefUnwindSafe
[src]

impl<N> Send for Triangle<N>[src]

impl<N> Sync for Triangle<N>[src]

impl<N> Unpin for Triangle<N> where
    N: Unpin
[src]

impl<N> UnwindSafe for Triangle<N> where
    N: UnwindSafe
[src]

Blanket Implementations

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

impl<T> Any for T where
    T: Any

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

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

impl<T> CloneAny for T where
    T: Clone + Any

impl<T> Component for T where
    T: 'static + Send + Sync

impl<T> Downcast for T where
    T: Any

impl<T> DowncastSync for T where
    T: Send + Sync + Any

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

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

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> Resource for T where
    T: 'static + Send + Sync

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> Scalar for T where
    T: PartialEq<T> + Copy + Any + Debug
[src]

impl<T> Slottable for T where
    T: Copy
[src]

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 

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

type Owned = T

The resulting type after obtaining ownership.

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

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> 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<T> TypeData for T where
    T: 'static + Send + Sync + Clone

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,