Struct vox_geometry_rust::triangle3::Triangle3[][src]

pub struct Triangle3 {
    pub points: [Vector3D; 3],
    pub normals: [Vector3D; 3],
    pub uvs: [Vector2D; 3],
    pub surface_data: Surface3Data,
}
Expand description

3-D triangle geometry.

This class represents 3-D triangle geometry which extends Surface3 by overriding surface-related queries.

Fields

points: [Vector3D; 3]

Three points.

normals: [Vector3D; 3]

Three normals.

uvs: [Vector2D; 3]

Three UV coordinates.

surface_data: Surface3Data

data from surface3

Implementations

impl Triangle3[src]

pub fn new_default(
    transform: Option<Transform3>,
    is_normal_flipped: Option<bool>
) -> Triangle3
[src]

Constructs an empty triangle.

pub fn new(
    points: [Vector3D; 3],
    normals: [Vector3D; 3],
    uvs: [Vector2D; 3],
    transform: Option<Transform3>,
    is_normal_flipped: Option<bool>
) -> Triangle3
[src]

Constructs a triangle with given \p points, \p normals, and \p uvs.

pub fn builder() -> Builder[src]

Returns builder fox Triangle3.

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

Returns the area of this triangle.

pub fn get_barycentric_coords(
    &self,
    pt: &Vector3D,
    b0: &mut f64,
    b1: &mut f64,
    b2: &mut f64
)
[src]

Returns barycentric coordinates for the given point \p pt.

pub fn face_normal(&self) -> Vector3D[src]

Returns the face normal of the triangle.

pub fn set_normals_to_face_normal(&mut self)[src]

Set Triangle3::normals to the face normal.

Trait Implementations

impl Surface3 for Triangle3[src]

fn closest_point_local(&self, other_point: &Vector3D) -> Vector3D[src]

Returns the closest point from the given point \p other_point to the surface in local frame. Read more

fn bounding_box_local(&self) -> BoundingBox3D[src]

Returns the bounding box of this surface object in local frame.

fn closest_intersection_local(&self, ray: &Ray3D) -> SurfaceRayIntersection3[src]

Returns the closest intersection point for given \p ray in local frame.

fn closest_normal_local(&self, other_point: &Vector3D) -> Vector3D[src]

Returns the normal to the closest point on the surface from the given point \p other_point in local frame. Read more

fn intersects_local(&self, ray: &Ray3D) -> bool[src]

Returns true if the given \p ray intersects with this surface object in local frame. Read more

fn view(&self) -> &Surface3Data[src]

fn closest_distance_local(&self, other_point_local: &Vector3D) -> f64[src]

Returns the closest distance from the given point \p otherPoint to the point on the surface in local frame. Read more

fn is_inside_local(&self, other_point_local: &Vector3D) -> bool[src]

Returns true if \p otherPoint is inside by given \p depth the volume defined by the surface in local frame. Read more

fn closest_point(&self, other_point: &Vector3D) -> Vector3D[src]

Returns the closest point from the given point \p other_point to the surface.

fn bounding_box(&self) -> BoundingBox3D[src]

Returns the bounding box of this surface object.

fn intersects(&self, ray: &Ray3D) -> bool[src]

Returns true if the given \p ray intersects with this surface object.

fn closest_distance(&self, other_point: &Vector3D) -> f64[src]

Returns the closest distance from the given point \p other_point to the point on the surface. Read more

fn closest_intersection(&self, ray: &Ray3D) -> SurfaceRayIntersection3[src]

Returns the closest intersection point for given \p ray.

fn closest_normal(&self, other_point: &Vector3D) -> Vector3D[src]

Returns the normal to the closest point on the surface from the given point \p other_point. Read more

fn update_query_engine(&self)[src]

Updates internal spatial query engine.

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

Returns true if bounding box can be defined.

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

Returns true if the surface is a valid geometry.

fn is_inside(&self, other_point: &Vector3D) -> bool[src]

Returns true if \p other_point is inside the volume defined by the surface.

Auto Trait Implementations

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Pointable for T

pub const ALIGN: usize

The alignment of pointer.

type Init = T

The type for initializers.

pub unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more

pub unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more

pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more

pub unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

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

pub fn vzip(self) -> V