Class CollisionScene#

Inheritance Relationships#

Base Type#

Derived Type#

Class Documentation#

class CollisionScene : public Karana::Scene::Scene#

Scene with added collision-specific interface.

Subclassed by Karana::Scene::CoalScene

Public Functions

virtual ~CollisionScene()#
virtual void broadphase(std::function<void(const CollisionScenePart&, const CollisionScenePart&)> callback) = 0#

Do a coarse sweep over the scene check for potential collisions.

Parameters:

callback – - Function called for each potential collision

virtual void sweep(const std::function<void(const CollisionInfo &collision)> &callback, const std::function<bool(const CollisionScenePart&, const CollisionScenePart&)> &filter = nullptr) = 0#

Do a sweep over the scene checking for collisions.

Parameters:
  • callback – - Function called for each collision

  • filter – - Filter function called for each potiential collision pair

virtual const std::vector<CollisionInfo> &cachedCollisions() const = 0#

Get a list of collisions from the last sweep.

Returns:

The cached collisions

virtual const Karana::Core::ks_ptr<CollisionScenePart> &lookupPart(Karana::Core::id_t) const = 0#

Fetch a part by its id.

Returns:

The part

Protected Functions

CollisionScene(std::string_view name)#

CollisionScene constructor.

Parameters:

name – - Name of the CollisionScene.