[][src]Trait ncollide3d::shape::ConvexPolyhedron

pub trait ConvexPolyhedron<N: RealField>: SupportMap<N> {
    fn vertex(&self, id: FeatureId) -> Point<N>;
fn face(&self, id: FeatureId, face: &mut ConvexPolygonalFeature<N>);
fn edge(&self, id: FeatureId) -> (Point<N>, Point<N>, FeatureId, FeatureId);
fn feature_normal(&self, feature: FeatureId) -> Unit<Vector<N>>;
fn support_face_toward(
        &self,
        transform: &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>
    );
fn support_feature_id_toward(
        &self,
        local_dir: &Unit<Vector<N>>
    ) -> FeatureId; }

Trait implemented by all convex polyhedron.

Required methods

fn vertex(&self, id: FeatureId) -> Point<N>

Gets the specified vertex in the shape local-space.

fn face(&self, id: FeatureId, face: &mut ConvexPolygonalFeature<N>)

Fill face with the geometric description of the specified face, in the shape's local-space.

fn edge(&self, id: FeatureId) -> (Point<N>, Point<N>, FeatureId, FeatureId)

Get the specified edge's vertices (in the shape local-space) and the vertices' identifiers.

fn feature_normal(&self, feature: FeatureId) -> Unit<Vector<N>>

Returns any normal from the normal cone of the given feature.

fn support_face_toward(
    &self,
    transform: &Isometry<N>,
    dir: &Unit<Vector<N>>,
    out: &mut ConvexPolygonalFeature<N>
)

Retrieve the face (in world-space) with a normal that maximizes the scalar product with dir.

fn support_feature_toward(
    &self,
    transform: &Isometry<N>,
    dir: &Unit<Vector<N>>,
    _angle: N,
    out: &mut ConvexPolygonalFeature<N>
)

Retrieve the feature (in world-space) which normal cone contains dir.

fn support_feature_id_toward(&self, local_dir: &Unit<Vector<N>>) -> FeatureId

Retrieve the identifier of the feature which normal cone contains dir.

Loading content...

Implementors

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

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

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

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

Loading content...