[][src]Struct ncollide3d::shape::ConvexHull

pub struct ConvexHull<N: RealField> { /* fields omitted */ }

A convex polyhedron without degenerate faces.


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>>

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.


Retruns None if:

  1. The given solid does not satisfy the euler characteristic.
  2. 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(
    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]

impl<N: RealField> ConvexPolyhedron<N> for ConvexHull<N>[src]

impl<N: Debug + RealField> Debug for ConvexHull<N>[src]

impl<N: RealField> HasBoundingVolume<N, AABB<N>> for ConvexHull<N>[src]

impl<N: RealField> HasBoundingVolume<N, BoundingSphere<N>> for ConvexHull<N>[src]

impl<N: PartialEq + RealField> PartialEq<ConvexHull<N>> for ConvexHull<N>[src]

impl<N: RealField> PointQuery<N> for ConvexHull<N>[src]

impl<N: RealField> RayCast<N> for ConvexHull<N>[src]

impl<N: RealField> Shape<N> for ConvexHull<N>[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

impl<N> Send for ConvexHull<N> where
    N: Scalar

impl<N> Sync for ConvexHull<N> where
    N: Scalar

impl<N> Unpin for ConvexHull<N> where
    N: Scalar + Unpin

impl<N> UnwindSafe for ConvexHull<N> where
    N: Scalar + UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> Downcast for T where
    T: Any

impl<T> DowncastSync for T where
    T: Send + Sync + Any

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    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>, 

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,