Struct ncollide3d::shape::Triangle [−][src]
A triangle shape.
Fields
a: Point<N>The triangle first point.
b: Point<N>The triangle second point.
c: Point<N>The triangle third point.
Implementations
impl<N: RealField> Triangle<N>[src]
impl<N: RealField> 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]
use the self.a public field directly.
The fist point of this triangle.
pub fn b(&self) -> &Point<N>[src]
use the self.b public field directly.
The second point of this triangle.
pub fn c(&self) -> &Point<N>[src]
use the self.c public field directly.
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]
&self,
feature: FeatureId,
m: &Isometry<N>,
dir: &Unit<Vector<N>>
) -> bool
Checks that the given direction in world-space is on the tangent cone of the given feature.
Trait Implementations
impl<N: RealField> ConvexPolyhedron<N> for Triangle<N>[src]
impl<N: RealField> ConvexPolyhedron<N> for Triangle<N>[src]fn vertex(&self, id: FeatureId) -> Point<N>[src]
fn edge(&self, id: FeatureId) -> (Point<N>, Point<N>, FeatureId, FeatureId)[src]
fn face(&self, id: FeatureId, face: &mut ConvexPolygonalFeature<N>)[src]
fn feature_normal(&self, _: FeatureId) -> Unit<Vector<N>>[src]
fn support_face_toward(
&self,
m: &Isometry<N>,
dir: &Unit<Vector<N>>,
face: &mut ConvexPolygonalFeature<N>
)[src]
&self,
m: &Isometry<N>,
dir: &Unit<Vector<N>>,
face: &mut ConvexPolygonalFeature<N>
)
fn support_feature_toward(
&self,
transform: &Isometry<N>,
dir: &Unit<Vector<N>>,
eps: N,
out: &mut ConvexPolygonalFeature<N>
)[src]
&self,
transform: &Isometry<N>,
dir: &Unit<Vector<N>>,
eps: N,
out: &mut ConvexPolygonalFeature<N>
)
fn support_feature_id_toward(&self, local_dir: &Unit<Vector<N>>) -> FeatureId[src]
impl<N: RealField> HasBoundingVolume<N, AABB<N>> for Triangle<N>[src]
impl<N: RealField> HasBoundingVolume<N, AABB<N>> for Triangle<N>[src]fn bounding_volume(&self, m: &Isometry<N>) -> AABB<N>[src]
fn local_bounding_volume(&self) -> AABB<N>[src]
impl<N: RealField> HasBoundingVolume<N, BoundingSphere<N>> for Triangle<N>[src]
impl<N: RealField> HasBoundingVolume<N, BoundingSphere<N>> for Triangle<N>[src]fn bounding_volume(&self, m: &Isometry<N>) -> BoundingSphere<N>[src]
fn local_bounding_volume(&self) -> BoundingSphere<N>[src]
impl<N: RealField> PointQuery<N> for Triangle<N>[src]
impl<N: RealField> PointQuery<N> for Triangle<N>[src]fn project_point(
&self,
m: &Isometry<N>,
pt: &Point<N>,
solid: bool
) -> PointProjection<N>[src]
&self,
m: &Isometry<N>,
pt: &Point<N>,
solid: bool
) -> PointProjection<N>
fn project_point_with_feature(
&self,
m: &Isometry<N>,
pt: &Point<N>
) -> (PointProjection<N>, FeatureId)[src]
&self,
m: &Isometry<N>,
pt: &Point<N>
) -> (PointProjection<N>, FeatureId)
fn distance_to_point(&self, m: &Isometry<N>, pt: &Point<N>, solid: bool) -> N[src]
fn contains_point(&self, m: &Isometry<N>, pt: &Point<N>) -> bool[src]
impl<N: RealField> PointQueryWithLocation<N> for Triangle<N>[src]
impl<N: RealField> PointQueryWithLocation<N> for Triangle<N>[src]type Location = TrianglePointLocation<N>
Additional shape-specific projection information Read more
fn project_point_with_location(
&self,
m: &Isometry<N>,
pt: &Point<N>,
solid: bool
) -> (PointProjection<N>, Self::Location)[src]
&self,
m: &Isometry<N>,
pt: &Point<N>,
solid: bool
) -> (PointProjection<N>, Self::Location)
impl<N: RealField> RayCast<N> for Triangle<N>[src]
impl<N: RealField> RayCast<N> for Triangle<N>[src]fn toi_and_normal_with_ray(
&self,
m: &Isometry<N>,
ray: &Ray<N>,
max_toi: N,
_: bool
) -> Option<RayIntersection<N>>[src]
&self,
m: &Isometry<N>,
ray: &Ray<N>,
max_toi: N,
_: bool
) -> Option<RayIntersection<N>>
fn toi_with_ray(
&self,
m: &Isometry<N>,
ray: &Ray<N>,
max_toi: N,
solid: bool
) -> Option<N>[src]
&self,
m: &Isometry<N>,
ray: &Ray<N>,
max_toi: N,
solid: bool
) -> Option<N>
fn toi_and_normal_and_uv_with_ray(
&self,
m: &Isometry<N>,
ray: &Ray<N>,
max_toi: N,
solid: bool
) -> Option<RayIntersection<N>>[src]
&self,
m: &Isometry<N>,
ray: &Ray<N>,
max_toi: N,
solid: bool
) -> Option<RayIntersection<N>>
fn intersects_ray(&self, m: &Isometry<N>, ray: &Ray<N>, max_toi: N) -> bool[src]
impl<N: RealField> Shape<N> for Triangle<N>[src]
impl<N: RealField> Shape<N> for Triangle<N>[src]fn aabb(&self, m: &Isometry<N>) -> AABB<N>[src]
fn local_aabb(&self) -> AABB<N>[src]
fn bounding_sphere(&self, m: &Isometry<N>) -> BoundingSphere<N>[src]
fn as_ray_cast(&self) -> Option<&dyn RayCast<N>>[src]
fn as_point_query(&self) -> Option<&dyn PointQuery<N>>[src]
fn as_support_map(&self) -> Option<&dyn SupportMap<N>>[src]
fn is_support_map(&self) -> bool[src]
fn as_convex_polyhedron(&self) -> Option<&dyn ConvexPolyhedron<N>>[src]
fn is_convex_polyhedron(&self) -> bool[src]
fn tangent_cone_contains_dir(
&self,
feature: FeatureId,
m: &Isometry<N>,
_: Option<&[N]>,
dir: &Unit<Vector<N>>
) -> bool[src]
&self,
feature: FeatureId,
m: &Isometry<N>,
_: Option<&[N]>,
dir: &Unit<Vector<N>>
) -> bool
fn local_bounding_sphere(&self) -> BoundingSphere<N>[src]
fn subshape_containing_feature(&self, _i: FeatureId) -> usize[src]
fn as_composite_shape(&self) -> Option<&dyn CompositeShape<N>>[src]
fn as_deformable_shape(&self) -> Option<&dyn DeformableShape<N>>[src]
fn as_deformable_shape_mut(&mut self) -> Option<&mut dyn DeformableShape<N>>[src]
fn is_composite_shape(&self) -> bool[src]
fn is_deformable_shape(&self) -> bool[src]
impl<N: RealField> SupportMap<N> for Triangle<N>[src]
impl<N: RealField> SupportMap<N> for Triangle<N>[src]fn local_support_point(&self, dir: &Vector<N>) -> Point<N>[src]
fn local_support_point_toward(&self, dir: &Unit<Vector<N>>) -> Point<N>[src]
fn support_point(&self, transform: &Isometry<N>, dir: &Vector<N>) -> Point<N>[src]
fn support_point_toward(
&self,
transform: &Isometry<N>,
dir: &Unit<Vector<N>>
) -> Point<N>[src]
&self,
transform: &Isometry<N>,
dir: &Unit<Vector<N>>
) -> Point<N>
impl<N: RealField> ToTriMesh<N> for Triangle<N>[src]
impl<N: RealField> ToTriMesh<N> for Triangle<N>[src]type DiscretizationParameter = ()
fn to_trimesh(&self, _: ()) -> TriMesh<N>[src]
impl<N: Copy + RealField> Copy for Triangle<N>[src]
impl<N: RealField> StructuralPartialEq for Triangle<N>[src]
Auto Trait Implementations
impl<N> RefUnwindSafe for Triangle<N> where
N: RefUnwindSafe,
N: RefUnwindSafe,
impl<N> Send for Triangle<N>
impl<N> Sync for Triangle<N>
impl<N> Unpin for Triangle<N> where
N: Unpin,
N: Unpin,
impl<N> UnwindSafe for Triangle<N> where
N: UnwindSafe,
N: UnwindSafe,
Blanket Implementations
impl<T> DowncastSync for T where
T: Any + Send + Sync, [src]
impl<T> DowncastSync for T where
T: Any + Send + Sync, [src]impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>, [src]
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>, [src]pub fn to_subset(&self) -> Option<SS>[src]
pub fn is_in_subset(&self) -> bool[src]
pub fn to_subset_unchecked(&self) -> SS[src]
pub fn from_subset(element: &SS) -> SP[src]
impl<T> Slottable for T where
T: Copy, [src]
T: Copy,