Monad Engine da02fba2
> Undercity Codex_
Loading...
Searching...
No Matches
Collider.cpp
Go to the documentation of this file.
1#include "physics/Collider.h"
2
3#include <btBulletCollisionCommon.h>
4
5#include "Types.h"
6
7namespace mnd
8{
10{
11 if (m_shape)
12 {
13 delete m_shape;
14 }
15}
16
17btCollisionShape *Collider::GetShape()
18{
19 return m_shape;
20}
21
23{
24 vec3 halfExtents = extents * 0.5f;
25 m_shape = new btBoxShape(btVector3(halfExtents.x, halfExtents.y, halfExtents.z));
26}
27
29{
30 m_shape = new btSphereShape(radius);
31}
32
33CapsuleCollider::CapsuleCollider(float radius, float height)
34{
35 m_shape = new btCapsuleShape(btScalar(radius), btScalar(height));
36}
37} // namespace mnd
Engine-wide primitive type aliases and GLM math imports.
BoxCollider(const glm::vec3 &extents)
Definition Collider.cpp:22
CapsuleCollider(float radius, float height)
Definition Collider.cpp:33
btCollisionShape * GetShape()
Underlying Bullet shape (borrowed, do not delete).
Definition Collider.cpp:17
btCollisionShape * m_shape
Definition Collider.h:31
virtual ~Collider()
Definition Collider.cpp:9
SphereCollider(float radius)
Definition Collider.cpp:28
glm::vec3 vec3
3-component float vector (e.g. world position, RGB colour, normals).
Definition Types.h:51