Struct triangle::lib32::Triangle[][src]

pub struct Triangle {
    pub a: Point,
    pub b: Point,
    pub c: Point,
}

Fields

a: Pointb: Pointc: Point

Implementations

impl Triangle[src]

pub fn aabb(&self) -> [Point; 2][src]

Returns two opposite points of axis-aligned bounding box.

pub fn angles(&self) -> Option<[f32; 3]>[src]

Gets angles of the triangle.

pub fn area(&self) -> f32[src]

Gets area of the triangle.

pub fn barycentric_to_cartesian(&self, pt: &Point) -> Point[src]

Converts barycentric coordinates of given point to cartesian coordinate system.

pub fn cartesian_to_barycentric(&self, pt: &Point) -> Point[src]

Converts cartesian coordinates of given point to barycentric coordinate system.

pub fn centroid(&self) -> Point[src]

Gets centroid of the triangle.

pub fn circumradius(&self) -> Option<f32>[src]

Gets radius of a circle that passes through all of the triangle’s vertices, so called circumradius.

pub fn has_point(&self, pt: Point) -> bool[src]

Checks whether a given point lies inside the triangle.

pub fn heights(&self) -> Option<[f32; 3]>[src]

Gets the heights of the triangle.

pub fn inradius(&self) -> Option<f32>[src]

Gets radius of a circle which is tangent to each side of the triangle, so called inradius.

pub fn is_collinear(&self) -> bool[src]

Checks if points of triangle are collinear.

pub fn is_equilateral(&self) -> bool[src]

Checks if the triangle is equilateral.

pub fn is_golden(&self) -> bool[src]

Checks if the triangle is golden or sublime.

pub fn is_isosceles(&self) -> bool[src]

Checks if the triangle is isosceles.

pub fn is_right(&self) -> bool[src]

Checks if the triangle is right-angled.

pub fn medians(&self) -> [f32; 3][src]

Gets medians of the triangle.

pub fn normal(&self) -> Option<Point>[src]

Gets normal of the triangle, depending on vertices order.

pub fn perimeter(&self) -> f32[src]

Gets perimeter of the triangle.

pub fn ray_intersection(&self, ray_orig: &Point, ray_dir: &Point) -> Option<f32>[src]

Gets distance from ray origin to intersection with triangle. Möller & f32rumbore algorithm.

pub fn semiperimeter(&self) -> f32[src]

Gets semiperimeter of the triangle.

pub fn sides(&self) -> [f32; 3][src]

Gets lengths of sides opposite to points.

Trait Implementations

impl Clone for Triangle[src]

impl Copy for Triangle[src]

impl Debug for Triangle[src]

Auto Trait Implementations

Blanket Implementations

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

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

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

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

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

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.