|
|
@@ -8,11 +8,11 @@ extern "C" {
|
|
|
#include "lauxlib.h"
|
|
|
} // extern "C"
|
|
|
|
|
|
+#include "Polycode3DPhysics.h"
|
|
|
#include "PolyCollisionScene.h"
|
|
|
-#include "PolyPhysicsScene.h"
|
|
|
#include "PolyCollisionSceneEntity.h"
|
|
|
+#include "PolyPhysicsScene.h"
|
|
|
#include "PolyPhysicsSceneEntity.h"
|
|
|
-#include "Polycode3DPhysics.h"
|
|
|
|
|
|
namespace Polycode {
|
|
|
|
|
|
@@ -213,6 +213,99 @@ static int Physics3D_delete_CollisionScene(lua_State *L) {
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+static int Physics3D_CollisionSceneEntity_get_lastPosition(lua_State *L) {
|
|
|
+ luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
|
|
|
+ CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
|
|
|
+ lua_pushlightuserdata(L, &inst->lastPosition);
|
|
|
+ return 1;
|
|
|
+}
|
|
|
+
|
|
|
+static int Physics3D_CollisionSceneEntity_get_enabled(lua_State *L) {
|
|
|
+ luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
|
|
|
+ CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
|
|
|
+ lua_pushboolean(L, inst->enabled);
|
|
|
+ return 1;
|
|
|
+}
|
|
|
+
|
|
|
+static int Physics3D_CollisionSceneEntity_set_enabled(lua_State *L) {
|
|
|
+ luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
|
|
|
+ CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
|
|
|
+ bool param = lua_toboolean(L, 2);
|
|
|
+ inst->enabled = param;
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
+static int Physics3D_CollisionSceneEntity(lua_State *L) {
|
|
|
+ luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
|
|
|
+ SceneEntity * entity = (SceneEntity *)lua_topointer(L, 1);
|
|
|
+ luaL_checktype(L, 2, LUA_TNUMBER);
|
|
|
+ int type = lua_tointeger(L, 2);
|
|
|
+ CollisionSceneEntity *inst = new CollisionSceneEntity(entity, type);
|
|
|
+ lua_pushlightuserdata(L, (void*)inst);
|
|
|
+ return 1;
|
|
|
+}
|
|
|
+
|
|
|
+static int Physics3D_CollisionSceneEntity_getSceneEntity(lua_State *L) {
|
|
|
+ luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
|
|
|
+ CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
|
|
|
+ void *ptrRetVal = (void*)inst->getSceneEntity();
|
|
|
+ if(ptrRetVal == NULL) {
|
|
|
+ lua_pushnil(L);
|
|
|
+ } else {
|
|
|
+ lua_pushlightuserdata(L, ptrRetVal);
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
+}
|
|
|
+
|
|
|
+static int Physics3D_CollisionSceneEntity_getType(lua_State *L) {
|
|
|
+ luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
|
|
|
+ CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
|
|
|
+ lua_pushinteger(L, inst->getType());
|
|
|
+ return 1;
|
|
|
+}
|
|
|
+
|
|
|
+static int Physics3D_CollisionSceneEntity_Update(lua_State *L) {
|
|
|
+ luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
|
|
|
+ CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
|
|
|
+ inst->Update();
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
+static int Physics3D_CollisionSceneEntity_getConvexShape(lua_State *L) {
|
|
|
+ luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
|
|
|
+ CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
|
|
|
+ void *ptrRetVal = (void*)inst->getConvexShape();
|
|
|
+ if(ptrRetVal == NULL) {
|
|
|
+ lua_pushnil(L);
|
|
|
+ } else {
|
|
|
+ lua_pushlightuserdata(L, ptrRetVal);
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
+}
|
|
|
+
|
|
|
+static int Physics3D_CollisionSceneEntity_createCollisionShape(lua_State *L) {
|
|
|
+ luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
|
|
|
+ CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
|
|
|
+ luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
|
|
|
+ SceneEntity * entity = (SceneEntity *)lua_topointer(L, 2);
|
|
|
+ luaL_checktype(L, 3, LUA_TNUMBER);
|
|
|
+ int type = lua_tointeger(L, 3);
|
|
|
+ void *ptrRetVal = (void*)inst->createCollisionShape(entity, type);
|
|
|
+ if(ptrRetVal == NULL) {
|
|
|
+ lua_pushnil(L);
|
|
|
+ } else {
|
|
|
+ lua_pushlightuserdata(L, ptrRetVal);
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
+}
|
|
|
+
|
|
|
+static int Physics3D_delete_CollisionSceneEntity(lua_State *L) {
|
|
|
+ luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
|
|
|
+ CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
|
|
|
+ delete inst;
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
static int Physics3D_PhysicsScene(lua_State *L) {
|
|
|
PhysicsScene *inst = new PhysicsScene();
|
|
|
lua_pushlightuserdata(L, (void*)inst);
|
|
|
@@ -403,99 +496,6 @@ static int Physics3D_delete_PhysicsScene(lua_State *L) {
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static int Physics3D_CollisionSceneEntity_get_lastPosition(lua_State *L) {
|
|
|
- luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
|
|
|
- CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
|
|
|
- lua_pushlightuserdata(L, &inst->lastPosition);
|
|
|
- return 1;
|
|
|
-}
|
|
|
-
|
|
|
-static int Physics3D_CollisionSceneEntity_get_enabled(lua_State *L) {
|
|
|
- luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
|
|
|
- CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
|
|
|
- lua_pushboolean(L, inst->enabled);
|
|
|
- return 1;
|
|
|
-}
|
|
|
-
|
|
|
-static int Physics3D_CollisionSceneEntity_set_enabled(lua_State *L) {
|
|
|
- luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
|
|
|
- CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
|
|
|
- bool param = lua_toboolean(L, 2);
|
|
|
- inst->enabled = param;
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
-static int Physics3D_CollisionSceneEntity(lua_State *L) {
|
|
|
- luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
|
|
|
- SceneEntity * entity = (SceneEntity *)lua_topointer(L, 1);
|
|
|
- luaL_checktype(L, 2, LUA_TNUMBER);
|
|
|
- int type = lua_tointeger(L, 2);
|
|
|
- CollisionSceneEntity *inst = new CollisionSceneEntity(entity, type);
|
|
|
- lua_pushlightuserdata(L, (void*)inst);
|
|
|
- return 1;
|
|
|
-}
|
|
|
-
|
|
|
-static int Physics3D_CollisionSceneEntity_getSceneEntity(lua_State *L) {
|
|
|
- luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
|
|
|
- CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
|
|
|
- void *ptrRetVal = (void*)inst->getSceneEntity();
|
|
|
- if(ptrRetVal == NULL) {
|
|
|
- lua_pushnil(L);
|
|
|
- } else {
|
|
|
- lua_pushlightuserdata(L, ptrRetVal);
|
|
|
- }
|
|
|
- return 1;
|
|
|
-}
|
|
|
-
|
|
|
-static int Physics3D_CollisionSceneEntity_getType(lua_State *L) {
|
|
|
- luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
|
|
|
- CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
|
|
|
- lua_pushinteger(L, inst->getType());
|
|
|
- return 1;
|
|
|
-}
|
|
|
-
|
|
|
-static int Physics3D_CollisionSceneEntity_Update(lua_State *L) {
|
|
|
- luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
|
|
|
- CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
|
|
|
- inst->Update();
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
-static int Physics3D_CollisionSceneEntity_getConvexShape(lua_State *L) {
|
|
|
- luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
|
|
|
- CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
|
|
|
- void *ptrRetVal = (void*)inst->getConvexShape();
|
|
|
- if(ptrRetVal == NULL) {
|
|
|
- lua_pushnil(L);
|
|
|
- } else {
|
|
|
- lua_pushlightuserdata(L, ptrRetVal);
|
|
|
- }
|
|
|
- return 1;
|
|
|
-}
|
|
|
-
|
|
|
-static int Physics3D_CollisionSceneEntity_createCollisionShape(lua_State *L) {
|
|
|
- luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
|
|
|
- CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
|
|
|
- luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
|
|
|
- SceneEntity * entity = (SceneEntity *)lua_topointer(L, 2);
|
|
|
- luaL_checktype(L, 3, LUA_TNUMBER);
|
|
|
- int type = lua_tointeger(L, 3);
|
|
|
- void *ptrRetVal = (void*)inst->createCollisionShape(entity, type);
|
|
|
- if(ptrRetVal == NULL) {
|
|
|
- lua_pushnil(L);
|
|
|
- } else {
|
|
|
- lua_pushlightuserdata(L, ptrRetVal);
|
|
|
- }
|
|
|
- return 1;
|
|
|
-}
|
|
|
-
|
|
|
-static int Physics3D_delete_CollisionSceneEntity(lua_State *L) {
|
|
|
- luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
|
|
|
- CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
|
|
|
- delete inst;
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
static int Physics3D_PhysicsSceneEntity_get_enabled(lua_State *L) {
|
|
|
luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
|
|
|
PhysicsSceneEntity *inst = (PhysicsSceneEntity*)lua_topointer(L, 1);
|