Class FrameCollider#
Defined in File FrameCollider.h
Class Documentation#
-
class FrameCollider#
Helper to bridge CollisionScene collisions to Frames.
Public Types
-
using col_func = std::function<void(const FrameContact&)>#
Type alias for collision handler callbacks.
-
using filter_func = std::function<bool(const Karana::Scene::CollisionScenePart&, const Karana::Scene::CollisionScenePart&)>#
Type alias for collision filter callbacks.
Public Functions
-
FrameCollider(const Karana::Core::ks_ptr<Karana::Scene::ProxyScene> &proxy_scene, const Karana::Core::ks_ptr<Karana::Scene::CollisionScene> &collision_scene)#
FrameCollider constructor.
- Parameters:
proxy_scene – - The ProxyScene managing the CollisionScene
collision_scene – - The CollisionScene instance
-
FrameCollider(const FrameCollider &other) = default#
FrameCollider copy constructor.
- Parameters:
other – - The FrameCollider to copy.
-
FrameCollider &operator=(const FrameCollider &other) = default#
FrameCollider copy assignment operator.
- Parameters:
other – - The FrameCollider to copy.
- Returns:
This FrameCollider.
-
virtual ~FrameCollider()#
-
void collide(col_func collision_handler, filter_func filter = nullptr)#
Process all collisions.
Sweeps through all contacts between geometries attached to Frames, calling the collision handler for each unfiltered contact.
- Parameters:
collision_handler – - Callback to handle a contact
filter – - Callback to skip potential collisions in the broadphase.
-
Karana::Core::ks_ptr<Karana::Frame::Frame> lookupPartFrame(const Karana::Scene::CollisionScenePart &part)#
Get the Frame that a CollisionScenePart is attached to.
- Parameters:
part – - A CollisionScenePart managed by ProxyScene
- Returns:
The ancestor Frame for the part.
-
using col_func = std::function<void(const FrameContact&)>#