2017-05-16 04:59:53 +00:00
|
|
|
#include "util.h"
|
|
|
|
#include <ode/ode.h>
|
|
|
|
|
2017-05-16 05:02:08 +00:00
|
|
|
typedef struct {
|
|
|
|
Ref ref;
|
|
|
|
dWorldID id;
|
|
|
|
} World;
|
|
|
|
|
2017-05-16 05:09:32 +00:00
|
|
|
typedef struct {
|
|
|
|
Ref ref;
|
|
|
|
dBodyID id;
|
|
|
|
World* world;
|
|
|
|
} Body;
|
|
|
|
|
2017-05-16 04:59:53 +00:00
|
|
|
void lovrPhysicsInit();
|
|
|
|
void lovrPhysicsDestroy();
|
2017-05-16 05:02:08 +00:00
|
|
|
|
|
|
|
World* lovrWorldCreate();
|
|
|
|
void lovrWorldDestroy(const Ref* ref);
|
2017-05-16 05:03:01 +00:00
|
|
|
void lovrWorldGetGravity(World* world, float* x, float* y, float* z);
|
|
|
|
void lovrWorldSetGravity(World* world, float x, float y, float z);
|
2017-05-16 05:05:48 +00:00
|
|
|
void lovrWorldGetLinearDamping(World* world, float* damping, float* threshold);
|
|
|
|
void lovrWorldSetLinearDamping(World* world, float damping, float threshold);
|
2017-05-16 05:07:54 +00:00
|
|
|
void lovrWorldGetAngularDamping(World* world, float* damping, float* threshold);
|
|
|
|
void lovrWorldSetAngularDamping(World* world, float damping, float threshold);
|
2017-05-16 05:08:27 +00:00
|
|
|
int lovrWorldIsSleepingAllowed(World* world);
|
|
|
|
void lovrWorldSetSleepingAllowed(World* world, int allowed);
|
2017-05-16 05:04:05 +00:00
|
|
|
void lovrWorldUpdate(World* world, float dt);
|
2017-05-16 05:09:32 +00:00
|
|
|
|
|
|
|
Body* lovrBodyCreate();
|
|
|
|
void lovrBodyDestroy(const Ref* ref);
|