Struct oxygengine_physics_2d::prelude::Polyline [−][src]
Expand description
A polygonal line.
Implementations
Builds a new polyline.
A polyline shaped like a quad, in the x-y plane.
Whether this polyline is considered is oriented or not.
By default a polyline is not oriented.
Whether this polyline is considered as oriented or not.
This is determined at the initialization of the polyline.
Face containing feature.
pub 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.
The segment of the i
-th edge on this polyline.
Gets the i-th polyline element.
Tests that the given dir
is on the tangent cone of the i
th vertex
of this polyline.
Applies in-place a transformation to this polyline.
Applies a transformation to this polyline.
Applies in-place a non-uniform scale to this polyline.
Applies a non-uniform scale to this polyline.
Returns true
if the given feature is a FeatureId::Face and
identifies a backface of this polyline.
pub fn vertex_tangent_cone_polar_contains_dir(
&self,
i: usize,
dir: &Unit<Matrix<N, Const<{_: usize}>, Const<1_usize>, ArrayStorage<N, 2_usize, 1_usize>>>,
sin_ang_tol: N
) -> bool
pub fn vertex_tangent_cone_polar_contains_dir(
&self,
i: usize,
dir: &Unit<Matrix<N, Const<{_: usize}>, Const<1_usize>, ArrayStorage<N, 2_usize, 1_usize>>>,
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.
Tests that the given dir
is on the tangent cone of the i
th edge
of this polyline.
pub fn edge_tangent_cone_polar_contains_dir(
&self,
i: usize,
dir: &Unit<Matrix<N, Const<{_: usize}>, Const<1_usize>, ArrayStorage<N, 2_usize, 1_usize>>>,
cos_ang_tol: N
) -> bool
pub fn edge_tangent_cone_polar_contains_dir(
&self,
i: usize,
dir: &Unit<Matrix<N, Const<{_: usize}>, Const<1_usize>, ArrayStorage<N, 2_usize, 1_usize>>>,
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
.
pub fn tangent_cone_polar_contains_dir(
&self,
_feature: FeatureId,
_dir: &Unit<Matrix<N, Const<{_: usize}>, Const<1_usize>, ArrayStorage<N, 2_usize, 1_usize>>>,
_sin_ang_tol: N,
_cos_ang_tol: N
) -> bool
pub fn tangent_cone_polar_contains_dir(
&self,
_feature: FeatureId,
_dir: &Unit<Matrix<N, Const<{_: usize}>, Const<1_usize>, ArrayStorage<N, 2_usize, 1_usize>>>,
_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
Applies a transformation matrix and a function to each sub-shape of this concave shape. Read more
pub fn map_part_and_preprocessor_at(
&self,
i: usize,
m: &Isometry<N, Unit<Complex<N>>, 2_usize>,
prediction: &ContactPrediction<N>,
f: &mut dyn FnMut(&Isometry<N, Unit<Complex<N>>, 2_usize>, &(dyn Shape<N> + 'static), &dyn ContactPreprocessor<N>)
)
pub fn map_part_and_preprocessor_at(
&self,
i: usize,
m: &Isometry<N, Unit<Complex<N>>, 2_usize>,
prediction: &ContactPrediction<N>,
f: &mut dyn FnMut(&Isometry<N, Unit<Complex<N>>, 2_usize>, &(dyn Shape<N> + 'static), &dyn ContactPreprocessor<N>)
)
Applies a transformation matrix and a function to each sub-shape of this concave shape. Read more
Gets the AABB of the shape identified by the index i
.
Updates all the degrees of freedom of this shape.
The type of degrees of freedom this shape has.
pub fn update_local_approximation(
&self,
coords: &[N],
approx: &mut LocalShapeApproximation<N>
)
pub fn update_local_approximation(
&self,
coords: &[N],
approx: &mut LocalShapeApproximation<N>
)
Updates the given local approximation of this shape.
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<Polyline<N>, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<Polyline<N>, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
The bounding volume of self
transformed by m
.
The bounding volume of self
.
pub fn bounding_volume(
&self,
m: &Isometry<N, Unit<Complex<N>>, 2_usize>
) -> BoundingSphere<N>
pub fn bounding_volume(
&self,
m: &Isometry<N, Unit<Complex<N>>, 2_usize>
) -> BoundingSphere<N>
The bounding volume of self
transformed by m
.
The bounding volume of self
.
pub fn project_point(
&self,
m: &Isometry<N, Unit<Complex<N>>, 2_usize>,
point: &OPoint<N, Const<2_usize>>,
solid: bool
) -> PointProjection<N>
pub fn project_point(
&self,
m: &Isometry<N, Unit<Complex<N>>, 2_usize>,
point: &OPoint<N, Const<2_usize>>,
solid: bool
) -> PointProjection<N>
Projects a point on self
transformed by m
.
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
Tests if the given point is inside of self
transformed by m
.
type Location = (usize, SegmentPointLocation<N>)
type Location = (usize, SegmentPointLocation<N>)
Additional shape-specific projection information Read more
pub fn project_point_with_location(
&self,
m: &Isometry<N, Unit<Complex<N>>, 2_usize>,
point: &OPoint<N, Const<2_usize>>,
bool
) -> (PointProjection<N>, <Polyline<N> as PointQueryWithLocation<N>>::Location)
pub fn project_point_with_location(
&self,
m: &Isometry<N, Unit<Complex<N>>, 2_usize>,
point: &OPoint<N, Const<2_usize>>,
bool
) -> (PointProjection<N>, <Polyline<N> as PointQueryWithLocation<N>>::Location)
Projects a point on self
transformed by m
.
Computes the time of impact between this transform shape and a ray.
pub fn toi_and_normal_with_ray(
&self,
m: &Isometry<N, Unit<Complex<N>>, 2_usize>,
ray: &Ray<N>,
max_toi: N,
bool
) -> Option<RayIntersection<N>>
pub fn toi_and_normal_with_ray(
&self,
m: &Isometry<N, Unit<Complex<N>>, 2_usize>,
ray: &Ray<N>,
max_toi: N,
bool
) -> Option<RayIntersection<N>>
Computes the time of impact, and normal between this transformed shape and a ray.
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
The AABB of self
transformed by m
.
The AABB of self
.
pub fn bounding_sphere(
&self,
m: &Isometry<N, Unit<Complex<N>>, 2_usize>
) -> BoundingSphere<N>
pub fn bounding_sphere(
&self,
m: &Isometry<N, Unit<Complex<N>>, 2_usize>
) -> BoundingSphere<N>
The bounding sphere of self
transformed by m
.
The RayCast
implementation of self
.
The PointQuery
implementation of self
.
The composite shape representation of self
if applicable.
Whether self
uses a composite shape-based representation.
The deformable shape representation of self
if applicable.
The mutable deformable shape representation of self
if applicable.
Whether self
uses a composite shape-based representation.
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
Returns the id of the subshape containing the specified feature. Read more
The bounding sphere of self
.
The convex polyhedron representation of self
if applicable.
The support mapping of self
if applicable.
Whether self
uses a convex polyhedron representation.
Whether self
uses a support-mapping based representation.
Auto Trait Implementations
impl<N> RefUnwindSafe for Polyline<N> where
N: RefUnwindSafe,
impl<N> UnwindSafe for Polyline<N> where
N: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
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
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub 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
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub 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
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
pub fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
pub fn to_subset_unchecked(&self) -> SS
pub fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
pub fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.