ソースを参照

Add missing rotation() and set_rotation() to Lua bindings

Daniele Bartolini 11 年 前
コミット
296f8afeb0
1 ファイル変更16 行追加0 行削除
  1. 16 0
      engine/lua/lua_matrix4x4.cpp

+ 16 - 0
engine/lua/lua_matrix4x4.cpp

@@ -190,6 +190,20 @@ static int matrix4x4_set_translation(lua_State* L)
 	return 0;
 }
 
+static int matrix4x4_rotation(lua_State* L)
+{
+	LuaStack stack(L);
+	stack.push_quaternion(rotation(stack.get_matrix4x4(1)));
+	return 1;
+}
+
+static int matrix4x4_set_rotation(lua_State* L)
+{
+	LuaStack stack(L);
+	set_rotation(stack.get_matrix4x4(1), stack.get_quaternion(2));
+	return 0;
+}
+
 static int matrix4x4_identity(lua_State* L)
 {
 	LuaStack stack(L);
@@ -227,6 +241,8 @@ void load_matrix4x4(LuaEnvironment& env)
 	env.load_module_function("Matrix4x4", "set_z",                       matrix4x4_set_z);
 	env.load_module_function("Matrix4x4", "translation",                 matrix4x4_translation);
 	env.load_module_function("Matrix4x4", "set_translation",             matrix4x4_set_translation);
+	env.load_module_function("Matrix4x4", "rotation",                    matrix4x4_rotation);
+	env.load_module_function("Matrix4x4", "set_rotation",                matrix4x4_set_rotation);
 	env.load_module_function("Matrix4x4", "identity",                    matrix4x4_identity);
 	env.load_module_function("Matrix4x4", "to_string",                   matrix4x4_to_string);