Struct mgf::BVH
[−]
[src]
pub struct BVH<B: Bound, V> { /* fields omitted */ }
A Bounding Volume Hierarchy.
Methods
impl<B: Bound, V> BVH<B, V>[src]
fn new() -> Self[src]
fn with_capacity(cap: usize) -> Self[src]
fn empty(&self) -> bool[src]
fn len(&self) -> usize[src]
Returns the number of bounds inserted into the BVH.
fn insert<K: BoundedBy<B>>(&mut self, key: &K, val: V) -> usize[src]
Inserts an item ino the BVH, rebalancing if necessary. All IDs returned prior to insert remain valid afterward.
fn remove(&mut self, leaf: usize)[src]
Removes a leaf node from the BVH.
fn root(&self) -> usize[src]
Returns the index of the root node.
Trait Implementations
impl<B, V> Clone for BVH<B, V> where
B: Bound,
V: Clone, [src]
B: Bound,
V: Clone,
fn clone(&self) -> Self[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<B, V> Index<usize> for BVH<B, V> where
B: Bound, [src]
B: Bound,
type Output = B
The returned type after indexing.
fn index(&self, i: usize) -> &B[src]
Performs the indexing (container[index]) operation.
impl<B, V, RHS> Collider<V, RHS> for BVH<B, V> where
B: Bound,
V: Clone,
RHS: Collider<Overlaps, B>, [src]
B: Bound,
V: Clone,
RHS: Collider<Overlaps, B>,
fn collide<F: FnMut(V)>(&self, rhs: &RHS, callback: F) -> bool[src]
Collide with an object and call the callback for as many contacts there are. True is returned if any contact is found. Read more
fn check_collision(&self, other: &T) -> Option<CollisionType>[src]
Returns the first collision found if any exists.