Struct parry2d::shape::Triangle [−][src]
A triangle shape.
Fields
a: Point<Real>
The triangle first point.
b: Point<Real>
The triangle second point.
c: Point<Real>
The triangle third point.
Implementations
impl Triangle
[src]
impl Triangle
[src]pub fn bounding_sphere(&self, pos: &Isometry<Real>) -> BoundingSphere
[src]
Computes the world-space bounding sphere of this triangle, transformed by pos
.
pub fn local_bounding_sphere(&self) -> BoundingSphere
[src]
Computes the local-space bounding sphere of this triangle.
impl Triangle
[src]
impl Triangle
[src]pub fn new(a: Point<Real>, b: Point<Real>, c: Point<Real>) -> Triangle
[src]
Creates a triangle from three points.
pub fn from_array(arr: &[Point<Real>; 3]) -> &Triangle
[src]
Creates the reference to a triangle from the reference to an array of three points.
pub fn vertices(&self) -> &[Point<Real>; 3]
[src]
Reference to an array containing the three vertices of this triangle.
pub fn normal(&self) -> Option<Unit<Vector<Real>>>
[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; 3]
[src]
The three edges of this triangle: [AB, BC, CA].
pub fn transformed(&self, m: &Isometry<Real>) -> Self
[src]
Returns a new triangle with vertices transformed by m
.
pub fn edges_scaled_directions(&self) -> [Vector<Real>; 3]
[src]
The three edges scaled directions of this triangle: [B - A, C - B, A - C].
pub fn local_support_edge_segment(&self, dir: Vector<Real>) -> Segment
[src]
Return the edge segment of this cuboid with a normal cone containing
a direction that that maximizes the dot product with local_dir
.
pub fn support_face(&self, dir: Vector<Real>) -> PolygonalFeature
[src]
Return the face of this triangle with a normal that maximizes
the dot product with dir
.
pub fn scaled_normal(&self) -> Vector<Real>
[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<Real>>) -> (Real, Real)
[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 area(&self) -> Real
[src]
The area of this triangle.
pub fn unit_angular_inertia(&self) -> Real
[src]
Computes the unit angular inertia of this triangle.
pub fn center(&self) -> Point<Real>
[src]
The geometric center of this triangle.
pub fn perimeter(&self) -> Real
[src]
The perimeter of this triangle.
pub fn circumcircle(&self) -> (Point<Real>, Real)
[src]
The circumcircle of this triangle.
pub fn contains_point(&self, p: &Point<Real>) -> bool
[src]
Tests if a point is inside of this triangle.
Trait Implementations
impl PointQuery for Triangle
[src]
impl PointQuery for Triangle
[src]fn project_local_point(&self, pt: &Point<Real>, solid: bool) -> PointProjection
[src]
fn project_local_point_and_get_feature(
&self,
pt: &Point<Real>
) -> (PointProjection, FeatureId)
[src]
&self,
pt: &Point<Real>
) -> (PointProjection, FeatureId)
fn distance_to_local_point(&self, pt: &Point<Real>, solid: bool) -> Real
[src]
fn contains_local_point(&self, pt: &Point<Real>) -> bool
[src]
fn project_point(
&self,
m: &Isometry<Real>,
pt: &Point<Real>,
solid: bool
) -> PointProjection
[src]
&self,
m: &Isometry<Real>,
pt: &Point<Real>,
solid: bool
) -> PointProjection
fn distance_to_point(
&self,
m: &Isometry<Real>,
pt: &Point<Real>,
solid: bool
) -> Real
[src]
&self,
m: &Isometry<Real>,
pt: &Point<Real>,
solid: bool
) -> Real
fn project_point_and_get_feature(
&self,
m: &Isometry<Real>,
pt: &Point<Real>
) -> (PointProjection, FeatureId)
[src]
&self,
m: &Isometry<Real>,
pt: &Point<Real>
) -> (PointProjection, FeatureId)
fn contains_point(&self, m: &Isometry<Real>, pt: &Point<Real>) -> bool
[src]
impl PointQueryWithLocation for Triangle
[src]
impl PointQueryWithLocation for Triangle
[src]type Location = TrianglePointLocation
Additional shape-specific projection information Read more
fn project_local_point_and_get_location(
&self,
pt: &Point<Real>,
solid: bool
) -> (PointProjection, Self::Location)
[src]
&self,
pt: &Point<Real>,
solid: bool
) -> (PointProjection, Self::Location)
fn project_point_and_get_location(
&self,
m: &Isometry<Real>,
pt: &Point<Real>,
solid: bool
) -> (PointProjection, Self::Location)
[src]
&self,
m: &Isometry<Real>,
pt: &Point<Real>,
solid: bool
) -> (PointProjection, Self::Location)
impl PolygonalFeatureMap for Triangle
[src]
impl PolygonalFeatureMap for Triangle
[src]fn local_support_feature(
&self,
dir: &Unit<Vector<Real>>,
out_feature: &mut PolygonalFeature
)
[src]
&self,
dir: &Unit<Vector<Real>>,
out_feature: &mut PolygonalFeature
)
impl RayCast for Triangle
[src]
impl RayCast for Triangle
[src]fn cast_local_ray_and_get_normal(
&self,
ray: &Ray,
max_toi: Real,
solid: bool
) -> Option<RayIntersection>
[src]
&self,
ray: &Ray,
max_toi: Real,
solid: bool
) -> Option<RayIntersection>
fn cast_local_ray(&self, ray: &Ray, max_toi: Real, solid: bool) -> Option<Real>
[src]
fn intersects_local_ray(&self, ray: &Ray, max_toi: Real) -> bool
[src]
fn cast_ray(
&self,
m: &Isometry<Real>,
ray: &Ray,
max_toi: Real,
solid: bool
) -> Option<Real>
[src]
&self,
m: &Isometry<Real>,
ray: &Ray,
max_toi: Real,
solid: bool
) -> Option<Real>
fn cast_ray_and_get_normal(
&self,
m: &Isometry<Real>,
ray: &Ray,
max_toi: Real,
solid: bool
) -> Option<RayIntersection>
[src]
&self,
m: &Isometry<Real>,
ray: &Ray,
max_toi: Real,
solid: bool
) -> Option<RayIntersection>
fn intersects_ray(&self, m: &Isometry<Real>, ray: &Ray, max_toi: Real) -> bool
[src]
impl Shape for Triangle
[src]
impl Shape for Triangle
[src]fn clone_box(&self) -> Box<dyn Shape>
[src]
fn compute_local_aabb(&self) -> AABB
[src]
fn compute_local_bounding_sphere(&self) -> BoundingSphere
[src]
fn compute_aabb(&self, position: &Isometry<Real>) -> AABB
[src]
fn mass_properties(&self, _density: Real) -> MassProperties
[src]
fn is_convex(&self) -> bool
[src]
fn shape_type(&self) -> ShapeType
[src]
fn as_typed_shape(&self) -> TypedShape<'_>
[src]
fn ccd_thickness(&self) -> Real
[src]
fn ccd_angular_thickness(&self) -> Real
[src]
fn as_support_map(&self) -> Option<&dyn SupportMap>
[src]
fn as_polygonal_feature_map(&self) -> Option<(&dyn PolygonalFeatureMap, Real)>
[src]
fn compute_bounding_sphere(&self, position: &Isometry<Real>) -> BoundingSphere
[src]
fn as_composite_shape(&self) -> Option<&dyn SimdCompositeShape>
[src]
fn feature_normal_at_point(
&self,
_feature: FeatureId,
_point: &Point<Real>
) -> Option<Unit<Vector<Real>>>
[src]
&self,
_feature: FeatureId,
_point: &Point<Real>
) -> Option<Unit<Vector<Real>>>
fn compute_swept_aabb(
&self,
start_pos: &Isometry<Real>,
end_pos: &Isometry<Real>
) -> AABB
[src]
&self,
start_pos: &Isometry<Real>,
end_pos: &Isometry<Real>
) -> AABB
impl StructuralPartialEq for Triangle
[src]
impl StructuralPartialEq for Triangle
[src]impl SupportMap for Triangle
[src]
impl SupportMap for Triangle
[src]fn local_support_point(&self, dir: &Vector<Real>) -> Point<Real>
[src]
fn local_support_point_toward(&self, dir: &Unit<Vector<Real>>) -> Point<Real>
[src]
fn support_point(
&self,
transform: &Isometry<Real>,
dir: &Vector<Real>
) -> Point<Real>
[src]
&self,
transform: &Isometry<Real>,
dir: &Vector<Real>
) -> Point<Real>
fn support_point_toward(
&self,
transform: &Isometry<Real>,
dir: &Unit<Vector<Real>>
) -> Point<Real>
[src]
&self,
transform: &Isometry<Real>,
dir: &Unit<Vector<Real>>
) -> Point<Real>
Auto Trait Implementations
impl RefUnwindSafe for Triangle
impl RefUnwindSafe for Triangle
impl UnwindSafe for Triangle
impl UnwindSafe for Triangle
Blanket Implementations
impl<T> CheckedAs for T
[src]
impl<T> CheckedAs for T
[src]pub fn checked_as<Dst>(self) -> Option<Dst> where
T: CheckedCast<Dst>,
[src]
T: CheckedCast<Dst>,
impl<T> DowncastSync for T where
T: Any + Send + Sync,
[src]
impl<T> DowncastSync for T where
T: Any + Send + Sync,
[src]impl<Src, Dst> LosslessTryInto<Dst> for Src where
Dst: LosslessTryFrom<Src>,
[src]
impl<Src, Dst> LosslessTryInto<Dst> for Src where
Dst: LosslessTryFrom<Src>,
[src]pub fn lossless_try_into(self) -> Option<Dst>
[src]
impl<Src, Dst> LossyInto<Dst> for Src where
Dst: LossyFrom<Src>,
[src]
impl<Src, Dst> LossyInto<Dst> for Src where
Dst: LossyFrom<Src>,
[src]pub fn lossy_into(self) -> Dst
[src]
impl<T> OverflowingAs for T
[src]
impl<T> OverflowingAs for T
[src]pub fn overflowing_as<Dst>(self) -> (Dst, bool) where
T: OverflowingCast<Dst>,
[src]
T: OverflowingCast<Dst>,
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> SaturatingAs for T
[src]
impl<T> SaturatingAs for T
[src]pub fn saturating_as<Dst>(self) -> Dst where
T: SaturatingCast<Dst>,
[src]
T: SaturatingCast<Dst>,
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> UnwrappedAs for T
[src]
impl<T> UnwrappedAs for T
[src]pub fn unwrapped_as<Dst>(self) -> Dst where
T: UnwrappedCast<Dst>,
[src]
T: UnwrappedCast<Dst>,
impl<T> WrappingAs for T
[src]
impl<T> WrappingAs for T
[src]pub fn wrapping_as<Dst>(self) -> Dst where
T: WrappingCast<Dst>,
[src]
T: WrappingCast<Dst>,