Struct parry2d::shape::SharedShape [−][src]
The shape of a collider.
Implementations
impl SharedShape
[src]
impl SharedShape
[src]pub fn new(shape: impl Shape) -> Self
[src]
Wraps the given shape as a shared shape.
pub fn make_mut(&mut self) -> &mut dyn Shape
[src]
If this shape is shared, then the content of self
is cloned into a unique instance,
and a mutable reference to that instance is returned.
pub fn compound(shapes: Vec<(Isometry<Real>, SharedShape)>) -> Self
[src]
Initialize a compound shape defined by its subshapes.
pub fn ball(radius: Real) -> Self
[src]
Initialize a ball shape defined by its radius.
pub fn halfspace(outward_normal: Unit<Vector<Real>>) -> Self
[src]
Initialize a plane shape defined by its outward normal.
pub fn cuboid(hx: Real, hy: Real) -> Self
[src]
Initialize a cuboid shape defined by its half-extents.
pub fn round_cuboid(hx: Real, hy: Real, border_radius: Real) -> Self
[src]
Initialize a round cuboid shape defined by its half-extents and border radius.
pub fn capsule(a: Point<Real>, b: Point<Real>, radius: Real) -> Self
[src]
Initialize a capsule shape from its endpoints and radius.
pub fn segment(a: Point<Real>, b: Point<Real>) -> Self
[src]
Initialize a segment shape from its endpoints.
pub fn triangle(a: Point<Real>, b: Point<Real>, c: Point<Real>) -> Self
[src]
Initializes a triangle shape.
pub fn round_triangle(
a: Point<Real>,
b: Point<Real>,
c: Point<Real>,
border_radius: Real
) -> Self
[src]
a: Point<Real>,
b: Point<Real>,
c: Point<Real>,
border_radius: Real
) -> Self
Initializes a triangle shape with round corners.
pub fn polyline(
vertices: Vec<Point<Real>>,
indices: Option<Vec<[u32; 2]>>
) -> Self
[src]
vertices: Vec<Point<Real>>,
indices: Option<Vec<[u32; 2]>>
) -> Self
Initializes a polyline shape defined by its vertex and index buffers.
If no index buffer is provided, the polyline is assumed to describe a line strip.
pub fn trimesh(vertices: Vec<Point<Real>>, indices: Vec<[u32; 3]>) -> Self
[src]
Initializes a triangle mesh shape defined by its vertex and index buffers.
pub fn convex_decomposition(
vertices: &[Point<Real>],
indices: &[[u32; 2]]
) -> Self
[src]
vertices: &[Point<Real>],
indices: &[[u32; 2]]
) -> Self
Initializes a compound shape obtained from the decomposition of the given trimesh (in 3D) or polyline (in 2D) into convex parts.
pub fn round_convex_decomposition(
vertices: &[Point<Real>],
indices: &[[u32; 2]],
border_radius: Real
) -> Self
[src]
vertices: &[Point<Real>],
indices: &[[u32; 2]],
border_radius: Real
) -> Self
Initializes a compound shape obtained from the decomposition of the given trimesh (in 3D) or polyline (in 2D) into convex parts dilated with round corners.
pub fn convex_decomposition_with_params(
vertices: &[Point<Real>],
indices: &[[u32; 2]],
params: &VHACDParameters
) -> Self
[src]
vertices: &[Point<Real>],
indices: &[[u32; 2]],
params: &VHACDParameters
) -> Self
Initializes a compound shape obtained from the decomposition of the given trimesh (in 3D) or polyline (in 2D) into convex parts.
pub fn round_convex_decomposition_with_params(
vertices: &[Point<Real>],
indices: &[[u32; 2]],
params: &VHACDParameters,
border_radius: Real
) -> Self
[src]
vertices: &[Point<Real>],
indices: &[[u32; 2]],
params: &VHACDParameters,
border_radius: Real
) -> Self
Initializes a compound shape obtained from the decomposition of the given trimesh (in 3D) or polyline (in 2D) into convex parts dilated with round corners.
pub fn convex_hull(points: &[Point<Real>]) -> Option<Self>
[src]
Creates a new shared shape that is the convex-hull of the given points.
pub fn convex_polyline(points: Vec<Point<Real>>) -> Option<Self>
[src]
Creates a new shared shape that is a convex polygon formed by the given set of points assumed to form a convex polyline (no convex-hull will be automatically computed).
pub fn round_convex_hull(
points: &[Point<Real>],
border_radius: Real
) -> Option<Self>
[src]
points: &[Point<Real>],
border_radius: Real
) -> Option<Self>
Creates a new shared shape with rounded corners that is the
convex-hull of the given points, dilated by border_radius
.
pub fn round_convex_polyline(
points: Vec<Point<Real>>,
border_radius: Real
) -> Option<Self>
[src]
points: Vec<Point<Real>>,
border_radius: Real
) -> Option<Self>
Creates a new shared shape with round corners that is a convex polygon formed by the given set of points assumed to form a convex polyline (no convex-hull will be automatically computed).
pub fn heightfield(heights: DVector<Real>, scale: Vector<Real>) -> Self
[src]
Initializes an heightfield shape defined by its set of height and a scale factor along each coordinate axis.
Methods from Deref<Target = dyn Shape>
pub fn is<__T: Shape>(&self) -> bool
[src]
Returns true if the trait object wraps an object of type __T
.
pub fn downcast_rc<__T: Shape>(self: Rc<Self>) -> Result<Rc<__T>, Rc<Self>>
[src]
Returns an Rc
-ed object from an Rc
-ed trait object if the underlying object is of
type __T
. Returns the original Rc
-ed trait if it isn’t.
pub fn downcast_ref<__T: Shape>(&self) -> Option<&__T>
[src]
Returns a reference to the object within the trait object if it is of type __T
, or
None
if it isn’t.
pub fn downcast_arc<__T: Shape>(self: Arc<Self>) -> Result<Arc<__T>, Arc<Self>> where
__T: Any + Send + Sync,
[src]
__T: Any + Send + Sync,
Returns an Arc
-ed object from an Arc
-ed trait object if the underlying object is of
type __T
. Returns the original Arc
-ed trait if it isn’t.
pub fn as_shape<T: Shape>(&self) -> Option<&T>
[src]
Converts this abstract shape to the given shape, if it is one.
pub fn as_ball(&self) -> Option<&Ball>
[src]
Converts this abstract shape to a ball, if it is one.
pub fn as_cuboid(&self) -> Option<&Cuboid>
[src]
Converts this abstract shape to a cuboid, if it is one.
pub fn as_halfspace(&self) -> Option<&HalfSpace>
[src]
Converts this abstract shape to a halfspace, if it is one.
pub fn as_segment(&self) -> Option<&Segment>
[src]
Converts this abstract shape to a segment, if it is one.
pub fn as_capsule(&self) -> Option<&Capsule>
[src]
Converts this abstract shape to a capsule, if it is one.
pub fn as_triangle(&self) -> Option<&Triangle>
[src]
Converts this abstract shape to a triangle, if it is one.
pub fn as_compound(&self) -> Option<&Compound>
[src]
Converts this abstract shape to a compound shape, if it is one.
pub fn as_trimesh(&self) -> Option<&TriMesh>
[src]
Converts this abstract shape to a triangle mesh, if it is one.
pub fn as_polyline(&self) -> Option<&Polyline>
[src]
Converts this abstract shape to a polyline, if it is one.
pub fn as_heightfield(&self) -> Option<&HeightField>
[src]
Converts this abstract shape to a heightfield, if it is one.
pub fn as_round_cuboid(&self) -> Option<&RoundCuboid>
[src]
Converts this abstract shape to a round cuboid, if it is one.
pub fn as_round_triangle(&self) -> Option<&RoundTriangle>
[src]
Converts this abstract shape to a round triangle, if it is one.
pub fn as_convex_polygon(&self) -> Option<&ConvexPolygon>
[src]
Converts this abstract shape to a convex polygon, if it is one.
pub fn as_round_convex_polygon(&self) -> Option<&RoundConvexPolygon>
[src]
Converts this abstract shape to a round convex polygon, if it is one.
Trait Implementations
impl Clone for SharedShape
[src]
impl Clone for SharedShape
[src]fn clone(&self) -> SharedShape
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
Auto Trait Implementations
impl !RefUnwindSafe for SharedShape
impl !RefUnwindSafe for SharedShape
impl Send for SharedShape
impl Send for SharedShape
impl Sync for SharedShape
impl Sync for SharedShape
impl Unpin for SharedShape
impl Unpin for SharedShape
impl !UnwindSafe for SharedShape
impl !UnwindSafe for SharedShape
Blanket Implementations
impl<T> CheckedAs for T
[src]
impl<T> CheckedAs for T
[src]pub fn checked_as<Dst>(self) -> Option<Dst> where
T: CheckedCast<Dst>,
[src]
T: CheckedCast<Dst>,
impl<T> DowncastSync for T where
T: Any + Send + Sync,
[src]
impl<T> DowncastSync for T where
T: Any + Send + Sync,
[src]impl<Src, Dst> LosslessTryInto<Dst> for Src where
Dst: LosslessTryFrom<Src>,
[src]
impl<Src, Dst> LosslessTryInto<Dst> for Src where
Dst: LosslessTryFrom<Src>,
[src]pub fn lossless_try_into(self) -> Option<Dst>
[src]
impl<Src, Dst> LossyInto<Dst> for Src where
Dst: LossyFrom<Src>,
[src]
impl<Src, Dst> LossyInto<Dst> for Src where
Dst: LossyFrom<Src>,
[src]pub fn lossy_into(self) -> Dst
[src]
impl<T> OverflowingAs for T
[src]
impl<T> OverflowingAs for T
[src]pub fn overflowing_as<Dst>(self) -> (Dst, bool) where
T: OverflowingCast<Dst>,
[src]
T: OverflowingCast<Dst>,
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> SaturatingAs for T
[src]
impl<T> SaturatingAs for T
[src]pub fn saturating_as<Dst>(self) -> Dst where
T: SaturatingCast<Dst>,
[src]
T: SaturatingCast<Dst>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]pub fn to_subset(&self) -> Option<SS>
[src]
pub fn is_in_subset(&self) -> bool
[src]
pub fn to_subset_unchecked(&self) -> SS
[src]
pub fn from_subset(element: &SS) -> SP
[src]
impl<T> UnwrappedAs for T
[src]
impl<T> UnwrappedAs for T
[src]pub fn unwrapped_as<Dst>(self) -> Dst where
T: UnwrappedCast<Dst>,
[src]
T: UnwrappedCast<Dst>,
impl<T> WrappingAs for T
[src]
impl<T> WrappingAs for T
[src]pub fn wrapping_as<Dst>(self) -> Dst where
T: WrappingCast<Dst>,
[src]
T: WrappingCast<Dst>,