1 #ifndef RAYLIB_CPP_INCLUDE_PHYSICS_HPP_
2 #define RAYLIB_CPP_INCLUDE_PHYSICS_HPP_
4 #include "./raylib.hpp"
5 #include "./physac.hpp"
6 #include "./Vector2.hpp"
20 SetGravity(0, gravityY);
23 Physics(
float gravityX,
float gravityY) {
25 SetGravity(gravityX, gravityY);
52 inline Physics& SetTimeStep(
double delta) {
53 ::SetPhysicsTimeStep(delta);
57 inline Physics& SetGravity(
float x,
float y) {
58 ::SetPhysicsGravity(x, y);
62 inline PhysicsBody CreateBodyCircle(
Vector2 pos,
float radius,
float density) {
63 return ::CreatePhysicsBodyCircle(pos, radius, density);
66 inline PhysicsBody CreateBodyRectangle(
Vector2 pos,
float width,
float height,
float density) {
67 return ::CreatePhysicsBodyRectangle(pos, width, height, density);
70 inline PhysicsBody CreateBodyPolygon(
Vector2 pos,
float radius,
int sides,
float density) {
71 return ::CreatePhysicsBodyPolygon(pos, radius, sides, density);
74 inline Physics& DestroyBody(PhysicsBody body) {
75 ::DestroyPhysicsBody(body);
80 ::PhysicsAddForce(body, force);
84 inline Physics& AddTorque(PhysicsBody body,
float amount) {
85 ::PhysicsAddTorque(body, amount);
89 inline Physics& Shatter(PhysicsBody body,
Vector2 position,
float force) {
90 ::PhysicsShatter(body, position, force);
94 inline Physics& SetBodyRotation(PhysicsBody body,
float radians) {
95 ::SetPhysicsBodyRotation(body, radians);
99 inline int GetBodiesCount()
const {
100 return ::GetPhysicsBodiesCount();
103 inline PhysicsBody GetBody(
int index)
const {
104 return ::GetPhysicsBody(index);
107 inline int GetShapeType(
int index)
const {
108 return ::GetPhysicsShapeType(index);
111 inline int GetShapeVerticesCount(
int index)
const {
112 return ::GetPhysicsShapeVerticesCount(index);
115 inline Vector2 GetShapeVertex(PhysicsBody body,
int vertex)
const {
116 return ::GetPhysicsShapeVertex(body, vertex);
121 #endif // RAYLIB_CPP_INCLUDE_PHYSICS_HPP_