Struct rapier3d::geometry::ConvexPolyhedron [−][src]
A convex polyhedron without degenerate faces.
Implementations
impl ConvexPolyhedron
[src]
pub fn aabb(&self, pos: &Isometry<f32, U3, Unit<Quaternion<f32>>>) -> AABB
[src]
Computes the world-space AABB of this convex polyhedron, transformed by pos
.
pub fn local_aabb(&self) -> AABB
[src]
Computes the local-space AABB of this convex polyhedron.
impl ConvexPolyhedron
[src]
pub fn bounding_sphere(
&self,
pos: &Isometry<f32, U3, Unit<Quaternion<f32>>>
) -> BoundingSphere
[src]
&self,
pos: &Isometry<f32, U3, Unit<Quaternion<f32>>>
) -> BoundingSphere
Computes the world-space bounding sphere of this convex polyhedron, transformed by pos
.
pub fn local_bounding_sphere(&self) -> BoundingSphere
[src]
Computes the local-space bounding sphere of this convex polyhedron.
impl ConvexPolyhedron
[src]
pub fn from_convex_hull(points: &[Point<f32, U3>]) -> Option<ConvexPolyhedron>
[src]
Creates a new convex polyhedron from an arbitrary set of points.
This explicitly computes the convex hull of the given set of points. Use
Returns None
if the convex hull computation failed.
pub fn from_convex_mesh(
points: Vec<Point<f32, U3>, Global>,
indices: &[[u32; 3]]
) -> Option<ConvexPolyhedron>
[src]
points: Vec<Point<f32, U3>, Global>,
indices: &[[u32; 3]]
) -> Option<ConvexPolyhedron>
Attempts to create a new solid assumed to be convex from the set of points and indices.
The given points and index information are assumed to describe a convex polyhedron. It it is not, weird results may be produced.
Return
Retruns None
if he given solid is not manifold (contains t-junctions, not closed, etc.)
pub fn check_geometry(&self)
[src]
Verify if this convex polyhedron is actually convex.
pub fn points(&self) -> &[Point<f32, U3>]
[src]
The set of vertices of this convex polyhedron.
pub fn vertices(&self) -> &[Vertex]
[src]
The topology of the vertices of this convex polyhedron.
pub fn edges(&self) -> &[Edge]
[src]
The topology of the edges of this convex polyhedron.
pub fn faces(&self) -> &[Face]
[src]
The topology of the faces of this convex polyhedron.
pub fn vertices_adj_to_face(&self) -> &[u32]
[src]
The array containing the indices of the vertices adjacent to each face.
pub fn edges_adj_to_face(&self) -> &[u32]
[src]
The array containing the indices of the edges adjacent to each face.
pub fn faces_adj_to_vertex(&self) -> &[u32]
[src]
The array containing the indices of the faces adjacent to each vertex.
pub fn support_feature_id_toward(
&self,
local_dir: &Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>
) -> FeatureId
[src]
&self,
local_dir: &Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>
) -> FeatureId
Computes the ID of the features with a normal that maximize the dot-product with local_dir
.
impl ConvexPolyhedron
[src]
pub fn to_trimesh(&self) -> (Vec<Point<f32, U3>, Global>, Vec<[u32; 3], Global>)
[src]
Discretize the boundary of this convex polyhedron as a triangle-mesh.
Trait Implementations
impl Clone for ConvexPolyhedron
[src]
pub fn clone(&self) -> ConvexPolyhedron
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for ConvexPolyhedron
[src]
impl PartialEq<ConvexPolyhedron> for ConvexPolyhedron
[src]
pub fn eq(&self, other: &ConvexPolyhedron) -> bool
[src]
pub fn ne(&self, other: &ConvexPolyhedron) -> bool
[src]
impl PointQuery for ConvexPolyhedron
[src]
pub fn project_local_point(
&self,
point: &Point<f32, U3>,
solid: bool
) -> PointProjection
[src]
&self,
point: &Point<f32, U3>,
solid: bool
) -> PointProjection
pub fn project_local_point_and_get_feature(
&self,
point: &Point<f32, U3>
) -> (PointProjection, FeatureId)
[src]
&self,
point: &Point<f32, U3>
) -> (PointProjection, FeatureId)
pub fn distance_to_local_point(&self, pt: &Point<f32, U3>, solid: bool) -> f32
[src]
pub fn contains_local_point(&self, pt: &Point<f32, U3>) -> bool
[src]
pub fn project_point(
&self,
m: &Isometry<f32, U3, Unit<Quaternion<f32>>>,
pt: &Point<f32, U3>,
solid: bool
) -> PointProjection
[src]
&self,
m: &Isometry<f32, U3, Unit<Quaternion<f32>>>,
pt: &Point<f32, U3>,
solid: bool
) -> PointProjection
pub fn distance_to_point(
&self,
m: &Isometry<f32, U3, Unit<Quaternion<f32>>>,
pt: &Point<f32, U3>,
solid: bool
) -> f32
[src]
&self,
m: &Isometry<f32, U3, Unit<Quaternion<f32>>>,
pt: &Point<f32, U3>,
solid: bool
) -> f32
pub fn project_point_and_get_feature(
&self,
m: &Isometry<f32, U3, Unit<Quaternion<f32>>>,
pt: &Point<f32, U3>
) -> (PointProjection, FeatureId)
[src]
&self,
m: &Isometry<f32, U3, Unit<Quaternion<f32>>>,
pt: &Point<f32, U3>
) -> (PointProjection, FeatureId)
pub fn contains_point(
&self,
m: &Isometry<f32, U3, Unit<Quaternion<f32>>>,
pt: &Point<f32, U3>
) -> bool
[src]
&self,
m: &Isometry<f32, U3, Unit<Quaternion<f32>>>,
pt: &Point<f32, U3>
) -> bool
impl PolygonalFeatureMap for ConvexPolyhedron
[src]
pub fn local_support_feature(
&self,
dir: &Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>,
out_feature: &mut PolygonalFeature
)
[src]
&self,
dir: &Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>,
out_feature: &mut PolygonalFeature
)
impl RayCast for ConvexPolyhedron
[src]
pub fn cast_local_ray_and_get_normal(
&self,
ray: &Ray,
max_toi: f32,
solid: bool
) -> Option<RayIntersection>
[src]
&self,
ray: &Ray,
max_toi: f32,
solid: bool
) -> Option<RayIntersection>
pub fn cast_local_ray(
&self,
ray: &Ray,
max_toi: f32,
solid: bool
) -> Option<f32>
[src]
&self,
ray: &Ray,
max_toi: f32,
solid: bool
) -> Option<f32>
pub fn intersects_local_ray(&self, ray: &Ray, max_toi: f32) -> bool
[src]
pub fn cast_ray(
&self,
m: &Isometry<f32, U3, Unit<Quaternion<f32>>>,
ray: &Ray,
max_toi: f32,
solid: bool
) -> Option<f32>
[src]
&self,
m: &Isometry<f32, U3, Unit<Quaternion<f32>>>,
ray: &Ray,
max_toi: f32,
solid: bool
) -> Option<f32>
pub fn cast_ray_and_get_normal(
&self,
m: &Isometry<f32, U3, Unit<Quaternion<f32>>>,
ray: &Ray,
max_toi: f32,
solid: bool
) -> Option<RayIntersection>
[src]
&self,
m: &Isometry<f32, U3, Unit<Quaternion<f32>>>,
ray: &Ray,
max_toi: f32,
solid: bool
) -> Option<RayIntersection>
pub fn intersects_ray(
&self,
m: &Isometry<f32, U3, Unit<Quaternion<f32>>>,
ray: &Ray,
max_toi: f32
) -> bool
[src]
&self,
m: &Isometry<f32, U3, Unit<Quaternion<f32>>>,
ray: &Ray,
max_toi: f32
) -> bool
impl Shape for ConvexPolyhedron
[src]
pub fn clone_box(&self) -> Box<dyn Shape + 'static, Global>
[src]
pub fn compute_local_aabb(&self) -> AABB
[src]
pub fn compute_local_bounding_sphere(&self) -> BoundingSphere
[src]
pub fn compute_aabb(
&self,
position: &Isometry<f32, U3, Unit<Quaternion<f32>>>
) -> AABB
[src]
&self,
position: &Isometry<f32, U3, Unit<Quaternion<f32>>>
) -> AABB
pub fn mass_properties(&self, density: f32) -> MassProperties
[src]
pub fn is_convex(&self) -> bool
[src]
pub fn shape_type(&self) -> ShapeType
[src]
pub fn as_typed_shape(&self) -> TypedShape<'_>
[src]
pub fn ccd_thickness(&self) -> f32
[src]
pub fn ccd_angular_thickness(&self) -> f32
[src]
pub fn as_support_map(&self) -> Option<&dyn SupportMap>
[src]
pub fn as_polygonal_feature_map(
&self
) -> Option<(&dyn PolygonalFeatureMap, f32)>
[src]
&self
) -> Option<(&dyn PolygonalFeatureMap, f32)>
pub fn compute_bounding_sphere(
&self,
position: &Isometry<f32, U3, Unit<Quaternion<f32>>>
) -> BoundingSphere
[src]
&self,
position: &Isometry<f32, U3, Unit<Quaternion<f32>>>
) -> BoundingSphere
pub fn as_composite_shape(&self) -> Option<&dyn SimdCompositeShape>
[src]
pub fn feature_normal_at_point(
&self,
_feature: FeatureId,
_point: &Point<f32, U3>
) -> Option<Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>>
[src]
&self,
_feature: FeatureId,
_point: &Point<f32, U3>
) -> Option<Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>>
impl StructuralPartialEq for ConvexPolyhedron
[src]
impl SupportMap for ConvexPolyhedron
[src]
pub fn local_support_point(
&self,
dir: &Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>
) -> Point<f32, U3>
[src]
&self,
dir: &Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>
) -> Point<f32, U3>
pub fn local_support_point_toward(
&self,
dir: &Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>
) -> Point<f32, U3>
[src]
&self,
dir: &Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>
) -> Point<f32, U3>
pub fn support_point(
&self,
transform: &Isometry<f32, U3, Unit<Quaternion<f32>>>,
dir: &Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>
) -> Point<f32, U3>
[src]
&self,
transform: &Isometry<f32, U3, Unit<Quaternion<f32>>>,
dir: &Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>
) -> Point<f32, U3>
pub fn support_point_toward(
&self,
transform: &Isometry<f32, U3, Unit<Quaternion<f32>>>,
dir: &Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>
) -> Point<f32, U3>
[src]
&self,
transform: &Isometry<f32, U3, Unit<Quaternion<f32>>>,
dir: &Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>
) -> Point<f32, U3>
Auto Trait Implementations
impl RefUnwindSafe for ConvexPolyhedron
impl Send for ConvexPolyhedron
impl Sync for ConvexPolyhedron
impl Unpin for ConvexPolyhedron
impl UnwindSafe for ConvexPolyhedron
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Downcast for T where
T: Any,
[src]
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
[src]
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
[src]
pub fn as_any(&self) -> &(dyn Any + 'static)
[src]
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
[src]
impl<T> DowncastSync for T where
T: Any + Send + Sync,
[src]
T: Any + Send + Sync,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]
SS: SubsetOf<SP>,
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> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
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]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,