3#ifndef TRAM_SDK_COMPONENTS_PHYSICSCOMPONENT_H
4#define TRAM_SDK_COMPONENTS_PHYSICSCOMPONENT_H
55 Physics::rigidbody_t rigidbody = {
nullptr};
57 float rigidbody_mass = 1.0f;
59 bool rigidbody_should_sleep =
true;
60 bool rigidbody_should_awake =
false;
61 bool update_parent_transform =
true;
62 bool rigidbody_kinematic =
false;
63 bool rigidbody_debug_draw =
true;
65 vec3 rigidbody_position = {0.0f, 0.0f, 0.0f};
66 quat rigidbody_rotation = {1.0f, 0.0f, 0.0f, 0.0f};
68 vec3 rigidbody_offset = {0.0f, 0.0f, 0.0f};
69 vec3 rigidbody_angular_factor = {1.0f, 1.0f, 1.0f};
70 vec3 rigidbody_linear_factor = {1.0f, 1.0f, 1.0f};
72 uint32_t rigidbody_collision_mask = -1;
73 uint32_t rigidbody_collision_group = -1;
Component base class.
Definition: entitycomponent.h:16
Rigidbody wrapper.
Definition: physics.h:12
void SetRotation(quat rotation)
Sets the rotation of the physics object.
Definition: physics.cpp:262
void SetCollisionMask(uint32_t flags)
Sets the collision mask of the physics object.
Definition: physics.cpp:110
void Push(vec3 direction)
Pushes the physics object.
Definition: physics.cpp:156
void SetShape(Physics::CollisionShape shape)
Sets the collision shape of the physics object.
Definition: physics.cpp:136
void SetUpdateParentTransform(bool update)
Sets whether the movement of the rigibody should update parent Entity's transform.
Definition: physics.cpp:245
void Spin(vec3 direction)
Definition: physics.cpp:173
~PhysicsComponent()
Definition: physics.cpp:72
void SetAngularFactor(vec3 factor)
Sets the angular factor of the physics object.
Definition: physics.cpp:276
void EventHandler(Event &event)
Definition: physics.h:16
void SetLocation(vec3 location)
Sets the position of the physics object.
Definition: physics.cpp:250
vec3 GetVelocity()
Returns the velocity of the physics object.
Definition: physics.cpp:326
void SetCollisionGroup(uint32_t flags)
Sets the collision group of the physics object.
Definition: physics.cpp:125
uint32_t GetCollisionMask()
Returns the collision mask.
Definition: physics.cpp:95
void Start()
Definition: physics.cpp:25
void SetKinematic(bool kinematic)
Sets the physics object to kinematic.
Definition: physics.cpp:225
void SetVelocity(const vec3 &velocity)
Sets the velocity of the physics object.
Definition: physics.cpp:310
void Sleep()
Puts the object to sleep.
Definition: physics.cpp:193
void Awaken()
Awakens the object.
Definition: physics.cpp:183
uint32_t GetCollisionGroup()
Returns the collision group.
Definition: physics.cpp:101
void SetDebugDrawing(bool drawing)
Sets the debug drawing of a physics object.
Definition: physics.cpp:205
void SetLinearFactor(vec3 factor)
Sets the angular factor of the physics object.
Definition: physics.cpp:288
void DisableDeactivation()
Disables deactivation of the object.
Definition: physics.cpp:299
void SetModel(name_t model)
Sets the collision model.
Definition: physics.cpp:89
void SetMass(float mass)
Sets the mass of the physics object.
Definition: physics.cpp:144
PhysicsComponent()
Definition: physics.h:14
name_t GetModel()
Returns the name of the collision model.
Definition: physics.cpp:84
Definition: resource.h:46
glm::vec3 vec3
Definition: math.h:11
glm::quat quat
Definition: math.h:12
Event data.
Definition: event.h:24
Shape for a collider.
Definition: collisionshape.h:32
Interned string type.
Definition: uid.h:10