hx3d  1
2D/3D Simple Game Framework
circle.cpp
1 #include "hx3d/physics/2d/colliders/circle.hpp"
2 
3 #include <glm/gtc/constants.hpp>
4 
5 namespace hx3d {
6 namespace physics2d {
7 namespace colliders {
8 
9 Circle::Circle(float radius, const Type colliderType):
10  Collider(Shape::Circle, colliderType),
11  radius(radius)
12 {
13  setDensity(1.f);
14 }
15 
16 void Circle::setOrientation(float angle) {
17 }
18 
19 void Circle::computeMass(float density) {
20  float mass = glm::pi<float>() * radius * radius * density;
21  massData.setMass(mass);
22 
23  float inertia = mass * radius * radius;
24  massData.setInertia(inertia);
25 }
26 
27 } /* colliders */
28 } /* physics2d */
29 } /* hx3d */
Mass massData
Mass data.
Definition: collider.hpp:175
void setDensity(float density)
Set collider density.
Definition: collider.cpp:66
Circle(float radius, const Type colliderType=Type::Dynamic)
Create a circle.
Definition: circle.cpp:9
Type
Collider type.
Definition: collider.hpp:46
hx3d framework namespace
Definition: audio.hpp:26
virtual void setOrientation(float angle) override
Set the collider orientation.
Definition: circle.cpp:16
Circle shaped collider.
Definition: circle.hpp:37
Shape
Collider shape.
Definition: collider.hpp:58
void setInertia(float amount)
Set the current inertia.
Definition: mass.cpp:19
virtual void computeMass(float density) override
Compute the collider mass.
Definition: circle.cpp:19
Physical collider.
Definition: collider.hpp:40
void setMass(float amount)
Set the current mass.
Definition: mass.cpp:14