16 RigidBody(uint32_t
id,
double mass, std::unique_ptr<Bounding::ICollider> collider, glm::vec3 pos = glm::vec3(0.0f),
bool isStatic =
false);
17 explicit RigidBody(uint32_t
id, std::unique_ptr<Bounding::ICollider> collider, glm::vec3 pos = glm::vec3(0.0f),
bool isStatic =
true);
34 void setScale(
const glm::vec3& newScale);
35 void setGeometry(
const std::vector<glm::vec3>& vertices,
const std::vector<unsigned int>& indices);
37 std::unique_ptr<Bounding::ICollider> collider;
38 glm::vec3 scale = glm::vec3(1.0f);
39 std::vector<glm::vec3> meshVertices;
40 std::vector<unsigned int> meshIndices;
42 void recomputeGeometry();
bool resolveCollisionWith(float dt, PhysicsBody &other) override
bool collidesWith(const PhysicsBody &other) const override
bool collidesWithPointMass(const PointMass &pm) const override
bool resolveCollisionWithPointMass(float dt, PointMass &pm) override
Bounding::ICollider * getCollider() const override
bool resolveCollisionWithRigidBody(float dt, RigidBody &rb) override
void recordFrame(float t, BodyLock lock) override
bool collidesWithRigidBody(const RigidBody &rb) const override
void step(float dt, BodyLock lock) override
void loadFrame(const ObjectSnapshot &snapshot, BodyLock lock) override
void setGeometry(const std::vector< glm::vec3 > &vertices, const std::vector< unsigned int > &indices)
void setScale(const glm::vec3 &newScale)