❖
Monad Engine
da02fba2
>
Undercity Codex
_
Loading...
Searching...
No Matches
RigidBody.h
Go to the documentation of this file.
1
#pragma once
2
#include "physics/Collider.h"
3
#include "physics/CollisionObject.h"
4
5
#include <glm/gtc/quaternion.hpp>
6
7
#include <memory>
8
9
class
btRigidBody;
10
11
namespace
eng
12
{
13
enum class
BodyType
14
{
15
Static
,
16
Dynamic
,
17
Kinematic
18
};
19
20
class
RigidBody
:
public
CollisionObject
21
{
22
public
:
23
RigidBody
(
BodyType
type,
const
std::shared_ptr<Collider>& collider,
float
mass,
float
friction);
24
~RigidBody
();
25
btRigidBody*
GetBody
();
26
void
SetAddedToWorld
(
bool
added);
27
bool
IsAddedToWorld
()
const
;
28
29
BodyType
GetType
()
const
;
30
31
void
SetPosition
(
const
glm::vec3& pos);
32
glm::vec3
GetPosition
()
const
;
33
void
SetRotation
(
const
glm::quat& rot);
34
glm::quat
GetRotation
()
const
;
35
36
void
ApplyImpulse
(
const
glm::vec3& impulse);
37
38
private
:
39
std::unique_ptr<btRigidBody> m_body;
40
BodyType
m_type =
BodyType::Static
;
41
std::shared_ptr<Collider> m_collider;
42
float
m_mass = 0.0f;
43
float
m_friction = 0.5f;
44
bool
m_addedToWorld =
false
;
45
};
46
}
eng::CollisionObject
Definition
CollisionObject.h:17
eng::RigidBody
Definition
RigidBody.h:21
eng::RigidBody::SetRotation
void SetRotation(const glm::quat &rot)
Definition
RigidBody.cpp:99
eng::RigidBody::IsAddedToWorld
bool IsAddedToWorld() const
Definition
RigidBody.cpp:63
eng::RigidBody::~RigidBody
~RigidBody()
Definition
RigidBody.cpp:45
eng::RigidBody::ApplyImpulse
void ApplyImpulse(const glm::vec3 &impulse)
Definition
RigidBody.cpp:125
eng::RigidBody::SetPosition
void SetPosition(const glm::vec3 &pos)
Definition
RigidBody.cpp:73
eng::RigidBody::GetBody
btRigidBody * GetBody()
Definition
RigidBody.cpp:53
eng::RigidBody::SetAddedToWorld
void SetAddedToWorld(bool added)
Definition
RigidBody.cpp:58
eng::RigidBody::GetType
BodyType GetType() const
Definition
RigidBody.cpp:68
eng::RigidBody::GetRotation
glm::quat GetRotation() const
Definition
RigidBody.cpp:115
eng::RigidBody::GetPosition
glm::vec3 GetPosition() const
Definition
RigidBody.cpp:89
eng
Definition
Application.cpp:4
eng::BodyType
BodyType
Definition
RigidBody.h:14
eng::BodyType::Kinematic
@ Kinematic
eng::BodyType::Static
@ Static
eng::BodyType::Dynamic
@ Dynamic
docs
GD-Engine-lesson-5-2
engine
source
physics
RigidBody.h
Generated by
1.9.8