mirror of
https://github.com/enduro2d/enduro2d.git
synced 2025-12-15 00:11:55 +07:00
remove math physics stuff
This commit is contained in:
@@ -1,140 +0,0 @@
|
||||
/*******************************************************************************
|
||||
* This file is part of the "Enduro2D"
|
||||
* For conditions of distribution and use, see copyright notice in LICENSE.md
|
||||
* Copyright (C) 2018-2019, by Matvey Cherevko (blackmatov@gmail.com)
|
||||
******************************************************************************/
|
||||
|
||||
#include "_math.hpp"
|
||||
using namespace e2d;
|
||||
|
||||
TEST_CASE("ray2") {
|
||||
{
|
||||
REQUIRE(r2i::zero() == r2i(v2i::zero()));
|
||||
REQUIRE(r2i::unit_x() == r2i(v2i::unit_x()));
|
||||
REQUIRE(r2i::unit_y() == r2i(v2i::unit_y()));
|
||||
}
|
||||
{
|
||||
static_assert(std::is_same<
|
||||
ray2<i32>, r2i::self_type
|
||||
>::value, "static unit test error");
|
||||
static_assert(std::is_same<
|
||||
i32, r2i::value_type
|
||||
>::value, "static unit test error");
|
||||
static_assert(std::is_same<
|
||||
vec2<i32>, decltype(std::declval<r2i>().origin)
|
||||
>::value, "static unit test error");
|
||||
static_assert(std::is_same<
|
||||
vec2<i32>, decltype(std::declval<r2i>().direction)
|
||||
>::value, "static unit test error");
|
||||
|
||||
static_assert(std::is_same<
|
||||
ray2<f32>, r2f::self_type
|
||||
>::value, "static unit test error");
|
||||
static_assert(std::is_same<
|
||||
f32, r2f::value_type
|
||||
>::value, "static unit test error");
|
||||
static_assert(std::is_same<
|
||||
vec2<f32>, decltype(std::declval<r2f>().origin)
|
||||
>::value, "static unit test error");
|
||||
static_assert(std::is_same<
|
||||
vec2<f32>, decltype(std::declval<r2f>().direction)
|
||||
>::value, "static unit test error");
|
||||
}
|
||||
{
|
||||
REQUIRE(r2i().origin == v2i(0,0));
|
||||
REQUIRE(r2i().direction == v2i(0,0));
|
||||
|
||||
REQUIRE(r2i(1,2).origin == v2i(0,0));
|
||||
REQUIRE(r2i(1,2).direction == v2i(1,2));
|
||||
|
||||
REQUIRE(r2i(v2i{1,2}).origin == v2i(0,0));
|
||||
REQUIRE(r2i(v2i{1,2}).direction == v2i(1,2));
|
||||
|
||||
REQUIRE(r2i(1,2,3,4).origin == v2i(1,2));
|
||||
REQUIRE(r2i(1,2,3,4).direction == v2i(3,4));
|
||||
|
||||
REQUIRE(r2i({1,2},{3,4}).origin == v2i(1,2));
|
||||
REQUIRE(r2i({1,2},{3,4}).direction == v2i(3,4));
|
||||
}
|
||||
{
|
||||
REQUIRE(r2f({1,2},{3,4}).cast_to<i32>() == r2i({1,2},{3,4}));
|
||||
}
|
||||
{
|
||||
auto r0 = r2i({1,2},{3,4});
|
||||
REQUIRE(r0.data()[0] == 1);
|
||||
REQUIRE(r0.data()[1] == 2);
|
||||
REQUIRE(r0.data()[2] == 3);
|
||||
REQUIRE(r0.data()[3] == 4);
|
||||
r0.data()[0] = 2;
|
||||
REQUIRE(r0 == r2i({2,2},{3,4}));
|
||||
const auto& cr0 = r0;
|
||||
REQUIRE(cr0.data()[0] == 2);
|
||||
REQUIRE(cr0.data()[1] == 2);
|
||||
REQUIRE(cr0.data()[2] == 3);
|
||||
REQUIRE(cr0.data()[3] == 4);
|
||||
}
|
||||
{
|
||||
auto r0 = r2i({1,2},{3,4});
|
||||
REQUIRE(r0[0] == 1);
|
||||
REQUIRE(r0[1] == 2);
|
||||
REQUIRE(r0[2] == 3);
|
||||
REQUIRE(r0[3] == 4);
|
||||
r0[0] = 2;
|
||||
REQUIRE(r0 == r2i({2,2},{3,4}));
|
||||
const auto& cr0 = r0;
|
||||
REQUIRE(cr0[0] == 2);
|
||||
REQUIRE(cr0[1] == 2);
|
||||
REQUIRE(cr0[2] == 3);
|
||||
REQUIRE(cr0[3] == 4);
|
||||
}
|
||||
{
|
||||
auto r0 = r2i({1,2},{3,4});
|
||||
REQUIRE(&r0 == &(r0 += 1));
|
||||
REQUIRE(r0 == r2i({2,3},{3,4}));
|
||||
REQUIRE(&r0 == &(r0 -= 4));
|
||||
REQUIRE(r0 == r2i({-2,-1},{3,4}));
|
||||
REQUIRE(&r0 == &(r0 *= 2));
|
||||
REQUIRE(r0 == r2i({-2,-1},{6,8}));
|
||||
REQUIRE(&r0 == &(r0 /= 3));
|
||||
REQUIRE(r0 == r2i({-2,-1},{2,2}));
|
||||
|
||||
REQUIRE(r2i({1,2},{3,4}) + 2 == r2i({3,4},{3,4}));
|
||||
REQUIRE(r2i({1,2},{3,4}) - 2 == r2i({-1,0},{3,4}));
|
||||
REQUIRE(r2i({1,2},{3,4}) * 3 == r2i({1,2},{9,12}));
|
||||
REQUIRE(r2i({1,2},{6,9}) / 3 == r2i({1,2},{2,3}));
|
||||
|
||||
REQUIRE(r2i({1,2},{3,4}) + v2i(1,2) == r2i({2,4},{3,4}));
|
||||
REQUIRE(r2i({1,2},{3,4}) - v2i(1,2) == r2i({0,0},{3,4}));
|
||||
REQUIRE(r2i({1,2},{3,4}) * v2i(2,3) == r2i({1,2},{6,12}));
|
||||
REQUIRE(r2i({1,2},{6,8}) / v2i(3,2) == r2i({1,2},{2,4}));
|
||||
}
|
||||
{
|
||||
REQUIRE(make_ray2(2,1) == r2i(0,0,2,1));
|
||||
REQUIRE(make_ray2(4,3,2,1) == r2i({4,3},{2,1}));
|
||||
|
||||
REQUIRE(make_ray2(v2i{2,1}) == r2i({0,0},{2,1}));
|
||||
REQUIRE(make_ray2(v2i{4,3},v2i{2,1}) == r2i({4,3},{2,1}));
|
||||
}
|
||||
{
|
||||
auto r0 = r2i({1,2},{3,4});
|
||||
auto r1 = r2i(r0);
|
||||
REQUIRE(r1 == r2i({1,2},{3,4}));
|
||||
r1 = r2i({4,3},{2,1});
|
||||
REQUIRE(r1 == r2i({4,3},{2,1}));
|
||||
}
|
||||
{
|
||||
REQUIRE(r2i({1,2},{3,4}) == r2i({1,2},{3,4}));
|
||||
REQUIRE_FALSE(r2i({1,2},{3,4}) == r2i({1,2},{4,3}));
|
||||
REQUIRE_FALSE(r2i({1,2},{3,4}) == r2i({2,1},{3,4}));
|
||||
REQUIRE_FALSE(r2i({1,2},{3,4}) == r2i({2,1},{4,3}));
|
||||
|
||||
REQUIRE_FALSE(r2i({1,2},{3,4}) != r2i({1,2},{3,4}));
|
||||
REQUIRE(r2i({1,2},{3,4}) != r2i({1,2},{4,3}));
|
||||
REQUIRE(r2i({1,2},{3,4}) != r2i({2,1},{3,4}));
|
||||
REQUIRE(r2i({1,2},{3,4}) != r2i({2,1},{4,3}));
|
||||
}
|
||||
{
|
||||
REQUIRE(math::approximately(r2i({1,2},{3,4}), r2i({1,2},{4,5}), 1));
|
||||
REQUIRE_FALSE(math::approximately(r2i({1,2},{3,4}), r2i({1,2},{4,5})));
|
||||
}
|
||||
}
|
||||
@@ -1,149 +0,0 @@
|
||||
/*******************************************************************************
|
||||
* This file is part of the "Enduro2D"
|
||||
* For conditions of distribution and use, see copyright notice in LICENSE.md
|
||||
* Copyright (C) 2018-2019, by Matvey Cherevko (blackmatov@gmail.com)
|
||||
******************************************************************************/
|
||||
|
||||
#include "_math.hpp"
|
||||
using namespace e2d;
|
||||
|
||||
TEST_CASE("ray3") {
|
||||
{
|
||||
REQUIRE(r3i::zero() == r3i(v3i::zero()));
|
||||
REQUIRE(r3i::unit_x() == r3i(v3i::unit_x()));
|
||||
REQUIRE(r3i::unit_y() == r3i(v3i::unit_y()));
|
||||
REQUIRE(r3i::unit_z() == r3i(v3i::unit_z()));
|
||||
}
|
||||
{
|
||||
static_assert(std::is_same<
|
||||
ray3<i32>, r3i::self_type
|
||||
>::value, "static unit test error");
|
||||
static_assert(std::is_same<
|
||||
i32, r3i::value_type
|
||||
>::value, "static unit test error");
|
||||
static_assert(std::is_same<
|
||||
vec3<i32>, decltype(std::declval<r3i>().origin)
|
||||
>::value, "static unit test error");
|
||||
static_assert(std::is_same<
|
||||
vec3<i32>, decltype(std::declval<r3i>().direction)
|
||||
>::value, "static unit test error");
|
||||
|
||||
static_assert(std::is_same<
|
||||
ray3<f32>, r3f::self_type
|
||||
>::value, "static unit test error");
|
||||
static_assert(std::is_same<
|
||||
f32, r3f::value_type
|
||||
>::value, "static unit test error");
|
||||
static_assert(std::is_same<
|
||||
vec3<f32>, decltype(std::declval<r3f>().origin)
|
||||
>::value, "static unit test error");
|
||||
static_assert(std::is_same<
|
||||
vec3<f32>, decltype(std::declval<r3f>().direction)
|
||||
>::value, "static unit test error");
|
||||
}
|
||||
{
|
||||
REQUIRE(r3i().origin == v3i(0,0,0));
|
||||
REQUIRE(r3i().direction == v3i(0,0,0));
|
||||
|
||||
REQUIRE(r3i(1,2,3).origin == v3i(0,0,0));
|
||||
REQUIRE(r3i(1,2,3).direction == v3i(1,2,3));
|
||||
|
||||
REQUIRE(r3i(v3i{1,2,3}).origin == v3i(0,0,0));
|
||||
REQUIRE(r3i(v3i{1,2,3}).direction == v3i(1,2,3));
|
||||
|
||||
REQUIRE(r3i(1,2,3,3,4,5).origin == v3i(1,2,3));
|
||||
REQUIRE(r3i(1,2,3,3,4,5).direction == v3i(3,4,5));
|
||||
|
||||
REQUIRE(r3i({1,2,3},{3,4,5}).origin == v3i(1,2,3));
|
||||
REQUIRE(r3i({1,2,3},{3,4,5}).direction == v3i(3,4,5));
|
||||
}
|
||||
{
|
||||
REQUIRE(r3f({1,2,3},{3,4,5}).cast_to<i32>() == r3i({1,2,3},{3,4,5}));
|
||||
}
|
||||
{
|
||||
auto r0 = r3i({1,2,3},{4,5,6});
|
||||
REQUIRE(r0.data()[0] == 1);
|
||||
REQUIRE(r0.data()[1] == 2);
|
||||
REQUIRE(r0.data()[2] == 3);
|
||||
REQUIRE(r0.data()[3] == 4);
|
||||
REQUIRE(r0.data()[4] == 5);
|
||||
REQUIRE(r0.data()[5] == 6);
|
||||
r0.data()[0] = 2;
|
||||
REQUIRE(r0 == r3i({2,2,3},{4,5,6}));
|
||||
const auto& cr0 = r0;
|
||||
REQUIRE(cr0.data()[0] == 2);
|
||||
REQUIRE(cr0.data()[1] == 2);
|
||||
REQUIRE(cr0.data()[2] == 3);
|
||||
REQUIRE(cr0.data()[3] == 4);
|
||||
REQUIRE(cr0.data()[4] == 5);
|
||||
REQUIRE(cr0.data()[5] == 6);
|
||||
}
|
||||
{
|
||||
auto r0 = r3i({1,2,3},{4,5,6});
|
||||
REQUIRE(r0[0] == 1);
|
||||
REQUIRE(r0[1] == 2);
|
||||
REQUIRE(r0[2] == 3);
|
||||
REQUIRE(r0[3] == 4);
|
||||
REQUIRE(r0[4] == 5);
|
||||
REQUIRE(r0[5] == 6);
|
||||
r0[0] = 2;
|
||||
REQUIRE(r0 == r3i({2,2,3},{4,5,6}));
|
||||
const auto& cr0 = r0;
|
||||
REQUIRE(cr0[0] == 2);
|
||||
REQUIRE(cr0[1] == 2);
|
||||
REQUIRE(cr0[2] == 3);
|
||||
REQUIRE(cr0[3] == 4);
|
||||
REQUIRE(cr0[4] == 5);
|
||||
REQUIRE(cr0[5] == 6);
|
||||
}
|
||||
{
|
||||
auto r0 = r3i({1,2,3},{4,5,6});
|
||||
REQUIRE(&r0 == &(r0 += 1));
|
||||
REQUIRE(r0 == r3i({2,3,4},{4,5,6}));
|
||||
REQUIRE(&r0 == &(r0 -= 4));
|
||||
REQUIRE(r0 == r3i({-2,-1,0},{4,5,6}));
|
||||
REQUIRE(&r0 == &(r0 *= 2));
|
||||
REQUIRE(r0 == r3i({-2,-1,0},{8,10,12}));
|
||||
REQUIRE(&r0 == &(r0 /= 3));
|
||||
REQUIRE(r0 == r3i({-2,-1,0},{2,3,4}));
|
||||
|
||||
REQUIRE(r3i({1,2,3},{4,5,6}) + 2 == r3i({3,4,5},{4,5,6}));
|
||||
REQUIRE(r3i({1,2,3},{4,5,6}) - 2 == r3i({-1,0,1},{4,5,6}));
|
||||
REQUIRE(r3i({1,2,3},{4,5,6}) * 2 == r3i({1,2,3},{8,10,12}));
|
||||
REQUIRE(r3i({1,2,3},{4,5,6}) / 2 == r3i({1,2,3},{2,2,3}));
|
||||
|
||||
REQUIRE(r3i({1,2,3},{4,5,6}) + v3i(1,2,3) == r3i({2,4,6},{4,5,6}));
|
||||
REQUIRE(r3i({1,2,3},{4,5,6}) - v3i(3,2,1) == r3i({-2,0,2},{4,5,6}));
|
||||
REQUIRE(r3i({1,2,3},{4,5,6}) * v3i(2,3,4) == r3i({1,2,3},{8,15,24}));
|
||||
REQUIRE(r3i({1,2,3},{4,12,20}) / v3i(2,3,4) == r3i({1,2,3},{2,4,5}));
|
||||
}
|
||||
{
|
||||
REQUIRE(make_ray3(2,1,0) == r3i(0,0,0,2,1,0));
|
||||
REQUIRE(make_ray3(4,3,2,2,1,0) == r3i({4,3,2},{2,1,0}));
|
||||
|
||||
REQUIRE(make_ray3(v3i{2,1,0}) == r3i({0,0,0},{2,1,0}));
|
||||
REQUIRE(make_ray3(v3i{4,3,2},v3i{2,1,0}) == r3i({4,3,2},{2,1,0}));
|
||||
}
|
||||
{
|
||||
auto r0 = r3i({1,2,3},{4,5,6});
|
||||
auto r1 = r3i(r0);
|
||||
REQUIRE(r1 == r3i({1,2,3},{4,5,6}));
|
||||
r1 = r3i({4,3,2},{1,0,-1});
|
||||
REQUIRE(r1 == r3i({4,3,2},{1,0,-1}));
|
||||
}
|
||||
{
|
||||
REQUIRE(r3i({1,2,3},{4,5,6}) == r3i({1,2,3},{4,5,6}));
|
||||
REQUIRE_FALSE(r3i({1,2,3},{4,5,6}) == r3i({1,2,4},{3,5,6}));
|
||||
REQUIRE_FALSE(r3i({1,2,3},{4,5,6}) == r3i({2,1,3},{4,5,6}));
|
||||
REQUIRE_FALSE(r3i({1,2,3},{4,5,6}) == r3i({2,1,4},{3,5,6}));
|
||||
|
||||
REQUIRE_FALSE(r3i({1,2,3},{4,5,6}) != r3i({1,2,3},{4,5,6}));
|
||||
REQUIRE(r3i({1,2,3},{4,5,6}) != r3i({1,2,4},{3,5,6}));
|
||||
REQUIRE(r3i({1,2,3},{4,5,6}) != r3i({2,1,3},{4,5,6}));
|
||||
REQUIRE(r3i({1,2,3},{4,5,6}) != r3i({2,1,4},{3,5,6}));
|
||||
}
|
||||
{
|
||||
REQUIRE(math::approximately(r3i({1,2,3},{4,1,2}), r3i({1,2,4},{5,1,2}), 1));
|
||||
REQUIRE_FALSE(math::approximately(r3i({1,2,3},{4,1,2}), r3i({1,2,4},{5,1,2})));
|
||||
}
|
||||
}
|
||||
@@ -156,19 +156,9 @@ TEST_CASE("strfmts") {
|
||||
" 4.00us");
|
||||
}
|
||||
{
|
||||
REQUIRE(strings::rformat("%0", make_ray2(v2i{1,2},v2i{3,4})) == "(1,2,3,4)");
|
||||
REQUIRE(strings::rformat("%0", make_ray3(v3i{1,2,3},v3i{4,5,6})) == "(1,2,3,4,5,6)");
|
||||
|
||||
REQUIRE(strings::rformat("%0", make_rect(1,2,3,4)) == "(1,2,3,4)");
|
||||
REQUIRE(strings::rformat("%0", make_aabb(1,2,3,4,5,6)) == "(1,2,3,4,5,6)");
|
||||
|
||||
REQUIRE(strings::rformat(
|
||||
"%0",
|
||||
strings::make_format_arg(make_ray2(v2f{1.f,2.f},v2f{3.f,4.f}), u8(5), u8(2))) == "( 1.00, 2.00, 3.00, 4.00)");
|
||||
REQUIRE(strings::rformat(
|
||||
"%0",
|
||||
strings::make_format_arg(make_ray3(v3f{1.f,2.f,3.f},v3f{4.f,5.f,6.f}), u8(5), u8(2))) == "( 1.00, 2.00, 3.00, 4.00, 5.00, 6.00)");
|
||||
|
||||
REQUIRE(strings::rformat(
|
||||
"%0",
|
||||
strings::make_format_arg(make_rect(1.f,2.f,3.f,4.f), u8(5), u8(2))) == "( 1.00, 2.00, 3.00, 4.00)");
|
||||
|
||||
Reference in New Issue
Block a user