Vulkan Schnee 0.0.1 (22840dc8)
High-performance rendering engine
Loading...
Searching...
No Matches
Engine::Components::Collision Class Referenceabstract

Base class for collision shape components. More...

#include <CollisionComponent.h>

Inheritance diagram for Engine::Components::Collision:
Collaboration diagram for Engine::Components::Collision:

Classes

struct  CallbackSubscription

Public Types

using CollisionCallbackHandle = std::uint64_t
 Opaque handle for an overlap callback subscription.

Public Member Functions

 Collision (Engine::Entities::Scene *scene, entt::entity entity)
 Constructs a CollisionComponent.
 ~Collision () override
 Clears callback subscriptions and destroys the current Bullet shape.
void beginPlay () override
 Creates the Bullet shape and registers this component with a same-entity physics body.
void endPlay () override
 Clears callbacks, unregisters from the physics body, and destroys the Bullet shape.
bool drawImGui () override
 Draws the base logic component ImGui controls.
virtual btCollisionShape * createShape ()=0
 Creates the Bullet collision shape.
virtual void destroyShape ()
 Destroys the current shape.
void markDirty ()
 Marks the shape as needing rebuild. Call after changing shape properties (halfExtents, radius, etc.).
void rebuild ()
 Rebuilds the shape and notifies PhysicsBodyComponent.
btCollisionShape * getShape () const
 Gets the current collision shape.
void setLocalOffset (const glm::vec3 &offset)
 Sets the local position offset relative to the body.
glm::vec3 getLocalOffset () const
 Gets the local position offset.
void setLocalRotation (const glm::quat &rotation)
 Sets the local rotation relative to the body.
glm::quat getLocalRotation () const
 Gets the local rotation.
glm::mat4 getLocalTransform () const
 Gets the local transform matrix.
void setIsTrigger (bool trigger)
 Sets whether this collision is a trigger (overlap only, no physics response).
bool isTrigger () const
 Checks if this collision is a trigger.
void setCollisionProfile (Physics::CollisionProfileHandle profile)
 Sets the collision profile handle used for filtering and response lookup.
void setCollisionProfileByName (const std::string &profileName)
 Sets the collision profile by registered profile name.
Physics::CollisionProfileHandle getCollisionProfile () const
 Gets the effective collision profile handle.
template<typename ProfileEnum>
void setCollisionProfile (ProfileEnum profile)
 Sets the collision profile from an enum registered with the active collision profile registry.
virtual void onCollisionBegin (Components::Collision *other)
 Called when a collision with another object begins.
virtual void onCollisionEnd (Components::Collision *other)
 Called when a collision with another object ends.
virtual void onCollisionStay (Components::Collision *other)
 Called every frame while colliding with another object.
virtual void onOverlapBegin (Components::Collision *other)
 Called when an overlap with another collision component begins.
virtual void onOverlapEnd (Components::Collision *other)
 Called when an overlap with another collision component ends.
virtual void onOverlapStay (Components::Collision *other)
 Called every frame while overlapping another collision component.
template<typename ActorType, typename Callback>
CollisionCallbackHandle onOverlapBegin (Callback &&callback)
 Registers a typed overlap-begin callback.
template<typename ActorType, typename Callback>
CollisionCallbackHandle onOverlapEnd (Callback &&callback)
 Registers a typed overlap-end callback.
void removeOverlapCallback (CollisionCallbackHandle handle)
 Removes an overlap callback registered with Collision::onOverlapBegin() or Collision::onOverlapEnd().
void dispatchOverlapBegin (Components::Collision *other)
 Dispatches overlap begin hooks and callbacks.
void dispatchOverlapEnd (Components::Collision *other)
 Dispatches overlap end hooks and callbacks.
void dispatchOverlapStay (Components::Collision *other)
 Dispatches overlap stay hooks.
void dispatchCollisionBegin (Components::Collision *other)
 Dispatches collision begin hooks.
void dispatchCollisionEnd (Components::Collision *other)
 Dispatches collision end hooks.
void dispatchCollisionStay (Components::Collision *other)
 Dispatches collision stay hooks.
Components::PhysicsBody * getBodyComponent () const
 Gets the physics body component this collision is registered with.
Physics::CollisionHandle getCollisionHandle () const
 Gets the runtime collision handle assigned by the physics engine.
void setCollisionHandle (Physics::CollisionHandle handle)
 Sets the runtime collision handle assigned by the physics engine.
virtual void debugDraw (const glm::mat4 &worldTransform) const
 Draws debug visualization of the collision shape.
void setDebugColorSeed (std::uint64_t seed)
 Sets a stable seed used for random debug color selection.
void setDebugName (std::string name)
 Sets the debug display name for this collision component.
const std::string & getDebugName () const
 Gets the debug display name for this collision component.
Public Member Functions inherited from Engine::Components::Logic
 Logic (Entities::Scene *owningScene)
 Constructs a logic component owned by a scene.
 Logic (const Entities::SpawnContext &context)
 Constructs a logic component from spawn context data.
virtual ~Logic ()=default
 Destroys the logic component.
virtual std::string getComponentName () const
 Gets the component type name for debugging/UI.
virtual bool drawImGuiName ()
 Used to alter the name of the entity in the outliner.
virtual void tick (double deltaTime)
 Called every frame if ticking is enabled.
bool hasBegunPlay () const
 Checks whether beginPlay() has been called without a matching endPlay().
bool canTick () const
 Checks if the component is currently set to tick.
void setCanTick (bool enable)
 Enables or disables ticking for this component.
Entities::Entity * getOwningEntity () const
 Gets the entity this component belongs to.

Static Public Member Functions

static void setDebugDrawEnabled (bool enabled)
 Enable or disable debug drawing for all collision components.
static bool isDebugDrawEnabled ()
 Check if debug drawing is enabled globally.

Static Public Attributes

static constexpr bool IsUnique = false
 Multiple collision components can exist on one entity.
static constexpr const char * ComponentName = "Collision"
 Component type name used by engine tools.
Static Public Attributes inherited from Engine::Components::Logic
static constexpr bool IsUnique = false
 Defines whether multiple instances of this component can exist on the same entity. Defaults to false (multiple allowed). Override in derived classes with static constexpr bool IsUnique = true; if needed.
static constexpr const char * ComponentName = "Logic"
 Fallback component type name. Derived classes may override getComponentName() for custom labels.

Protected Member Functions

glm::vec4 getDebugDrawColor (const glm::vec4 &fallbackColor) const
 Gets the color used by debug drawing.
Protected Member Functions inherited from Engine::Components::Logic
Entities::Scene * getScene () const
 Gets the scene this component belongs to.
Core::SceneManager * getSceneManager () const
 Helper to get the SceneManager from the owning scene.

Protected Attributes

entt::entity entity_
 ECS entity associated with this component.
btCollisionShape * shape_ = nullptr
 Current Bullet shape owned by this component.
glm::vec3 localOffset_ {0.0f}
 Local position offset relative to the owning body.
glm::quat localRotation_ {glm::identity<glm::quat>()}
 Local rotation relative to the owning body.
Components::PhysicsBody * bodyComponent_ = nullptr
 Physics body this collision is registered with.
std::string debugName_
 Debug display name.
std::uint64_t debugColorSeed_ = 0
 Stable seed for random debug color selection.
bool hasDebugColorSeed_ = false
 True when debugColorSeed_ was explicitly set.
bool isTrigger_ = false
 Legacy trigger flag retained for compatibility.
bool isDirty_ = false
 True when the shape needs rebuild.
Physics::CollisionProfileHandle collisionProfile_
 Explicit collision profile override.
Physics::CollisionHandle collisionHandle_
 Runtime handle assigned by the physics engine.

Static Protected Attributes

static bool debugDrawEnabled_
 Global collision debug draw toggle.

Private Member Functions

CollisionCallbackHandle addOverlapBeginCallback (std::function< void(Components::Collision *)> callback)
CollisionCallbackHandle addOverlapEndCallback (std::function< void(Components::Collision *)> callback)
void clearCallbacks ()
void registerWithBody ()
void unregisterFromBody ()

Private Attributes

CollisionCallbackHandle nextCallbackHandle_ = 1
std::vector< CallbackSubscription > overlapBeginCallbacks_
std::vector< CallbackSubscription > overlapEndCallbacks_

Detailed Description

Base class for collision shape components.

Collision is the abstract base for shape components such as boxes, spheres, capsules, convex hulls, and triangle meshes. Multiple collision components can be attached to one entity and are combined by Engine::Components::PhysicsBody into one Bullet compound shape.

Derived classes must implement Collision::createShape() and return a heap-allocated Bullet shape. The base class deletes the shape in Collision::destroyShape().

Definition at line 32 of file CollisionComponent.h.

Member Typedef Documentation

◆ CollisionCallbackHandle

Opaque handle for an overlap callback subscription.

Definition at line 40 of file CollisionComponent.h.

Constructor & Destructor Documentation

◆ Collision()

Engine::Components::Collision::Collision ( Engine::Entities::Scene * scene,
entt::entity entity )

Constructs a CollisionComponent.

Parameters
sceneThe owning scene.
entityThe ECS entity associated with this component.

◆ ~Collision()

Engine::Components::Collision::~Collision ( )
override

Clears callback subscriptions and destroys the current Bullet shape.

Member Function Documentation

◆ addOverlapBeginCallback()

CollisionCallbackHandle Engine::Components::Collision::addOverlapBeginCallback ( std::function< void(Components::Collision *)> callback)
private

Referenced by onOverlapBegin().

Here is the caller graph for this function:

◆ addOverlapEndCallback()

CollisionCallbackHandle Engine::Components::Collision::addOverlapEndCallback ( std::function< void(Components::Collision *)> callback)
private

Referenced by onOverlapEnd().

Here is the caller graph for this function:

◆ beginPlay()

void Engine::Components::Collision::beginPlay ( )
overridevirtual

Creates the Bullet shape and registers this component with a same-entity physics body.

Reimplemented from Engine::Components::Logic.

◆ clearCallbacks()

void Engine::Components::Collision::clearCallbacks ( )
private

◆ createShape()

virtual btCollisionShape * Engine::Components::Collision::createShape ( )
pure virtual

Creates the Bullet collision shape.

Derived implementations must allocate the shape with new and return ownership to the collision component. The base component deletes it from Collision::destroyShape().

Returns
Newly allocated Bullet collision shape.

Implemented in Engine::Components::BoxCollision, and Engine::Components::CapsuleCollision.

◆ debugDraw()

virtual void Engine::Components::Collision::debugDraw ( const glm::mat4 & worldTransform) const
virtual

Draws debug visualization of the collision shape.

Override in derived classes to visualize the specific shape type. Uses DebugDraw API to render wireframe representation.

Parameters
worldTransformWorld transform of the entity.

Reimplemented in Engine::Components::BoxCollision, and Engine::Components::CapsuleCollision.

◆ destroyShape()

virtual void Engine::Components::Collision::destroyShape ( )
virtual

Destroys the current shape.

Derived classes that allocate auxiliary Bullet data must override this and release that data after calling the base implementation.

◆ dispatchCollisionBegin()

void Engine::Components::Collision::dispatchCollisionBegin ( Components::Collision * other)

Dispatches collision begin hooks.

Parameters
otherOther collision component.

◆ dispatchCollisionEnd()

void Engine::Components::Collision::dispatchCollisionEnd ( Components::Collision * other)

Dispatches collision end hooks.

Parameters
otherOther collision component.

◆ dispatchCollisionStay()

void Engine::Components::Collision::dispatchCollisionStay ( Components::Collision * other)

Dispatches collision stay hooks.

Parameters
otherOther collision component.

◆ dispatchOverlapBegin()

void Engine::Components::Collision::dispatchOverlapBegin ( Components::Collision * other)

Dispatches overlap begin hooks and callbacks.

Parameters
otherOther collision component, or nullptr for lifetime end invalidation paths.

◆ dispatchOverlapEnd()

void Engine::Components::Collision::dispatchOverlapEnd ( Components::Collision * other)

Dispatches overlap end hooks and callbacks.

Parameters
otherOther collision component, or nullptr for lifetime end invalidation paths.

◆ dispatchOverlapStay()

void Engine::Components::Collision::dispatchOverlapStay ( Components::Collision * other)

Dispatches overlap stay hooks.

Parameters
otherOther collision component.

◆ drawImGui()

bool Engine::Components::Collision::drawImGui ( )
overridevirtual

Draws the base logic component ImGui controls.

Returns
True when the component UI was drawn.

Reimplemented from Engine::Components::Logic.

◆ endPlay()

void Engine::Components::Collision::endPlay ( )
overridevirtual

Clears callbacks, unregisters from the physics body, and destroys the Bullet shape.

Reimplemented from Engine::Components::Logic.

◆ getBodyComponent()

Components::PhysicsBody * Engine::Components::Collision::getBodyComponent ( ) const
inlinenodiscard

Gets the physics body component this collision is registered with.

Returns
Pointer to the body component, or nullptr if not registered.

Definition at line 356 of file CollisionComponent.h.

References bodyComponent_.

Referenced by onOverlapBegin(), and onOverlapEnd().

Here is the caller graph for this function:

◆ getCollisionHandle()

Physics::CollisionHandle Engine::Components::Collision::getCollisionHandle ( ) const
inlinenodiscard

Gets the runtime collision handle assigned by the physics engine.

Returns
Collision handle, or an invalid handle when this component is not registered.

Definition at line 362 of file CollisionComponent.h.

References collisionHandle_.

◆ getCollisionProfile()

Physics::CollisionProfileHandle Engine::Components::Collision::getCollisionProfile ( ) const
nodiscard

Gets the effective collision profile handle.

Returns
Explicit profile, active registry fallback profile, or an invalid handle when no registry exists.

◆ getDebugDrawColor()

glm::vec4 Engine::Components::Collision::getDebugDrawColor ( const glm::vec4 & fallbackColor) const
nodiscardprotected

Gets the color used by debug drawing.

Returns fallbackColor unless random collision debug colors are enabled in engine config. When random colors are enabled, the color comes from Collision::setDebugColorSeed() or from this component's address.

Parameters
fallbackColorColor to use when random debug colors are disabled.
Returns
Debug draw color.

◆ getDebugName()

const std::string & Engine::Components::Collision::getDebugName ( ) const
inlinenodiscard

Gets the debug display name for this collision component.

Returns
Debug name string.

Definition at line 403 of file CollisionComponent.h.

References debugName_.

◆ getLocalOffset()

glm::vec3 Engine::Components::Collision::getLocalOffset ( ) const
inlinenodiscard

Gets the local position offset.

Returns
Position offset in local space.

Definition at line 125 of file CollisionComponent.h.

References localOffset_.

◆ getLocalRotation()

glm::quat Engine::Components::Collision::getLocalRotation ( ) const
inlinenodiscard

Gets the local rotation.

Returns
Rotation quaternion.

Definition at line 137 of file CollisionComponent.h.

References localRotation_.

◆ getLocalTransform()

glm::mat4 Engine::Components::Collision::getLocalTransform ( ) const
nodiscard

Gets the local transform matrix.

Returns
4x4 transform matrix combining offset and rotation.

◆ getShape()

btCollisionShape * Engine::Components::Collision::getShape ( ) const
inlinenodiscard

Gets the current collision shape.

Returns
Pointer to the shape, or nullptr if not created.

Definition at line 109 of file CollisionComponent.h.

References shape_.

◆ isDebugDrawEnabled()

bool Engine::Components::Collision::isDebugDrawEnabled ( )
staticnodiscard

Check if debug drawing is enabled globally.

Returns
True if debug drawing is enabled.

◆ isTrigger()

bool Engine::Components::Collision::isTrigger ( ) const
inlinenodiscard

Checks if this collision is a trigger.

Returns
True if trigger mode.

Definition at line 163 of file CollisionComponent.h.

References isTrigger_.

◆ markDirty()

void Engine::Components::Collision::markDirty ( )

Marks the shape as needing rebuild. Call after changing shape properties (halfExtents, radius, etc.).

◆ onCollisionBegin()

virtual void Engine::Components::Collision::onCollisionBegin ( Components::Collision * other)
virtual

Called when a collision with another object begins.

Parameters
otherThe other collision component.

◆ onCollisionEnd()

virtual void Engine::Components::Collision::onCollisionEnd ( Components::Collision * other)
virtual

Called when a collision with another object ends.

Parameters
otherThe other collision component.

◆ onCollisionStay()

virtual void Engine::Components::Collision::onCollisionStay ( Components::Collision * other)
virtual

Called every frame while colliding with another object.

Parameters
otherThe other collision component.

◆ onOverlapBegin() [1/2]

template<typename ActorType, typename Callback>
CollisionCallbackHandle Engine::Components::Collision::onOverlapBegin ( Callback && callback)
inline

Registers a typed overlap-begin callback.

The callback runs only when the other collision's owning actor is an ActorType. The callback receives that actor by reference.

Template Parameters
ActorTypeActor type required for callback dispatch.
CallbackCallable type invocable with ActorType &.
Parameters
callbackCallback invoked on matching overlap begin events.
Returns
Handle that can be removed with Collision::removeOverlapCallback().

Definition at line 263 of file CollisionComponent.h.

References addOverlapBeginCallback(), getBodyComponent(), and Engine::Components::PhysicsBody::getHitActor().

Here is the call graph for this function:

◆ onOverlapBegin() [2/2]

virtual void Engine::Components::Collision::onOverlapBegin ( Components::Collision * other)
virtual

Called when an overlap with another collision component begins.

Parameters
otherThe other collision component.

◆ onOverlapEnd() [1/2]

template<typename ActorType, typename Callback>
CollisionCallbackHandle Engine::Components::Collision::onOverlapEnd ( Callback && callback)
inline

Registers a typed overlap-end callback.

The callback runs only when the other collision's owning actor is an ActorType. The callback receives that actor by reference.

Template Parameters
ActorTypeActor type required for callback dispatch.
CallbackCallable type invocable with ActorType &.
Parameters
callbackCallback invoked on matching overlap end events.
Returns
Handle that can be removed with Collision::removeOverlapCallback().

Definition at line 292 of file CollisionComponent.h.

References addOverlapEndCallback(), getBodyComponent(), and Engine::Components::PhysicsBody::getHitActor().

Here is the call graph for this function:

◆ onOverlapEnd() [2/2]

virtual void Engine::Components::Collision::onOverlapEnd ( Components::Collision * other)
virtual

Called when an overlap with another collision component ends.

Parameters
otherThe other collision component.

◆ onOverlapStay()

virtual void Engine::Components::Collision::onOverlapStay ( Components::Collision * other)
virtual

Called every frame while overlapping another collision component.

Parameters
otherThe other collision component.

◆ rebuild()

void Engine::Components::Collision::rebuild ( )

Rebuilds the shape and notifies PhysicsBodyComponent.

If this component is not dirty, the call does nothing.

◆ registerWithBody()

void Engine::Components::Collision::registerWithBody ( )
private

◆ removeOverlapCallback()

void Engine::Components::Collision::removeOverlapCallback ( CollisionCallbackHandle handle)

Removes an overlap callback registered with Collision::onOverlapBegin() or Collision::onOverlapEnd().

Parameters
handleCallback handle returned at registration time.

◆ setCollisionHandle()

void Engine::Components::Collision::setCollisionHandle ( Physics::CollisionHandle handle)
inline

Sets the runtime collision handle assigned by the physics engine.

Parameters
handleCollision handle to store.

Definition at line 368 of file CollisionComponent.h.

References collisionHandle_.

◆ setCollisionProfile() [1/2]

void Engine::Components::Collision::setCollisionProfile ( Physics::CollisionProfileHandle profile)

Sets the collision profile handle used for filtering and response lookup.

Invalid handles are replaced with the active registry fallback profile when a registry exists. Changing the profile marks collision filters dirty on the owning physics body.

Parameters
profileCollision profile handle to assign.

Referenced by setCollisionProfile().

Here is the caller graph for this function:

◆ setCollisionProfile() [2/2]

template<typename ProfileEnum>
void Engine::Components::Collision::setCollisionProfile ( ProfileEnum profile)
inline

Sets the collision profile from an enum registered with the active collision profile registry.

If no active registry exists, the call does nothing.

Template Parameters
ProfileEnumEnum type registered with Physics::CollisionProfileRegistry.
Parameters
profileEnum value to resolve.

Definition at line 203 of file CollisionComponent.h.

References Engine::Physics::getActiveCollisionProfileRegistry(), and setCollisionProfile().

Here is the call graph for this function:

◆ setCollisionProfileByName()

void Engine::Components::Collision::setCollisionProfileByName ( const std::string & profileName)

Sets the collision profile by registered profile name.

If no active registry exists or profileName is unknown, the call does nothing.

Parameters
profileNameFull profile name registered in the active collision profile registry.

◆ setDebugColorSeed()

void Engine::Components::Collision::setDebugColorSeed ( std::uint64_t seed)

Sets a stable seed used for random debug color selection.

The seed is used only when random collision debug colors are enabled in engine config.

Parameters
seedStable debug color seed.

◆ setDebugDrawEnabled()

void Engine::Components::Collision::setDebugDrawEnabled ( bool enabled)
static

Enable or disable debug drawing for all collision components.

Parameters
enabledTrue to enable debug drawing.

◆ setDebugName()

void Engine::Components::Collision::setDebugName ( std::string name)

Sets the debug display name for this collision component.

Parameters
nameDebug name shown by tooling and logs.

◆ setIsTrigger()

void Engine::Components::Collision::setIsTrigger ( bool trigger)

Sets whether this collision is a trigger (overlap only, no physics response).

Prefer collision profiles that resolve to Physics::CollisionResponse::Overlap. This legacy flag marks collision filters dirty on the owning physics body.

Parameters
triggerTrue for trigger mode.

◆ setLocalOffset()

void Engine::Components::Collision::setLocalOffset ( const glm::vec3 & offset)

Sets the local position offset relative to the body.

Parameters
offsetPosition offset in local space.

◆ setLocalRotation()

void Engine::Components::Collision::setLocalRotation ( const glm::quat & rotation)

Sets the local rotation relative to the body.

Parameters
rotationRotation quaternion.

◆ unregisterFromBody()

void Engine::Components::Collision::unregisterFromBody ( )
private

Member Data Documentation

◆ bodyComponent_

Components::PhysicsBody* Engine::Components::Collision::bodyComponent_ = nullptr
protected

Physics body this collision is registered with.

Definition at line 435 of file CollisionComponent.h.

Referenced by getBodyComponent().

◆ collisionHandle_

Physics::CollisionHandle Engine::Components::Collision::collisionHandle_
protected

Runtime handle assigned by the physics engine.

Definition at line 442 of file CollisionComponent.h.

Referenced by getCollisionHandle(), and setCollisionHandle().

◆ collisionProfile_

Physics::CollisionProfileHandle Engine::Components::Collision::collisionProfile_
protected

Explicit collision profile override.

Definition at line 441 of file CollisionComponent.h.

◆ ComponentName

const char* Engine::Components::Collision::ComponentName = "Collision"
staticconstexpr

Component type name used by engine tools.

Definition at line 37 of file CollisionComponent.h.

◆ debugColorSeed_

std::uint64_t Engine::Components::Collision::debugColorSeed_ = 0
protected

Stable seed for random debug color selection.

Definition at line 437 of file CollisionComponent.h.

◆ debugDrawEnabled_

bool Engine::Components::Collision::debugDrawEnabled_
staticprotected

Global collision debug draw toggle.

Definition at line 430 of file CollisionComponent.h.

◆ debugName_

std::string Engine::Components::Collision::debugName_
protected

Debug display name.

Definition at line 436 of file CollisionComponent.h.

Referenced by getDebugName().

◆ entity_

entt::entity Engine::Components::Collision::entity_
protected

ECS entity associated with this component.

Definition at line 431 of file CollisionComponent.h.

◆ hasDebugColorSeed_

bool Engine::Components::Collision::hasDebugColorSeed_ = false
protected

True when debugColorSeed_ was explicitly set.

Definition at line 438 of file CollisionComponent.h.

◆ isDirty_

bool Engine::Components::Collision::isDirty_ = false
protected

True when the shape needs rebuild.

Definition at line 440 of file CollisionComponent.h.

◆ isTrigger_

bool Engine::Components::Collision::isTrigger_ = false
protected

Legacy trigger flag retained for compatibility.

Definition at line 439 of file CollisionComponent.h.

Referenced by isTrigger().

◆ IsUnique

bool Engine::Components::Collision::IsUnique = false
staticconstexpr

Multiple collision components can exist on one entity.

Definition at line 36 of file CollisionComponent.h.

◆ localOffset_

glm::vec3 Engine::Components::Collision::localOffset_ {0.0f}
protected

Local position offset relative to the owning body.

Definition at line 433 of file CollisionComponent.h.

Referenced by getLocalOffset().

◆ localRotation_

glm::quat Engine::Components::Collision::localRotation_ {glm::identity<glm::quat>()}
protected

Local rotation relative to the owning body.

Definition at line 434 of file CollisionComponent.h.

Referenced by getLocalRotation().

◆ nextCallbackHandle_

CollisionCallbackHandle Engine::Components::Collision::nextCallbackHandle_ = 1
private

Definition at line 458 of file CollisionComponent.h.

◆ overlapBeginCallbacks_

std::vector<CallbackSubscription> Engine::Components::Collision::overlapBeginCallbacks_
private

Definition at line 459 of file CollisionComponent.h.

◆ overlapEndCallbacks_

std::vector<CallbackSubscription> Engine::Components::Collision::overlapEndCallbacks_
private

Definition at line 460 of file CollisionComponent.h.

◆ shape_

btCollisionShape* Engine::Components::Collision::shape_ = nullptr
protected

Current Bullet shape owned by this component.

Definition at line 432 of file CollisionComponent.h.

Referenced by getShape().


The documentation for this class was generated from the following file:
  • /workspace/magerbeton/gl3-vulkan/code/Engine/include/Engine/Component/Collision/CollisionComponent.h