3#include <bullet/btBulletCollisionCommon.h>
4#include "Common/Math.hpp"
5#include "EngineCore/ECS/Entity.hpp"
6#include "EngineCore/Reflection/ComponentReflection.hpp"
8namespace Grindstone::Physics {
10 virtual void Initialize() = 0;
12 btCollisionShape* collisionShape =
nullptr;
17 virtual void Initialize()
override;
18 virtual void SetRadius(
float radius);
19 virtual float GetRadius()
const;
23 REFLECT(
"SphereCollider")
27 virtual void Initialize()
override;
28 virtual void SetCollider(
Math::Float3 planeNormal,
float positionAlongNormal);
30 virtual float GetPositionAlongNormal()
const;
33 float positionAlongNormal;
35 REFLECT(
"PlaneCollider")
39 virtual void Initialize()
override;
45 REFLECT(
"BoxCollider")
49 virtual void Initialize()
override;
50 virtual void SetCollider(
float radius,
float height);
51 virtual float GetRadius()
const;
52 virtual float GetHeight()
const;
57 REFLECT(
"CapsuleCollider")
Definition FloatVectors.cs:108
Definition ColliderComponent.hpp:38
Definition ColliderComponent.hpp:48
Definition ColliderComponent.hpp:9
Definition ColliderComponent.hpp:26
Definition ColliderComponent.hpp:16