Struct rhusics::collide::util::ContainerShapeWrapper
[−]
[src]
pub struct ContainerShapeWrapper<ID, P> where
P: Primitive,
P::Aabb: Aabb<Scalar = f32>,
<P::Point as EuclideanSpace>::Diff: Debug, { pub id: ID, pub bound: P::Aabb, // some fields omitted }
Shape wrapper for use with containers such as DBVT, or for use with broad phase algorithms
Fields
id: ID
The id
bound: P::Aabb
The bounding volume
Methods
impl<ID, P> ContainerShapeWrapper<ID, P> where
P: Primitive,
P::Aabb: Clone + Aabb<Scalar = f32>,
<P::Point as EuclideanSpace>::Diff: Debug,
[src]
P: Primitive,
P::Aabb: Clone + Aabb<Scalar = f32>,
<P::Point as EuclideanSpace>::Diff: Debug,
fn new_impl(
id: ID,
bound: &P::Aabb,
fat_factor: <P::Point as EuclideanSpace>::Diff
) -> Self
[src]
id: ID,
bound: &P::Aabb,
fat_factor: <P::Point as EuclideanSpace>::Diff
) -> Self
Create a new shape
fn new(id: ID, bound: &P::Aabb) -> Self
[src]
Create a new shape
Trait Implementations
impl<'a, P, T> From<(Entity, &'a CollisionShape<P, T>)> for ContainerShapeWrapper<Entity, P> where
P: Primitive,
P::Aabb: Aabb<Scalar = f32>,
<P::Point as EuclideanSpace>::Diff: Debug,
T: Transform<P::Point>,
[src]
P: Primitive,
P::Aabb: Aabb<Scalar = f32>,
<P::Point as EuclideanSpace>::Diff: Debug,
T: Transform<P::Point>,
impl<P> GetEntity for ContainerShapeWrapper<Entity, P> where
P: Primitive,
P::Aabb: Aabb<Scalar = f32>,
<P::Point as EuclideanSpace>::Diff: Debug,
[src]
P: Primitive,
P::Aabb: Aabb<Scalar = f32>,
<P::Point as EuclideanSpace>::Diff: Debug,
impl<ID: Debug, P: Debug> Debug for ContainerShapeWrapper<ID, P> where
P: Primitive,
P::Aabb: Aabb<Scalar = f32>,
<P::Point as EuclideanSpace>::Diff: Debug,
P::Aabb: Debug,
P::Point: Debug,
[src]
P: Primitive,
P::Aabb: Aabb<Scalar = f32>,
<P::Point as EuclideanSpace>::Diff: Debug,
P::Aabb: Debug,
P::Point: Debug,
impl<ID: Clone, P: Clone> Clone for ContainerShapeWrapper<ID, P> where
P: Primitive,
P::Aabb: Aabb<Scalar = f32>,
<P::Point as EuclideanSpace>::Diff: Debug,
P::Aabb: Clone,
P::Point: Clone,
[src]
P: Primitive,
P::Aabb: Aabb<Scalar = f32>,
<P::Point as EuclideanSpace>::Diff: Debug,
P::Aabb: Clone,
P::Point: Clone,
fn clone(&self) -> ContainerShapeWrapper<ID, P>
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<ID, P> TreeValue for ContainerShapeWrapper<ID, P> where
ID: Clone + Debug,
P: Primitive,
P::Aabb: Aabb<Scalar = f32>,
P::Point: Debug,
<P::Point as EuclideanSpace>::Diff: Debug,
[src]
ID: Clone + Debug,
P: Primitive,
P::Aabb: Aabb<Scalar = f32>,
P::Point: Debug,
<P::Point as EuclideanSpace>::Diff: Debug,
type Bound = P::Aabb
Bounding volume type
fn bound(&self) -> &Self::Bound
[src]
Return the bounding volume of the value
fn fat_bound(&self) -> Self::Bound
[src]
Return a fattened bounding volume. For shapes that do not move, this can be the same as the base bounding volume. It is recommended for moving shapes to have a larger fat bound, so tree rotations don't have to be performed every frame. Read more
impl<ID, P> HasBound for ContainerShapeWrapper<ID, P> where
P: Primitive,
P::Aabb: Aabb<Scalar = f32>,
<P::Point as EuclideanSpace>::Diff: Debug,
[src]
P: Primitive,
P::Aabb: Aabb<Scalar = f32>,
<P::Point as EuclideanSpace>::Diff: Debug,