Class CollisionScene#
Defined in File CollisionScene.h
Inheritance Relationships#
Base Type#
public Karana::Scene::Scene(Class Scene)
Derived Type#
public Karana::Scene::CoalScene(Class CoalScene)
Class Documentation#
-
class CollisionScene : public Karana::Scene::Scene#
Scene with added collision-specific interface.
See Scene layer for more discussion on the scene layer.
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.
-
virtual ~CollisionScene()#