Struct ncollide2df64::broad::BruteForceBoundingVolumeBroadPhase
pub struct BruteForceBoundingVolumeBroadPhase<B, BV, D, DV> { // some fields omitted }
Broad phase with quadratic complexity but sped up using loose bounding volumes.
Interference detection is executed only for objects which have their bounding volumes updated.
Do not use this broad phase.
Methods
impl<B: 'static + HasBoundingVolume<BV> + HasUid + Clone, BV: 'static + LooseBoundingVolume + Clone, D: Dispatcher<B, B, DV>, DV> BruteForceBoundingVolumeBroadPhase<B, BV, D, DV>
fn new(dispatcher: D, margin: N) -> BruteForceBoundingVolumeBroadPhase<B, BV, D, DV>
Creates a new bounding volume based brute force broad phase.
fn num_interferences(&self) -> uint
Number of interferences detected by this broad phase.
fn pairs<'r>(&'r self) -> &'r HashMap<Pair<Gc<RefCell<BoundingVolumeProxy<B, BV>>>>, DV, PairTWHash>
The pair manager of this broad phase.
fn pairs_mut<'r>(&'r mut self) -> &'r mut HashMap<Pair<Gc<RefCell<BoundingVolumeProxy<B, BV>>>>, DV, PairTWHash>
The pair manager of this broad phase.
fn add(&mut self, rb: B)
Adds an element to this broad phase.
fn remove(&mut self, _: &B)
Removes an element from this broad phase.
fn set_active(&mut self, b: &B, active: bool)
Marks and object as active or inactive. The bounding volume of an inactive object is never updated. Activating/deactivating an already active/inactive objects leads to undefined behaviour.
fn update(&mut self)
Updates the collision pairs based on the objects bounding volumes.