| 
| virtual JPH_OVERRIDE_NEW_DELETE  | ~BroadPhaseQuadTree () override | 
|   | Destructor.  More...
  | 
|   | 
| virtual void  | Init (BodyManager *inBodyManager, const BroadPhaseLayerInterface &inLayerInterface) override | 
|   | 
| virtual void  | Optimize () override | 
|   | Should be called after many objects have been inserted to make the broadphase more efficient, usually done on startup only.  More...
  | 
|   | 
| virtual void  | FrameSync () override | 
|   | Must be called just before updating the broadphase when none of the body mutexes are locked.  More...
  | 
|   | 
| virtual void  | LockModifications () override | 
|   | Must be called before UpdatePrepare to prevent modifications from being made to the tree.  More...
  | 
|   | 
| virtual UpdateState  | UpdatePrepare () override | 
|   | 
| virtual void  | UpdateFinalize (const UpdateState &inUpdateState) override | 
|   | Finalizing the update will quickly apply the changes.  More...
  | 
|   | 
| virtual void  | UnlockModifications () override | 
|   | Must be called after UpdateFinalize to allow modifications to the broadphase.  More...
  | 
|   | 
| virtual AddState  | AddBodiesPrepare (BodyID *ioBodies, int inNumber) override | 
|   | 
| virtual void  | AddBodiesFinalize (BodyID *ioBodies, int inNumber, AddState inAddState) override | 
|   | 
| virtual void  | AddBodiesAbort (BodyID *ioBodies, int inNumber, AddState inAddState) override | 
|   | 
| virtual void  | RemoveBodies (BodyID *ioBodies, int inNumber) override | 
|   | 
| virtual void  | NotifyBodiesAABBChanged (BodyID *ioBodies, int inNumber, bool inTakeLock) override | 
|   | 
| virtual void  | NotifyBodiesLayerChanged (BodyID *ioBodies, int inNumber) override | 
|   | Call whenever the layer (and optionally the aabb as well) of a body changes (can change order of ioBodies array)  More...
  | 
|   | 
| virtual void  | CastRay (const RayCast &inRay, RayCastBodyCollector &ioCollector, const BroadPhaseLayerFilter &inBroadPhaseLayerFilter, const ObjectLayerFilter &inObjectLayerFilter) const override | 
|   | Cast a ray and add any hits to ioCollector.  More...
  | 
|   | 
| virtual void  | CollideAABox (const AABox &inBox, CollideShapeBodyCollector &ioCollector, const BroadPhaseLayerFilter &inBroadPhaseLayerFilter, const ObjectLayerFilter &inObjectLayerFilter) const override | 
|   | Get bodies intersecting with inBox and any hits to ioCollector.  More...
  | 
|   | 
| virtual void  | CollideSphere (Vec3Arg inCenter, float inRadius, CollideShapeBodyCollector &ioCollector, const BroadPhaseLayerFilter &inBroadPhaseLayerFilter, const ObjectLayerFilter &inObjectLayerFilter) const override | 
|   | Get bodies intersecting with a sphere and any hits to ioCollector.  More...
  | 
|   | 
| virtual void  | CollidePoint (Vec3Arg inPoint, CollideShapeBodyCollector &ioCollector, const BroadPhaseLayerFilter &inBroadPhaseLayerFilter, const ObjectLayerFilter &inObjectLayerFilter) const override | 
|   | Get bodies intersecting with a point and any hits to ioCollector.  More...
  | 
|   | 
| virtual void  | CollideOrientedBox (const OrientedBox &inBox, CollideShapeBodyCollector &ioCollector, const BroadPhaseLayerFilter &inBroadPhaseLayerFilter, const ObjectLayerFilter &inObjectLayerFilter) const override | 
|   | Get bodies intersecting with an oriented box and any hits to ioCollector.  More...
  | 
|   | 
| virtual void  | CastAABoxNoLock (const AABoxCast &inBox, CastShapeBodyCollector &ioCollector, const BroadPhaseLayerFilter &inBroadPhaseLayerFilter, const ObjectLayerFilter &inObjectLayerFilter) const override | 
|   | Same as BroadPhaseQuery::CastAABox but can be implemented in a way to take no broad phase locks.  More...
  | 
|   | 
| virtual void  | CastAABox (const AABoxCast &inBox, CastShapeBodyCollector &ioCollector, const BroadPhaseLayerFilter &inBroadPhaseLayerFilter, const ObjectLayerFilter &inObjectLayerFilter) const override | 
|   | Cast a box and add any hits to ioCollector.  More...
  | 
|   | 
| virtual void  | FindCollidingPairs (BodyID *ioActiveBodies, int inNumActiveBodies, float inSpeculativeContactDistance, const ObjectVsBroadPhaseLayerFilter &inObjectVsBroadPhaseLayerFilter, const ObjectLayerPairFilter &inObjectLayerPairFilter, BodyPairCollector &ioPairCollector) const override | 
|   | 
| virtual AABox  | GetBounds () const override | 
|   | Get the bounding box of all objects in the broadphase.  More...
  | 
|   | 
| virtual void  | Init (BodyManager *inBodyManager, const BroadPhaseLayerInterface &inLayerInterface) | 
|   | 
| virtual void  | Optimize () | 
|   | Should be called after many objects have been inserted to make the broadphase more efficient, usually done on startup only.  More...
  | 
|   | 
| virtual void  | FrameSync () | 
|   | Must be called just before updating the broadphase when none of the body mutexes are locked.  More...
  | 
|   | 
| virtual void  | LockModifications () | 
|   | Must be called before UpdatePrepare to prevent modifications from being made to the tree.  More...
  | 
|   | 
| virtual UpdateState  | UpdatePrepare () | 
|   | 
| virtual void  | UpdateFinalize (const UpdateState &inUpdateState) | 
|   | Finalizing the update will quickly apply the changes.  More...
  | 
|   | 
| virtual void  | UnlockModifications () | 
|   | Must be called after UpdateFinalize to allow modifications to the broadphase.  More...
  | 
|   | 
| virtual AddState  | AddBodiesPrepare (BodyID *ioBodies, int inNumber) | 
|   | 
| virtual void  | AddBodiesFinalize (BodyID *ioBodies, int inNumber, AddState inAddState)=0 | 
|   | 
| virtual void  | AddBodiesAbort (BodyID *ioBodies, int inNumber, AddState inAddState) | 
|   | 
| virtual void  | RemoveBodies (BodyID *ioBodies, int inNumber)=0 | 
|   | 
| virtual void  | NotifyBodiesAABBChanged (BodyID *ioBodies, int inNumber, bool inTakeLock=true)=0 | 
|   | 
| virtual void  | NotifyBodiesLayerChanged (BodyID *ioBodies, int inNumber)=0 | 
|   | Call whenever the layer (and optionally the aabb as well) of a body changes (can change order of ioBodies array)  More...
  | 
|   | 
| virtual void  | FindCollidingPairs (BodyID *ioActiveBodies, int inNumActiveBodies, float inSpeculativeContactDistance, const ObjectVsBroadPhaseLayerFilter &inObjectVsBroadPhaseLayerFilter, const ObjectLayerPairFilter &inObjectLayerPairFilter, BodyPairCollector &ioPairCollector) const =0 | 
|   | 
| virtual void  | CastAABoxNoLock (const AABoxCast &inBox, CastShapeBodyCollector &ioCollector, const BroadPhaseLayerFilter &inBroadPhaseLayerFilter, const ObjectLayerFilter &inObjectLayerFilter) const =0 | 
|   | Same as BroadPhaseQuery::CastAABox but can be implemented in a way to take no broad phase locks.  More...
  | 
|   | 
| virtual AABox  | GetBounds () const =0 | 
|   | Get the bounding box of all objects in the broadphase.  More...
  | 
|   | 
| virtual  | ~BroadPhaseQuery ()=default | 
|   | Virtual destructor.  More...
  | 
|   | 
| virtual void  | CastRay (const RayCast &inRay, RayCastBodyCollector &ioCollector, const BroadPhaseLayerFilter &inBroadPhaseLayerFilter={ }, const ObjectLayerFilter &inObjectLayerFilter={ }) const =0 | 
|   | Cast a ray and add any hits to ioCollector.  More...
  | 
|   | 
| virtual void  | CollideAABox (const AABox &inBox, CollideShapeBodyCollector &ioCollector, const BroadPhaseLayerFilter &inBroadPhaseLayerFilter={ }, const ObjectLayerFilter &inObjectLayerFilter={ }) const =0 | 
|   | Get bodies intersecting with inBox and any hits to ioCollector.  More...
  | 
|   | 
| virtual void  | CollideSphere (Vec3Arg inCenter, float inRadius, CollideShapeBodyCollector &ioCollector, const BroadPhaseLayerFilter &inBroadPhaseLayerFilter={ }, const ObjectLayerFilter &inObjectLayerFilter={ }) const =0 | 
|   | Get bodies intersecting with a sphere and any hits to ioCollector.  More...
  | 
|   | 
| virtual void  | CollidePoint (Vec3Arg inPoint, CollideShapeBodyCollector &ioCollector, const BroadPhaseLayerFilter &inBroadPhaseLayerFilter={ }, const ObjectLayerFilter &inObjectLayerFilter={ }) const =0 | 
|   | Get bodies intersecting with a point and any hits to ioCollector.  More...
  | 
|   | 
| virtual void  | CollideOrientedBox (const OrientedBox &inBox, CollideShapeBodyCollector &ioCollector, const BroadPhaseLayerFilter &inBroadPhaseLayerFilter={ }, const ObjectLayerFilter &inObjectLayerFilter={ }) const =0 | 
|   | Get bodies intersecting with an oriented box and any hits to ioCollector.  More...
  | 
|   | 
| virtual void  | CastAABox (const AABoxCast &inBox, CastShapeBodyCollector &ioCollector, const BroadPhaseLayerFilter &inBroadPhaseLayerFilter={ }, const ObjectLayerFilter &inObjectLayerFilter={ }) const =0 | 
|   | Cast a box and add any hits to ioCollector.  More...
  | 
|   | 
|   | NonCopyable ()=default | 
|   | 
|   | NonCopyable (const NonCopyable &)=delete | 
|   | 
| void  | operator= (const NonCopyable &)=delete | 
|   | 
Fast SIMD based quad tree BroadPhase that is multithreading aware and tries to do a minimal amount of locking.