group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
RigidBody.hpp
Go to the documentation of this file.
1
9
10#pragma once
11
12#include <cstdint>
13#include <glm/mat3x3.hpp>
14#include <glm/vec3.hpp>
15
24{
28 float invMass = 1.0f / 80.0f;
29
34 glm::mat3 localInvInertia{0.0f};
35
40 glm::mat3 invInertiaWorld{0.0f};
41
43 glm::vec3 forceAccum{0.0f};
44
47 glm::vec3 impulseAccum{0.0f};
48
50 glm::vec3 torqueAccum{0.0f};
51
53 glm::vec3 angImpulseAccum{0.0f};
54
57 float linearDamping = 0.0f;
58
60 float angularDamping = 0.05f;
61
63 bool isAsleep = false;
64
67 uint16_t sleepCounter = 0;
68};
Dynamic-body state shared across the force, impulse, and (Phase 7+) constraint-solver paths.
Definition RigidBody.hpp:24
bool isAsleep
Sleep state (Phase 12). Sleeping bodies skip integration.
Definition RigidBody.hpp:63
glm::mat3 invInertiaWorld
World-space inverse inertia tensor.
Definition RigidBody.hpp:40
float invMass
Inverse mass.
Definition RigidBody.hpp:28
glm::vec3 torqueAccum
Continuous torque accumulator (Phase 7).
Definition RigidBody.hpp:50
float angularDamping
Per-frame angular damping factor (Phase 7).
Definition RigidBody.hpp:60
glm::vec3 angImpulseAccum
Instantaneous angular-impulse accumulator (Phase 7).
Definition RigidBody.hpp:53
glm::vec3 forceAccum
Continuous force accumulator. Integrated as dv += F * dt * invMass.
Definition RigidBody.hpp:43
float linearDamping
Per-frame linear damping factor.
Definition RigidBody.hpp:57
glm::mat3 localInvInertia
Local-space inverse inertia tensor.
Definition RigidBody.hpp:34
glm::vec3 impulseAccum
Instantaneous impulse accumulator.
Definition RigidBody.hpp:47
uint16_t sleepCounter
Frames since the body's energy dropped below the sleep threshold (Phase 12).
Definition RigidBody.hpp:67