Class CoalScene#

Inheritance Relationships#

Base Type#

Class Documentation#

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

CollisionScene implementation using the COAL library.

See Scene layer for more discussion on the scene layer.

Public Functions

CoalScene(std::string_view name)#

CoalScene constructor.

Parameters:

name – - Name for the CoalScene.

~CoalScene()#
virtual void broadphase(std::function<void(const CollisionScenePart&, const CollisionScenePart&)> callback) override#

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) override#

Do a sweep over the scene checking for collisions.

Parameters:
  • callback – - Function called for each collision

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

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

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 override#

Fetch a part by its id.

Returns:

The part

Public Static Functions

static Karana::Core::ks_ptr<CoalScene> create(std::string_view name)#

Create a CoalScene.

Parameters:

name – - Name for the CoalScene

Returns:

The created CoalScene

Protected Functions

virtual void _discard(Karana::Core::ks_ptr<Karana::Core::Base> &base) override#

This does the work to discard the CoalScene.

Parameters:

base – - A Base pointer to the CoalScene to discard.