[−][src]Struct ncollide3d::shape::ConvexHull
A convex polyhedron without degenerate faces.
Methods
impl<N: RealField> ConvexHull<N>
[src]
pub fn try_from_points(points: &[Point<N>]) -> Option<ConvexHull<N>>
[src]
Creates a new 2D 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 try_new(
points: Vec<Point<N>>,
indices: &[usize]
) -> Option<ConvexHull<N>>
[src]
points: Vec<Point<N>>,
indices: &[usize]
) -> Option<ConvexHull<N>>
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:
- The given solid does not satisfy the euler characteristic.
- The given solid contains degenerate edges/triangles.
pub fn check_geometry(&self)
[src]
Verify if this convex polyhedron is actually convex.
pub fn points(&self) -> &[Point<N>]
[src]
The set of vertices of this convex polyhedron.
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: Clone + RealField> Clone for ConvexHull<N>
[src]
fn clone(&self) -> ConvexHull<N>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<N: RealField> ConvexPolyhedron<N> for ConvexHull<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, out: &mut ConvexPolygonalFeature<N>)
[src]
fn feature_normal(&self, feature: FeatureId) -> Unit<Vector<N>>
[src]
fn support_face_toward(
&self,
m: &Isometry<N>,
dir: &Unit<Vector<N>>,
out: &mut ConvexPolygonalFeature<N>
)
[src]
&self,
m: &Isometry<N>,
dir: &Unit<Vector<N>>,
out: &mut ConvexPolygonalFeature<N>
)
fn support_feature_toward(
&self,
transform: &Isometry<N>,
dir: &Unit<Vector<N>>,
angle: N,
out: &mut ConvexPolygonalFeature<N>
)
[src]
&self,
transform: &Isometry<N>,
dir: &Unit<Vector<N>>,
angle: N,
out: &mut ConvexPolygonalFeature<N>
)
fn support_feature_id_toward(&self, local_dir: &Unit<Vector<N>>) -> FeatureId
[src]
impl<N: Debug + RealField> Debug for ConvexHull<N>
[src]
impl<N: RealField> HasBoundingVolume<N, AABB<N>> for ConvexHull<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 ConvexHull<N>
[src]
fn bounding_volume(&self, m: &Isometry<N>) -> BoundingSphere<N>
[src]
fn local_bounding_volume(&self) -> BoundingSphere<N>
[src]
impl<N: PartialEq + RealField> PartialEq<ConvexHull<N>> for ConvexHull<N>
[src]
fn eq(&self, other: &ConvexHull<N>) -> bool
[src]
fn ne(&self, other: &ConvexHull<N>) -> bool
[src]
impl<N: RealField> PointQuery<N> for ConvexHull<N>
[src]
fn project_point(
&self,
m: &Isometry<N>,
point: &Point<N>,
solid: bool
) -> PointProjection<N>
[src]
&self,
m: &Isometry<N>,
point: &Point<N>,
solid: bool
) -> PointProjection<N>
fn project_point_with_feature(
&self,
m: &Isometry<N>,
point: &Point<N>
) -> (PointProjection<N>, FeatureId)
[src]
&self,
m: &Isometry<N>,
point: &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> RayCast<N> for ConvexHull<N>
[src]
fn toi_and_normal_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 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 ConvexHull<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> StructuralPartialEq for ConvexHull<N>
[src]
impl<N: RealField> SupportMap<N> for ConvexHull<N>
[src]
Auto Trait Implementations
impl<N> RefUnwindSafe for ConvexHull<N> where
N: RefUnwindSafe + Scalar,
N: RefUnwindSafe + Scalar,
impl<N> Send for ConvexHull<N> where
N: Scalar,
N: Scalar,
impl<N> Sync for ConvexHull<N> where
N: Scalar,
N: Scalar,
impl<N> Unpin for ConvexHull<N> where
N: Scalar + Unpin,
N: Scalar + Unpin,
impl<N> UnwindSafe for ConvexHull<N> where
N: Scalar + UnwindSafe,
N: Scalar + UnwindSafe,
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,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Downcast for T where
T: Any,
T: Any,
fn into_any(self: Box<T>) -> Box<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
impl<T> DowncastSync for T where
T: Send + Sync + Any,
T: Send + Sync + Any,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn is_in_subset(&self) -> bool
unsafe fn to_subset_unchecked(&self) -> SS
fn from_subset(element: &SS) -> SP
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
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.
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>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,