group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
Forces.hpp
Go to the documentation of this file.
1
13
14#pragma once
15
17
18#include <glm/vec3.hpp>
19
20namespace physics::forces
21{
22
32void applyImpulse(Registry& registry, entt::entity entity, glm::vec3 impulse) noexcept;
33
36void applyForce(Registry& registry, entt::entity entity, glm::vec3 force) noexcept;
37
45 Registry& registry, entt::entity entity, glm::vec3 impulse, glm::vec3 worldPoint) noexcept;
46
50 Registry& registry, entt::entity entity, glm::vec3 force, glm::vec3 worldPoint) noexcept;
51
53void applyTorque(Registry& registry, entt::entity entity, glm::vec3 torque) noexcept;
54
61void integrateAccumulators(Registry& registry, float dt) noexcept;
62
63} // namespace physics::forces
Shared ECS registry type alias for the game engine.
entt::registry Registry
Shared ECS registry type alias.
Definition Registry.hpp:11
Definition Forces.cpp:15
void applyTorque(Registry &registry, entt::entity entity, glm::vec3 torque) noexcept
Apply a torque (Phase 7). No-op for entities without a RigidBody.
Definition Forces.cpp:67
void applyImpulseAtPoint(Registry &registry, entt::entity entity, glm::vec3 impulse, glm::vec3 worldPoint) noexcept
Apply an off-centre impulse.
Definition Forces.cpp:39
void applyImpulse(Registry &registry, entt::entity entity, glm::vec3 impulse) noexcept
Apply an instantaneous impulse (units: kg·m/s) at the entity's centre-of-mass.
Definition Forces.cpp:17
void integrateAccumulators(Registry &registry, float dt) noexcept
Drain every entity's force / impulse accumulators into its velocity (and, in Phase 7,...
Definition Forces.cpp:73
void applyForce(Registry &registry, entt::entity entity, glm::vec3 force) noexcept
Apply a continuous force (units: kg·m/s²) at the entity's centre.
Definition Forces.cpp:28
void applyForceAtPoint(Registry &registry, entt::entity entity, glm::vec3 force, glm::vec3 worldPoint) noexcept
Apply an off-centre continuous force.
Definition Forces.cpp:54