Struct ncollide3d::shape::ConvexHull [−][src]
pub struct ConvexHull<N: RealField> { /* fields omitted */ }
A convex polyhedron without degenerate faces.
Implementations
impl<N: RealField> ConvexHull<N>
[src]
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]
impl<N: Clone + RealField> Clone for ConvexHull<N>
[src]fn clone(&self) -> ConvexHull<N>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<N: RealField> ConvexPolyhedron<N> for ConvexHull<N>
[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: Debug + RealField> Debug for ConvexHull<N>
[src]impl<N: RealField> HasBoundingVolume<N, AABB<N>> 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]
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]
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]
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]
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]
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> SupportMap<N> for ConvexHull<N>
[src]
impl<N: RealField> SupportMap<N> for ConvexHull<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> StructuralPartialEq for ConvexHull<N>
[src]
Auto Trait Implementations
impl<N> RefUnwindSafe for ConvexHull<N> where
N: RefUnwindSafe,
N: RefUnwindSafe,
impl<N> Send for ConvexHull<N>
impl<N> Sync for ConvexHull<N>
impl<N> Unpin for ConvexHull<N> where
N: Unpin,
N: Unpin,
impl<N> UnwindSafe for ConvexHull<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]