add quat and unit bindings

This commit is contained in:
2019-10-03 22:52:25 +07:00
parent 7c11a2fb20
commit 496a8725b2
8 changed files with 288 additions and 148 deletions

View File

@@ -27,21 +27,29 @@ namespace
TEST_CASE("luasol") {
safe_starter_initializer initializer;
luasol& l = the<luasol>();
SECTION("vec2/vec3/vec4") {
v2f r0 = l.lua().script(R"lua(
local v = v2f.new(1,2)
return v2f.new((v + v).y)
return v2f.new((v + v + 2).y)
)lua");
v3f r1 = l.lua().script(R"lua(
local v = v3f.new(1,2,3)
return v3f.new((v + v).y)
return v3f.new((v + v + 2).y)
)lua");
v4f r2 = l.lua().script(R"lua(
local v = v4f.new(1,2,3,4)
return v4f.new((v + v).y)
return v4f.new((v + v + 2).y)
)lua");
REQUIRE(r0 == v2f(4));
REQUIRE(r1 == v3f(4));
REQUIRE(r2 == v4f(4));
REQUIRE(r0 == v2f(6));
REQUIRE(r1 == v3f(6));
REQUIRE(r2 == v4f(6));
}
SECTION("quat") {
v3f r0 = l.lua().script(R"lua(
return v3f.new(1,2,3) * q4f.make_quat_from_axis_angle(radf.new(10), v3f.new(1,2,3))
)lua");
REQUIRE(r0 == v3f(1,2,3) * math::make_quat_from_axis_angle(radf(10.f), v3f(1,2,3)));
}
}