summaryrefslogtreecommitdiff
path: root/source/modules/asura-box2d/Physics/Body.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-08-02 20:51:00 +0800
committerchai <chaifix@163.com>2019-08-02 20:51:00 +0800
commitbad78945ceba425f6a80e3b8dca2414d592970eb (patch)
tree8bf7540766349c534bf9e5746b24fd7507ba034e /source/modules/asura-box2d/Physics/Body.h
parent99b90496765df21c5f377f42b9ed073ccb34c1fd (diff)
*修改文件名格式
Diffstat (limited to 'source/modules/asura-box2d/Physics/Body.h')
-rw-r--r--source/modules/asura-box2d/Physics/Body.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/source/modules/asura-box2d/Physics/Body.h b/source/modules/asura-box2d/Physics/Body.h
new file mode 100644
index 0000000..e5af76a
--- /dev/null
+++ b/source/modules/asura-box2d/Physics/Body.h
@@ -0,0 +1,67 @@
+#ifndef __ASURA_BOX2D_BODY_H__
+#define __ASURA_BOX2D_BODY_H__
+
+#include <Box2D/Box2D.h>
+
+#include <asura-utils/Scripting/Portable.hpp>
+
+namespace AsuraEngine
+{
+ namespace Physics
+ {
+
+ class World;
+ class Joint;
+
+ enum BodyType
+ {
+ BODY_TYPE_INVALID,
+ BODY_TYPE_STATIC,
+ BODY_TYPE_DYNAMIC,
+ BODY_TYPE_KINEMATIC
+ };
+
+ class Body
+ : public AEScripting::Portable<Body>
+ {
+ public:
+
+ private:
+
+ friend class Joint;
+
+ //----------------------------------------------------------------------------//
+
+ LUAX_DECL_FACTORY(Body);
+
+ LUAX_DECL_ENUM(BodyType, 1);
+
+ LUAX_DECL_METHOD(_GetType);
+ LUAX_DECL_METHOD(_GetX);
+ LUAX_DECL_METHOD(_GetY);
+ LUAX_DECL_METHOD(_GetAngle);
+ LUAX_DECL_METHOD(_GetPosition);
+ LUAX_DECL_METHOD(_GetLinearVelocity);
+ LUAX_DECL_METHOD(_GetWorldCenter);
+ LUAX_DECL_METHOD(_GetLocalCenter);
+ LUAX_DECL_METHOD(_GetAngularVelocity);
+ LUAX_DECL_METHOD(_GetMass);
+ LUAX_DECL_METHOD(_GetInertia);
+ LUAX_DECL_METHOD(_GetMassData);
+ LUAX_DECL_METHOD(_GetAngularDamping);
+ LUAX_DECL_METHOD(_GetLinearDamping);
+ LUAX_DECL_METHOD(_GetGravityScale);
+ LUAX_DECL_METHOD(_GetGravityScale);
+
+ //----------------------------------------------------------------------------//
+
+ b2Body *body;
+
+ World* mWorld;
+
+ };
+
+ }
+}
+
+#endif \ No newline at end of file