コード例 #1
0
ファイル: Vector3.cpp プロジェクト: trezker/alledge_lua
static int vector3_crossproduct (lua_State *L)
{
	Vector3 *v1 = (Vector3*)lua_touserdata(L, 1);
	Vector3 *v2 = (Vector3*)lua_touserdata(L, 2);
	push_vector3(L, v1->CrossProduct(*v2));
	return 1;
}
コード例 #2
0
ファイル: Vector3.cpp プロジェクト: trezker/alledge_lua
static int vector3_div (lua_State *L)
{
	Vector3 *v = (Vector3*)lua_touserdata(L, 1);
	float s = luaL_checknumber(L, 2);
	push_vector3(L, (*v)/s);
	return 1;
}
コード例 #3
0
ファイル: Vector3.cpp プロジェクト: trezker/alledge_lua
static int vector3_sub (lua_State *L)
{
	Vector3 *v1 = (Vector3*)lua_touserdata(L, 1);
	Vector3 *v2 = (Vector3*)lua_touserdata(L, 2);
	push_vector3(L, (*v1)-(*v2));
	return 1;
}
コード例 #4
0
ファイル: lua_stack.cpp プロジェクト: Kingsquee/crown
void LuaStack::push_vector2(const Vector2& v)
{
	Vector3 a;
	a.x = v.x;
	a.y = v.y;
	a.z = 0.0f;
	push_vector3(a);
}
コード例 #5
0
ファイル: Vector3.cpp プロジェクト: trezker/alledge_lua
/* Constructor and methods
 * */
static int vector3_new(lua_State *L)
{
	Vector3 v;
	if (lua_gettop(L)==3) {
		v.x = luaL_checknumber(L, 1);
		v.y = luaL_checknumber(L, 2);
		v.z = luaL_checknumber(L, 3);
	}
	else if (lua_gettop(L)==1) {
		Vector3 o = check_vector3(L, 1);
		v = o;
	}
	push_vector3(L, v);
	return 1;
}
コード例 #6
0
ファイル: Vector3.cpp プロジェクト: trezker/alledge_lua
static int vector3_getnormalized (lua_State *L)
{
	Vector3 *v1 = (Vector3*)lua_touserdata(L, 1);
	push_vector3(L, v1->GetNormalized());
	return 1;
}
コード例 #7
0
ファイル: Vector3.cpp プロジェクト: trezker/alledge_lua
static int vector3_unm (lua_State *L)
{
	Vector3 *v = (Vector3*)lua_touserdata(L, 1);
	push_vector3(L, -(*v));
	return 1;
}