Sfoglia il codice sorgente

Add Quaternion.dot()

Daniele Bartolini 10 anni fa
parent
commit
0257eb296d
1 ha cambiato i file con 8 aggiunte e 0 eliminazioni
  1. 8 0
      src/lua/lua_math.cpp

+ 8 - 0
src/lua/lua_math.cpp

@@ -648,6 +648,13 @@ static int quaternion_identity(lua_State* L)
 	return 1;
 	return 1;
 }
 }
 
 
+static int quaternion_dot(lua_State* L)
+{
+	LuaStack stack(L);
+	stack.push_float(dot(stack.get_quaternion(1), stack.get_quaternion(2)));
+	return 1;
+}
+
 static int quaternion_length(lua_State* L)
 static int quaternion_length(lua_State* L)
 {
 {
 	LuaStack stack(L);
 	LuaStack stack(L);
@@ -973,6 +980,7 @@ void load_math(LuaEnvironment& env)
 	env.load_module_function("Quaternion", "identity",           quaternion_identity);
 	env.load_module_function("Quaternion", "identity",           quaternion_identity);
 	env.load_module_function("Quaternion", "multiply",           quaternion_multiply);
 	env.load_module_function("Quaternion", "multiply",           quaternion_multiply);
 	env.load_module_function("Quaternion", "multiply_by_scalar", quaternion_multiply_by_scalar);
 	env.load_module_function("Quaternion", "multiply_by_scalar", quaternion_multiply_by_scalar);
+	env.load_module_function("Quaternion", "dot",                quaternion_dot);
 	env.load_module_function("Quaternion", "length",             quaternion_length);
 	env.load_module_function("Quaternion", "length",             quaternion_length);
 	env.load_module_function("Quaternion", "normalize",          quaternion_normalize);
 	env.load_module_function("Quaternion", "normalize",          quaternion_normalize);
 	env.load_module_function("Quaternion", "conjugate",          quaternion_conjugate);
 	env.load_module_function("Quaternion", "conjugate",          quaternion_conjugate);