Trait ncollide3d::shape::ConvexPolyhedron [−][src]
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>
[src]
Gets the specified vertex in the shape local-space.
fn face(&self, id: FeatureId, face: &mut ConvexPolygonalFeature<N>)
[src]
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)
[src]
Get the specified edge’s vertices (in the shape local-space) and the vertices’ identifiers.
fn feature_normal(&self, feature: FeatureId) -> Unit<Vector<N>>
[src]
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>
)
[src]
&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>
)
[src]
&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
[src]
Retrieve the identifier of the feature which normal cone contains dir
.
Implementors
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: RealField> ConvexPolyhedron<N> for Cuboid<N>
[src]
impl<N: RealField> ConvexPolyhedron<N> for Cuboid<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 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,
m: &Isometry<N>,
dir: &Unit<Vector<N>>,
angle: N,
out: &mut ConvexPolygonalFeature<N>
)
[src]
&self,
m: &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]
fn feature_normal(&self, feature: FeatureId) -> Unit<Vector<N>>
[src]
impl<N: RealField> ConvexPolyhedron<N> for Segment<N>
[src]
impl<N: RealField> ConvexPolyhedron<N> for Segment<N>
[src]fn vertex(&self, id: FeatureId) -> Point<N>
[src]
fn edge(&self, _: FeatureId) -> (Point<N>, Point<N>, FeatureId, FeatureId)
[src]
fn face(&self, _: FeatureId, _: &mut ConvexPolygonalFeature<N>)
[src]
fn feature_normal(&self, feature: FeatureId) -> Unit<Vector<N>>
[src]
fn support_face_toward(
&self,
m: &Isometry<N>,
_: &Unit<Vector<N>>,
face: &mut ConvexPolygonalFeature<N>
)
[src]
&self,
m: &Isometry<N>,
_: &Unit<Vector<N>>,
face: &mut ConvexPolygonalFeature<N>
)
fn support_feature_toward(
&self,
transform: &Isometry<N>,
dir: &Unit<Vector<N>>,
eps: N,
face: &mut ConvexPolygonalFeature<N>
)
[src]
&self,
transform: &Isometry<N>,
dir: &Unit<Vector<N>>,
eps: N,
face: &mut ConvexPolygonalFeature<N>
)
fn support_feature_id_toward(&self, local_dir: &Unit<Vector<N>>) -> FeatureId
[src]
impl<N: RealField> ConvexPolyhedron<N> for Triangle<N>
[src]
impl<N: RealField> ConvexPolyhedron<N> for Triangle<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, face: &mut ConvexPolygonalFeature<N>)
[src]
fn feature_normal(&self, _: FeatureId) -> Unit<Vector<N>>
[src]
fn support_face_toward(
&self,
m: &Isometry<N>,
dir: &Unit<Vector<N>>,
face: &mut ConvexPolygonalFeature<N>
)
[src]
&self,
m: &Isometry<N>,
dir: &Unit<Vector<N>>,
face: &mut ConvexPolygonalFeature<N>
)
fn support_feature_toward(
&self,
transform: &Isometry<N>,
dir: &Unit<Vector<N>>,
eps: N,
out: &mut ConvexPolygonalFeature<N>
)
[src]
&self,
transform: &Isometry<N>,
dir: &Unit<Vector<N>>,
eps: N,
out: &mut ConvexPolygonalFeature<N>
)