pub struct SharedShape(pub Arc<dyn Shape + 'static>);
Expand description

The shape of a collider.

Tuple Fields

0: Arc<dyn Shape + 'static>

Implementations

Wraps the given shape as a shared shape.

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.

Initialize a compound shape defined by its subshapes.

Initialize a ball shape defined by its radius.

Initialize a plane shape defined by its outward normal.

Initialize a cylindrical shape defined by its half-height (along along the y axis) and its radius.

Initialize a rounded cylindrical shape defined by its half-height (along along the y axis), its radius, and its roundedness (the radius of the sphere used for dilating the cylinder).

Initialize a rounded cone shape defined by its half-height (along along the y axis), its radius, and its roundedness (the radius of the sphere used for dilating the cylinder).

Initialize a cone shape defined by its half-height (along along the y axis) and its basis radius.

Initialize a cuboid shape defined by its half-extents.

Initialize a round cuboid shape defined by its half-extents and border radius.

Initialize a capsule shape from its endpoints and radius.

Initialize a segment shape from its endpoints.

Initializes a triangle shape.

Initializes a triangle shape with round corners.

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.

Initializes a triangle mesh shape defined by its vertex and index buffers.

Initializes a compound shape obtained from the decomposition of the given trimesh (in 3D) or polyline (in 2D) into convex parts.

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.

Initializes a compound shape obtained from the decomposition of the given trimesh (in 3D) or polyline (in 2D) into convex parts.

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.

Creates a new shared shape that is the convex-hull of the given points.

Creates a new shared shape that is a convex polyhedron formed by the given set of points assumed to form a convex mesh (no convex-hull will be automatically computed).

Creates a new shared shape with rounded corners that is the convex-hull of the given points, dilated by border_radius.

Creates a new shared shape with round corners that is a convex polyhedron formed by the given set of points assumed to form a convex mesh (no convex-hull will be automatically computed).

Initializes an heightfield shape on the x-z plane defined by its set of height and a scale factor along each coordinate axis.

Methods from Deref<Target = dyn Shape + 'static>

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

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.

Returns a reference to the object within the trait object if it is of type __T, or None if it isn’t.

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.

Converts this abstract shape to the given shape, if it is one.

Converts this abstract shape to a ball, if it is one.

Converts this abstract shape to a cuboid, if it is one.

Converts this abstract shape to a halfspace, if it is one.

Converts this abstract shape to a segment, if it is one.

Converts this abstract shape to a capsule, if it is one.

Converts this abstract shape to a triangle, if it is one.

Converts this abstract shape to a compound shape, if it is one.

Converts this abstract shape to a triangle mesh, if it is one.

Converts this abstract shape to a polyline, if it is one.

Converts this abstract shape to a heightfield, if it is one.

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

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

Converts this abstract shape to a cylinder, if it is one.

Converts this abstract shape to a cone, if it is one.

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

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

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

Trait Implementations

Converts this type into a shared reference of the (usually inferred) input type.

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

The estimated number of elements in this set. Read more

Iterate through all the elements on this set.

Get the element associated to the given handle.

Set the value of this element.

Applies the given closure to the element associated to the given handle. Read more

Get the element associated to the given handle, if there is one.

The resulting type after dereferencing.

Dereferences the value.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

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

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

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

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

Should always be Self

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more

Checks if self is actually part of its subset T (and can be converted to it).

Use with care! Same as self.to_subset but without any property checks. Always succeeds.

The inclusion map: converts self to the equivalent element of its superset.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.