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]
impl Triangle3
[src]pub fn new_default(
transform: Option<Transform3>,
is_normal_flipped: Option<bool>
) -> 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]
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 get_barycentric_coords(
&self,
pt: &Vector3D,
b0: &mut f64,
b1: &mut f64,
b2: &mut f64
)
[src]
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]
pub fn face_normal(&self) -> Vector3D
[src]Returns the face normal of the triangle.
pub fn set_normals_to_face_normal(&mut self)
[src]
pub fn set_normals_to_face_normal(&mut self)
[src]Set Triangle3::normals to the face normal.
Trait Implementations
impl Surface3 for Triangle3
[src]
impl Surface3 for Triangle3
[src]fn closest_point_local(&self, other_point: &Vector3D) -> Vector3D
[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]
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]
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]
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]
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]
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]
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]
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]
fn bounding_box(&self) -> BoundingBox3D
[src]Returns the bounding box of this surface object.
fn intersects(&self, ray: &Ray3D) -> bool
[src]
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]
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]
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]
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]
fn update_query_engine(&self)
[src]Updates internal spatial query engine.
fn is_bounded(&self) -> bool
[src]
fn is_bounded(&self) -> bool
[src]Returns true if bounding box can be defined.
fn is_valid_geometry(&self) -> bool
[src]
fn is_valid_geometry(&self) -> bool
[src]Returns true if the surface is a valid geometry.
Auto Trait Implementations
impl RefUnwindSafe for Triangle3
impl Send for Triangle3
impl Sync for Triangle3
impl Unpin for Triangle3
impl UnwindSafe for Triangle3
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Pointable for T
impl<T> Pointable for T
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,