Struct ncollide2d::shape::Polyline
source · [−]Expand description
A polygonal line.
Implementations
sourceimpl<N: RealField + Copy> Polyline<N>
impl<N: RealField + Copy> Polyline<N>
sourcepub fn new(
points: Vec<Point<N>>,
indices: Option<Vec<Point2<usize>>>
) -> Polyline<N>
pub fn new(
points: Vec<Point<N>>,
indices: Option<Vec<Point2<usize>>>
) -> Polyline<N>
Builds a new polyline.
sourcepub fn oriented(&self) -> bool
pub fn oriented(&self) -> bool
Whether this polyline is considered is oriented or not.
By default a polyline is not oriented.
sourcepub fn set_oriented(&mut self, oriented: bool)
pub fn set_oriented(&mut self, oriented: bool)
Whether this polyline is considered as oriented or not.
This is determined at the initialization of the polyline.
sourcepub fn edge_containing_feature(&self, id: FeatureId) -> usize
pub fn edge_containing_feature(&self, id: FeatureId) -> usize
Face containing feature.
sourcepub fn segment_feature_to_polyline_feature(
&self,
edge_id: usize,
feature: FeatureId
) -> FeatureId
pub fn segment_feature_to_polyline_feature(
&self,
edge_id: usize,
feature: FeatureId
) -> FeatureId
Converts a segment FeatureId to a polyline FeatureId.
sourcepub fn edge_segment(&self, i: usize) -> Segment<N>
pub fn edge_segment(&self, i: usize) -> Segment<N>
The segment of the i
-th edge on this polyline.
sourcepub fn segment_at(&self, i: usize) -> Segment<N>
pub fn segment_at(&self, i: usize) -> Segment<N>
Gets the i-th polyline element.
sourcepub fn vertex_tangent_cone_contains_dir(
&self,
i: usize,
deformations: Option<&[N]>,
dir: &Unit<Vector<N>>
) -> bool
pub fn vertex_tangent_cone_contains_dir(
&self,
i: usize,
deformations: Option<&[N]>,
dir: &Unit<Vector<N>>
) -> bool
Tests that the given dir
is on the tangent cone of the i
th vertex
of this polyline.
sourcepub fn transform_by(&mut self, transform: &Isometry<N>)
pub fn transform_by(&mut self, transform: &Isometry<N>)
Applies in-place a transformation to this polyline.
sourcepub fn transformed(self, t: &Isometry<N>) -> Self
pub fn transformed(self, t: &Isometry<N>) -> Self
Applies a transformation to this polyline.
sourcepub fn scale_by(&mut self, scale: &Vector<N>)
pub fn scale_by(&mut self, scale: &Vector<N>)
Applies in-place a non-uniform scale to this polyline.
sourcepub fn is_backface(&self, feature: FeatureId) -> bool
pub fn is_backface(&self, feature: FeatureId) -> bool
Returns true
if the given feature is a FeatureId::Face and
identifies a backface of this polyline.
sourcepub fn vertex_tangent_cone_polar_contains_dir(
&self,
i: usize,
dir: &Unit<Vector<N>>,
sin_ang_tol: N
) -> bool
pub fn vertex_tangent_cone_polar_contains_dir(
&self,
i: usize,
dir: &Unit<Vector<N>>,
sin_ang_tol: N
) -> bool
Tests that the given dir
is on the polar of the tangent cone of the i
th vertex
of this polyline.
sourcepub fn edge_tangent_cone_contains_dir(
&self,
i: usize,
deformations: Option<&[N]>,
dir: &Unit<Vector<N>>
) -> bool
pub fn edge_tangent_cone_contains_dir(
&self,
i: usize,
deformations: Option<&[N]>,
dir: &Unit<Vector<N>>
) -> bool
Tests that the given dir
is on the tangent cone of the i
th edge
of this polyline.
sourcepub fn edge_tangent_cone_polar_contains_dir(
&self,
i: usize,
dir: &Unit<Vector<N>>,
cos_ang_tol: N
) -> bool
pub fn edge_tangent_cone_polar_contains_dir(
&self,
i: usize,
dir: &Unit<Vector<N>>,
cos_ang_tol: N
) -> bool
Tests whether the polar of the tangent cone of the i-th edge of this polyline
contains the direction dir
considering the cosinus of an angular tolerance cos_ang_tol
.
sourcepub fn tangent_cone_polar_contains_dir(
&self,
_feature: FeatureId,
_dir: &Unit<Vector<N>>,
_sin_ang_tol: N,
_cos_ang_tol: N
) -> bool
pub fn tangent_cone_polar_contains_dir(
&self,
_feature: FeatureId,
_dir: &Unit<Vector<N>>,
_sin_ang_tol: N,
_cos_ang_tol: N
) -> bool
(Not yet implemented) Tests whether the polar of the tangent cone of the specified feature of
this polyline contains the direction dir
considering the sinus and cosinus of an angular tolerance.
Trait Implementations
sourceimpl<N: RealField + Copy> CompositeShape<N> for Polyline<N>
impl<N: RealField + Copy> CompositeShape<N> for Polyline<N>
sourcefn map_part_at(
&self,
i: usize,
m: &Isometry<N>,
f: &mut dyn FnMut(&Isometry<N>, &dyn Shape<N>)
)
fn map_part_at(
&self,
i: usize,
m: &Isometry<N>,
f: &mut dyn FnMut(&Isometry<N>, &dyn Shape<N>)
)
Applies a transformation matrix and a function to each sub-shape of this concave shape. Read more
sourcefn map_part_and_preprocessor_at(
&self,
i: usize,
m: &Isometry<N>,
prediction: &ContactPrediction<N>,
f: &mut dyn FnMut(&Isometry<N>, &dyn Shape<N>, &dyn ContactPreprocessor<N>)
)
fn map_part_and_preprocessor_at(
&self,
i: usize,
m: &Isometry<N>,
prediction: &ContactPrediction<N>,
f: &mut dyn FnMut(&Isometry<N>, &dyn Shape<N>, &dyn ContactPreprocessor<N>)
)
Applies a transformation matrix and a function to each sub-shape of this concave shape. Read more
sourceimpl<N: RealField + Copy> DeformableShape<N> for Polyline<N>
impl<N: RealField + Copy> DeformableShape<N> for Polyline<N>
sourcefn set_deformations(&mut self, coords: &[N])
fn set_deformations(&mut self, coords: &[N])
Updates all the degrees of freedom of this shape.
sourcefn deformations_type(&self) -> DeformationsType
fn deformations_type(&self) -> DeformationsType
The type of degrees of freedom this shape has.
sourcefn update_local_approximation(
&self,
coords: &[N],
approx: &mut LocalShapeApproximation<N>
)
fn update_local_approximation(
&self,
coords: &[N],
approx: &mut LocalShapeApproximation<N>
)
Updates the given local approximation of this shape.
sourceimpl<N: RealField + Copy> HasBoundingVolume<N, AABB<N>> for Polyline<N>
impl<N: RealField + Copy> HasBoundingVolume<N, AABB<N>> for Polyline<N>
sourcefn bounding_volume(&self, m: &Isometry<N>) -> AABB<N>
fn bounding_volume(&self, m: &Isometry<N>) -> AABB<N>
The bounding volume of self
transformed by m
.
sourcefn local_bounding_volume(&self) -> AABB<N>
fn local_bounding_volume(&self) -> AABB<N>
The bounding volume of self
.
sourceimpl<N: RealField + Copy> HasBoundingVolume<N, BoundingSphere<N>> for Polyline<N>
impl<N: RealField + Copy> HasBoundingVolume<N, BoundingSphere<N>> for Polyline<N>
sourcefn bounding_volume(&self, m: &Isometry<N>) -> BoundingSphere<N>
fn bounding_volume(&self, m: &Isometry<N>) -> BoundingSphere<N>
The bounding volume of self
transformed by m
.
sourcefn local_bounding_volume(&self) -> BoundingSphere<N>
fn local_bounding_volume(&self) -> BoundingSphere<N>
The bounding volume of self
.
sourceimpl<N: RealField + Copy> PointQuery<N> for Polyline<N>
impl<N: RealField + Copy> PointQuery<N> for Polyline<N>
sourcefn project_point(
&self,
m: &Isometry<N>,
point: &Point<N>,
solid: bool
) -> PointProjection<N>
fn project_point(
&self,
m: &Isometry<N>,
point: &Point<N>,
solid: bool
) -> PointProjection<N>
Projects a point on self
transformed by m
.
sourcefn project_point_with_feature(
&self,
m: &Isometry<N>,
point: &Point<N>
) -> (PointProjection<N>, FeatureId)
fn project_point_with_feature(
&self,
m: &Isometry<N>,
point: &Point<N>
) -> (PointProjection<N>, FeatureId)
Projects a point on the boundary of self
transformed by m
and retuns the id of the
feature the point was projected on. Read more
sourcefn contains_point(&self, m: &Isometry<N>, point: &Point<N>) -> bool
fn contains_point(&self, m: &Isometry<N>, point: &Point<N>) -> bool
Tests if the given point is inside of self
transformed by m
.
sourcefn distance_to_point(&self, m: &Isometry<N>, pt: &Point<N>, solid: bool) -> N
fn distance_to_point(&self, m: &Isometry<N>, pt: &Point<N>, solid: bool) -> N
Computes the minimal distance between a point and self
transformed by m
.
sourceimpl<N: RealField + Copy> PointQueryWithLocation<N> for Polyline<N>
impl<N: RealField + Copy> PointQueryWithLocation<N> for Polyline<N>
type Location = (usize, SegmentPointLocation<N>)
type Location = (usize, SegmentPointLocation<N>)
Additional shape-specific projection information Read more
sourcefn project_point_with_location(
&self,
m: &Isometry<N>,
point: &Point<N>,
_: bool
) -> (PointProjection<N>, Self::Location)
fn project_point_with_location(
&self,
m: &Isometry<N>,
point: &Point<N>,
_: bool
) -> (PointProjection<N>, Self::Location)
Projects a point on self
transformed by m
.
sourceimpl<N: RealField + Copy> RayCast<N> for Polyline<N>
impl<N: RealField + Copy> RayCast<N> for Polyline<N>
sourcefn toi_with_ray(
&self,
m: &Isometry<N>,
ray: &Ray<N>,
max_toi: N,
_: bool
) -> Option<N>
fn toi_with_ray(
&self,
m: &Isometry<N>,
ray: &Ray<N>,
max_toi: N,
_: bool
) -> Option<N>
Computes the time of impact between this transform shape and a ray.
sourcefn toi_and_normal_with_ray(
&self,
m: &Isometry<N>,
ray: &Ray<N>,
max_toi: N,
_: bool
) -> Option<RayIntersection<N>>
fn toi_and_normal_with_ray(
&self,
m: &Isometry<N>,
ray: &Ray<N>,
max_toi: N,
_: bool
) -> Option<RayIntersection<N>>
Computes the time of impact, and normal between this transformed shape and a ray.
sourcefn intersects_ray(&self, m: &Isometry<N>, ray: &Ray<N>, max_toi: N) -> bool
fn intersects_ray(&self, m: &Isometry<N>, ray: &Ray<N>, max_toi: N) -> bool
Tests whether a ray intersects this transformed shape.
sourceimpl<N: RealField + Copy> Shape<N> for Polyline<N>
impl<N: RealField + Copy> Shape<N> for Polyline<N>
sourcefn local_aabb(&self) -> AABB<N>
fn local_aabb(&self) -> AABB<N>
The AABB of self
.
sourcefn bounding_sphere(&self, m: &Isometry<N>) -> BoundingSphere<N>
fn bounding_sphere(&self, m: &Isometry<N>) -> BoundingSphere<N>
The bounding sphere of self
transformed by m
.
sourcefn as_ray_cast(&self) -> Option<&dyn RayCast<N>>
fn as_ray_cast(&self) -> Option<&dyn RayCast<N>>
The RayCast
implementation of self
.
sourcefn as_point_query(&self) -> Option<&dyn PointQuery<N>>
fn as_point_query(&self) -> Option<&dyn PointQuery<N>>
The PointQuery
implementation of self
.
sourcefn as_composite_shape(&self) -> Option<&dyn CompositeShape<N>>
fn as_composite_shape(&self) -> Option<&dyn CompositeShape<N>>
The composite shape representation of self
if applicable.
sourcefn is_composite_shape(&self) -> bool
fn is_composite_shape(&self) -> bool
Whether self
uses a composite shape-based representation.
sourcefn as_deformable_shape(&self) -> Option<&dyn DeformableShape<N>>
fn as_deformable_shape(&self) -> Option<&dyn DeformableShape<N>>
The deformable shape representation of self
if applicable.
sourcefn as_deformable_shape_mut(&mut self) -> Option<&mut dyn DeformableShape<N>>
fn as_deformable_shape_mut(&mut self) -> Option<&mut dyn DeformableShape<N>>
The mutable deformable shape representation of self
if applicable.
sourcefn is_deformable_shape(&self) -> bool
fn is_deformable_shape(&self) -> bool
Whether self
uses a composite shape-based representation.
sourcefn tangent_cone_contains_dir(
&self,
_feature: FeatureId,
_m: &Isometry<N>,
_deformations: Option<&[N]>,
_dir: &Unit<Vector<N>>
) -> bool
fn tangent_cone_contains_dir(
&self,
_feature: FeatureId,
_m: &Isometry<N>,
_deformations: Option<&[N]>,
_dir: &Unit<Vector<N>>
) -> bool
Check if if the feature _feature
of the i-th
subshape of self
transformed by m
has a tangent
cone that contains dir
at the point pt
. Read more
sourcefn subshape_containing_feature(&self, id: FeatureId) -> usize
fn subshape_containing_feature(&self, id: FeatureId) -> usize
Returns the id of the subshape containing the specified feature. Read more
sourcefn local_bounding_sphere(&self) -> BoundingSphere<N>
fn local_bounding_sphere(&self) -> BoundingSphere<N>
The bounding sphere of self
.
sourcefn as_convex_polyhedron(&self) -> Option<&dyn ConvexPolyhedron<N>>
fn as_convex_polyhedron(&self) -> Option<&dyn ConvexPolyhedron<N>>
The convex polyhedron representation of self
if applicable.
sourcefn as_support_map(&self) -> Option<&dyn SupportMap<N>>
fn as_support_map(&self) -> Option<&dyn SupportMap<N>>
The support mapping of self
if applicable.
sourcefn is_convex_polyhedron(&self) -> bool
fn is_convex_polyhedron(&self) -> bool
Whether self
uses a convex polyhedron representation.
sourcefn is_support_map(&self) -> bool
fn is_support_map(&self) -> bool
Whether self
uses a support-mapping based representation.
Auto Trait Implementations
impl<N> RefUnwindSafe for Polyline<N> where
N: RefUnwindSafe,
impl<N> Send for Polyline<N>
impl<N> Sync for Polyline<N>
impl<N> Unpin for Polyline<N> where
N: Unpin,
impl<N> UnwindSafe for Polyline<N> where
N: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> CheckedAs for T
impl<T> CheckedAs for T
sourcefn checked_as<Dst>(self) -> Option<Dst> where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst> where
T: CheckedCast<Dst>,
Casts the value.
sourceimpl<Src, Dst> CheckedCastFrom<Src> for Dst where
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dst where
Src: CheckedCast<Dst>,
sourcefn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
sourceimpl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
sourcefn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
sourcefn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
sourcefn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
sourcefn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
sourceimpl<T> DowncastSync for T where
T: Any + Send + Sync,
impl<T> DowncastSync for T where
T: Any + Send + Sync,
sourceimpl<Src, Dst> LosslessTryInto<Dst> for Src where
Dst: LosslessTryFrom<Src>,
impl<Src, Dst> LosslessTryInto<Dst> for Src where
Dst: LosslessTryFrom<Src>,
sourcefn lossless_try_into(self) -> Option<Dst>
fn lossless_try_into(self) -> Option<Dst>
Performs the conversion.
sourceimpl<Src, Dst> LossyInto<Dst> for Src where
Dst: LossyFrom<Src>,
impl<Src, Dst> LossyInto<Dst> for Src where
Dst: LossyFrom<Src>,
sourcefn lossy_into(self) -> Dst
fn lossy_into(self) -> Dst
Performs the conversion.
sourceimpl<T> OverflowingAs for T
impl<T> OverflowingAs for T
sourcefn overflowing_as<Dst>(self) -> (Dst, bool) where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool) where
T: OverflowingCast<Dst>,
Casts the value.
sourceimpl<Src, Dst> OverflowingCastFrom<Src> for Dst where
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dst where
Src: OverflowingCast<Dst>,
sourcefn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
OverflowingCasts the value.
sourceimpl<T> SaturatingAs for T
impl<T> SaturatingAs for T
sourcefn saturating_as<Dst>(self) -> Dst where
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dst where
T: SaturatingCast<Dst>,
Casts the value.
sourceimpl<Src, Dst> SaturatingCastFrom<Src> for Dst where
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dst where
Src: SaturatingCast<Dst>,
sourcefn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
sourceimpl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
sourcefn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
sourcefn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
sourcefn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
sourcefn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
sourcefn unwrapped_as<Dst>(self) -> Dst where
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dst where
T: UnwrappedCast<Dst>,
Casts the value.
sourceimpl<Src, Dst> UnwrappedCastFrom<Src> for Dst where
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dst where
Src: UnwrappedCast<Dst>,
sourcefn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
UnwrappedCasts the value.
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WrappingAs for T
impl<T> WrappingAs for T
sourcefn wrapping_as<Dst>(self) -> Dst where
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dst where
T: WrappingCast<Dst>,
Casts the value.
sourceimpl<Src, Dst> WrappingCastFrom<Src> for Dst where
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dst where
Src: WrappingCast<Dst>,
sourcefn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
WrappingCasts the value.