[src]

Struct ncollide2df64::partitioning::DBVT

pub struct DBVT<B, BV> {
    // some fields omitted
}

A Dynamic Bounding Volume Tree.

Methods

impl<B, BV> DBVT<B, BV>

fn new() -> DBVT<B, BV>

Creates a new Dynamic Bounding Volume Tree.

impl<BV: 'static + BoundingVolume + Translation<V> + Clone, B: 'static + Clone> DBVT<B, BV>

fn remove(&mut self, leaf: &mut Gc<RefCell<DBVTLeaf<B, BV>>>)

Removes a leaf from the tree. Fails if the tree is empty.

fn insert(&mut self, leaf: Gc<RefCell<DBVTLeaf<B, BV>>>)

Inserts a leaf to the tree.

fn visit<Vis: BVTVisitor<Gc<RefCell<DBVTLeaf<B, BV>>>, BV>>(&self, visitor: &mut Vis)

Visit this tree using… a visitor!

fn interferences_with_leaf(&self, leaf: &DBVTLeaf<B, BV>, out: &mut ~[Gc<RefCell<DBVTLeaf<B, BV>>>])

Finds all leaves which have their bounding boxes intersecting a specific leave's bounding volume.

Arguments:

  • to_test - the leaf to check interferences with.
  • out - will be filled with all leaves intersecting to_test. Note that to_test is not considered intersecting itself.

fn interferences_with_tree(&self, leaf: &DBVT<B, BV>, out: &mut ~[Gc<RefCell<DBVTLeaf<B, BV>>>])

Finds all interferences between this tree and another one.