[][src]Trait parry2d::shape::Shape

pub trait Shape: RayCast + PointQuery + DowncastSync {
    fn compute_local_aabb(&self) -> AABB;
fn mass_properties(&self, density: Real) -> MassProperties;
fn shape_type(&self) -> ShapeType;
fn ccd_thickness(&self) -> Real; fn compute_aabb(&self, position: &Isometry<Real>) -> AABB { ... }
fn is_convex(&self) -> bool { ... }
fn as_support_map(&self) -> Option<&dyn SupportMap> { ... }
fn as_composite_shape(&self) -> Option<&dyn SimdCompositeShape> { ... }
fn as_polygonal_feature_map(
        &self
    ) -> Option<(&dyn PolygonalFeatureMap, Real)> { ... }
fn feature_normal_at_point(
        &self,
        _feature: FeatureId,
        _point: &Point<Real>
    ) -> Option<Unit<Vector<Real>>> { ... } }

Trait implemented by shapes usable by Rapier.

Required methods

fn compute_local_aabb(&self) -> AABB[src]

Computes the AABB of this shape.

fn mass_properties(&self, density: Real) -> MassProperties[src]

Compute the mass-properties of this shape given its uniform density.

fn shape_type(&self) -> ShapeType[src]

Gets the type tag of this shape.

fn ccd_thickness(&self) -> Real[src]

Loading content...

Provided methods

fn compute_aabb(&self, position: &Isometry<Real>) -> AABB[src]

Computes the AABB of this shape with the given position.

fn is_convex(&self) -> bool[src]

Is this shape known to be convex?

If this returns true then self is known to be convex. If this returns false then it is not known whether or not self is convex.

fn as_support_map(&self) -> Option<&dyn SupportMap>[src]

Convents this shape into its support mapping, if it has one.

fn as_composite_shape(&self) -> Option<&dyn SimdCompositeShape>[src]

fn as_polygonal_feature_map(&self) -> Option<(&dyn PolygonalFeatureMap, Real)>[src]

Converts this shape to a polygonal feature-map, if it is one.

fn feature_normal_at_point(
    &self,
    _feature: FeatureId,
    _point: &Point<Real>
) -> Option<Unit<Vector<Real>>>
[src]

The shape's normal at the given point located on a specific feature.

Loading content...

Implementations

impl dyn Shape[src]

pub fn is<__T: Shape>(&self) -> bool[src]

Returns true if the trait object wraps an object of type __T.

pub fn downcast<__T: Shape>(self: Box<Self>) -> Result<Box<__T>, Box<Self>>[src]

Returns a boxed object from a boxed trait object if the underlying object is of type __T. Returns the original boxed trait if it isn'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_mut<__T: Shape>(&mut self) -> Option<&mut __T>[src]

Returns a mutable 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]

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.

impl dyn Shape[src]

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_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]

pub fn as_round_convex_polygon(&self) -> Option<&RoundConvexPolygon>[src]

Converts this abstract shape to a round convex polygon, if it is one.

Implementors

impl Shape for Ball[src]

impl Shape for Capsule[src]

impl Shape for Compound[src]

impl Shape for ConvexPolygon[src]

impl Shape for Cuboid[src]

impl Shape for HalfSpace[src]

impl Shape for HeightField[src]

impl Shape for Polyline[src]

impl Shape for RoundShape<ConvexPolygon>[src]

impl Shape for RoundShape<Cuboid>[src]

impl Shape for RoundShape<Triangle>[src]

impl Shape for Segment[src]

impl Shape for TriMesh[src]

impl Shape for Triangle[src]

Loading content...