Core: Use Math namespace for constants
This commit is contained in:
@ -46,7 +46,7 @@ constexpr int WAV_COUNT = WAV_RATE;
|
||||
|
||||
float gen_wav(float frequency, float wav_rate, int wav_number) {
|
||||
// formula for generating a sin wave with given frequency.
|
||||
return Math::sin((Math_TAU * frequency / wav_rate) * wav_number);
|
||||
return Math::sin((Math::TAU * frequency / wav_rate) * wav_number);
|
||||
}
|
||||
|
||||
/* Generates a 440Hz sin wave in channel 0 (mono channel or left stereo channel)
|
||||
|
||||
@ -285,7 +285,7 @@ TEST_CASE("[SceneTree][Camera2D] Transforms") {
|
||||
}
|
||||
|
||||
SUBCASE("Rotation") {
|
||||
test_camera->set_rotation(Math_PI / 2);
|
||||
test_camera->set_rotation(Math::PI / 2);
|
||||
Transform2D xform = mock_viewport->get_canvas_transform();
|
||||
Transform2D test_xform = Transform2D(Vector2(1, 0), Vector2(0, 1), Vector2(200, 100));
|
||||
CHECK(xform.is_equal_approx(test_xform));
|
||||
@ -295,7 +295,7 @@ TEST_CASE("[SceneTree][Camera2D] Transforms") {
|
||||
test_xform = Transform2D(Vector2(0, -1), Vector2(1, 0), Vector2(200, 100));
|
||||
CHECK(xform.is_equal_approx(test_xform));
|
||||
|
||||
test_camera->set_rotation(-1 * Math_PI);
|
||||
test_camera->set_rotation(-1 * Math::PI);
|
||||
test_camera->force_update_scroll();
|
||||
xform = mock_viewport->get_canvas_transform();
|
||||
test_xform = Transform2D(Vector2(-1, 0), Vector2(0, -1), Vector2(200, 100));
|
||||
|
||||
@ -36,9 +36,6 @@
|
||||
|
||||
#include "tests/test_macros.h"
|
||||
|
||||
// Constants.
|
||||
#define SQRT3 (1.7320508f)
|
||||
|
||||
TEST_CASE("[SceneTree][Camera3D] Getters and setters") {
|
||||
Camera3D *test_camera = memnew(Camera3D);
|
||||
|
||||
@ -246,13 +243,13 @@ TEST_CASE("[SceneTree][Camera3D] Project/Unproject position") {
|
||||
CHECK(test_camera->project_position(Vector2(200, 100), 100.0f).is_equal_approx(Vector3(0, 0, -100.0f)));
|
||||
CHECK(test_camera->project_position(Vector2(200, 100), test_camera->get_far()).is_equal_approx(Vector3(0, 0, -1.0f) * test_camera->get_far()));
|
||||
// 3/4th way to Top left.
|
||||
CHECK(test_camera->project_position(Vector2(100, 50), 0.5f).is_equal_approx(Vector3(-SQRT3 * 0.5f, SQRT3 * 0.25f, -0.5f)));
|
||||
CHECK(test_camera->project_position(Vector2(100, 50), 1.0f).is_equal_approx(Vector3(-SQRT3, SQRT3 * 0.5f, -1.0f)));
|
||||
CHECK(test_camera->project_position(Vector2(100, 50), test_camera->get_near()).is_equal_approx(Vector3(-SQRT3, SQRT3 * 0.5f, -1.0f) * test_camera->get_near()));
|
||||
CHECK(test_camera->project_position(Vector2(100, 50), 0.5f).is_equal_approx(Vector3(-Math::SQRT3 * 0.5f, Math::SQRT3 * 0.25f, -0.5f)));
|
||||
CHECK(test_camera->project_position(Vector2(100, 50), 1.0f).is_equal_approx(Vector3(-Math::SQRT3, Math::SQRT3 * 0.5f, -1.0f)));
|
||||
CHECK(test_camera->project_position(Vector2(100, 50), test_camera->get_near()).is_equal_approx(Vector3(-Math::SQRT3, Math::SQRT3 * 0.5f, -1.0f) * test_camera->get_near()));
|
||||
// 3/4th way to Bottom right.
|
||||
CHECK(test_camera->project_position(Vector2(300, 150), 0.5f).is_equal_approx(Vector3(SQRT3 * 0.5f, -SQRT3 * 0.25f, -0.5f)));
|
||||
CHECK(test_camera->project_position(Vector2(300, 150), 1.0f).is_equal_approx(Vector3(SQRT3, -SQRT3 * 0.5f, -1.0f)));
|
||||
CHECK(test_camera->project_position(Vector2(300, 150), test_camera->get_far()).is_equal_approx(Vector3(SQRT3, -SQRT3 * 0.5f, -1.0f) * test_camera->get_far()));
|
||||
CHECK(test_camera->project_position(Vector2(300, 150), 0.5f).is_equal_approx(Vector3(Math::SQRT3 * 0.5f, -Math::SQRT3 * 0.25f, -0.5f)));
|
||||
CHECK(test_camera->project_position(Vector2(300, 150), 1.0f).is_equal_approx(Vector3(Math::SQRT3, -Math::SQRT3 * 0.5f, -1.0f)));
|
||||
CHECK(test_camera->project_position(Vector2(300, 150), test_camera->get_far()).is_equal_approx(Vector3(Math::SQRT3, -Math::SQRT3 * 0.5f, -1.0f) * test_camera->get_far()));
|
||||
}
|
||||
}
|
||||
|
||||
@ -274,11 +271,11 @@ TEST_CASE("[SceneTree][Camera3D] Project/Unproject position") {
|
||||
CHECK(test_camera->unproject_position(Vector3(0, 0, -0.5f)).is_equal_approx(Vector2(200, 100)));
|
||||
CHECK(test_camera->unproject_position(Vector3(0, 0, -100.0f)).is_equal_approx(Vector2(200, 100)));
|
||||
// 3/4th way to Top left.
|
||||
WARN(test_camera->unproject_position(Vector3(-SQRT3 * 0.5f, SQRT3 * 0.25f, -0.5f)).is_equal_approx(Vector2(100, 50)));
|
||||
WARN(test_camera->unproject_position(Vector3(-SQRT3, SQRT3 * 0.5f, -1.0f)).is_equal_approx(Vector2(100, 50)));
|
||||
WARN(test_camera->unproject_position(Vector3(-Math::SQRT3 * 0.5f, Math::SQRT3 * 0.25f, -0.5f)).is_equal_approx(Vector2(100, 50)));
|
||||
WARN(test_camera->unproject_position(Vector3(-Math::SQRT3, Math::SQRT3 * 0.5f, -1.0f)).is_equal_approx(Vector2(100, 50)));
|
||||
// 3/4th way to Bottom right.
|
||||
CHECK(test_camera->unproject_position(Vector3(SQRT3 * 0.5f, -SQRT3 * 0.25f, -0.5f)).is_equal_approx(Vector2(300, 150)));
|
||||
CHECK(test_camera->unproject_position(Vector3(SQRT3, -SQRT3 * 0.5f, -1.0f)).is_equal_approx(Vector2(300, 150)));
|
||||
CHECK(test_camera->unproject_position(Vector3(Math::SQRT3 * 0.5f, -Math::SQRT3 * 0.25f, -0.5f)).is_equal_approx(Vector2(300, 150)));
|
||||
CHECK(test_camera->unproject_position(Vector3(Math::SQRT3, -Math::SQRT3 * 0.5f, -1.0f)).is_equal_approx(Vector2(300, 150)));
|
||||
}
|
||||
}
|
||||
|
||||
@ -336,9 +333,9 @@ TEST_CASE("[SceneTree][Camera3D] Project ray") {
|
||||
// Center.
|
||||
CHECK(test_camera->project_ray_normal(Vector2(200, 100)).is_equal_approx(Vector3(0, 0, -1)));
|
||||
// Top left.
|
||||
CHECK(test_camera->project_ray_normal(Vector2(0, 0)).is_equal_approx(Vector3(-SQRT3, SQRT3 / 2, -0.5f).normalized()));
|
||||
CHECK(test_camera->project_ray_normal(Vector2(0, 0)).is_equal_approx(Vector3(-Math::SQRT3, Math::SQRT3 / 2, -0.5f).normalized()));
|
||||
// Bottom right.
|
||||
CHECK(test_camera->project_ray_normal(Vector2(400, 200)).is_equal_approx(Vector3(SQRT3, -SQRT3 / 2, -0.5f).normalized()));
|
||||
CHECK(test_camera->project_ray_normal(Vector2(400, 200)).is_equal_approx(Vector3(Math::SQRT3, -Math::SQRT3 / 2, -0.5f).normalized()));
|
||||
}
|
||||
}
|
||||
|
||||
@ -360,14 +357,12 @@ TEST_CASE("[SceneTree][Camera3D] Project ray") {
|
||||
// Center.
|
||||
CHECK(test_camera->project_local_ray_normal(Vector2(200, 100)).is_equal_approx(Vector3(0, 0, -1)));
|
||||
// Top left.
|
||||
CHECK(test_camera->project_local_ray_normal(Vector2(0, 0)).is_equal_approx(Vector3(-SQRT3, SQRT3 / 2, -0.5f).normalized()));
|
||||
CHECK(test_camera->project_local_ray_normal(Vector2(0, 0)).is_equal_approx(Vector3(-Math::SQRT3, Math::SQRT3 / 2, -0.5f).normalized()));
|
||||
// Bottom right.
|
||||
CHECK(test_camera->project_local_ray_normal(Vector2(400, 200)).is_equal_approx(Vector3(SQRT3, -SQRT3 / 2, -0.5f).normalized()));
|
||||
CHECK(test_camera->project_local_ray_normal(Vector2(400, 200)).is_equal_approx(Vector3(Math::SQRT3, -Math::SQRT3 / 2, -0.5f).normalized()));
|
||||
}
|
||||
}
|
||||
|
||||
memdelete(test_camera);
|
||||
memdelete(mock_viewport);
|
||||
}
|
||||
|
||||
#undef SQRT3
|
||||
|
||||
@ -52,9 +52,9 @@ TEST_CASE("[SceneTree][Control] Transforms") {
|
||||
CHECK_EQ(test_node->get_global_transform(), Transform2D(0, Size2(4, 4), 0, Vector2(2, 2)));
|
||||
test_node->set_scale(Vector2(1, 1));
|
||||
test_node->set_rotation_degrees(90);
|
||||
CHECK_EQ(test_node->get_global_transform(), Transform2D(Math_PI / 2, Vector2(2, 2)));
|
||||
CHECK_EQ(test_node->get_global_transform(), Transform2D(Math::PI / 2, Vector2(2, 2)));
|
||||
test_node->set_pivot_offset(Vector2(1, 0));
|
||||
CHECK_EQ(test_node->get_global_transform(), Transform2D(Math_PI / 2, Vector2(3, 1)));
|
||||
CHECK_EQ(test_node->get_global_transform(), Transform2D(Math::PI / 2, Vector2(3, 1)));
|
||||
|
||||
memdelete(test_child);
|
||||
memdelete(test_node);
|
||||
|
||||
@ -63,22 +63,22 @@ TEST_CASE("[SceneTree][TextureProgressBar]") {
|
||||
texture_progress_bar->set_radial_initial_angle(30.5);
|
||||
|
||||
ERR_PRINT_OFF;
|
||||
texture_progress_bar->set_radial_initial_angle(INFINITY);
|
||||
texture_progress_bar->set_radial_initial_angle(Math::INF);
|
||||
ERR_PRINT_ON;
|
||||
CHECK(Math::is_equal_approx(texture_progress_bar->get_radial_initial_angle(), (float)30.5));
|
||||
|
||||
ERR_PRINT_OFF;
|
||||
texture_progress_bar->set_radial_initial_angle(-INFINITY);
|
||||
texture_progress_bar->set_radial_initial_angle(-Math::INF);
|
||||
ERR_PRINT_ON;
|
||||
CHECK(Math::is_equal_approx(texture_progress_bar->get_radial_initial_angle(), (float)30.5));
|
||||
|
||||
ERR_PRINT_OFF;
|
||||
texture_progress_bar->set_radial_initial_angle(NAN);
|
||||
texture_progress_bar->set_radial_initial_angle(Math::NaN);
|
||||
ERR_PRINT_ON;
|
||||
CHECK(Math::is_equal_approx(texture_progress_bar->get_radial_initial_angle(), (float)30.5));
|
||||
|
||||
ERR_PRINT_OFF;
|
||||
texture_progress_bar->set_radial_initial_angle(-NAN);
|
||||
texture_progress_bar->set_radial_initial_angle(-Math::NaN);
|
||||
ERR_PRINT_ON;
|
||||
CHECK(Math::is_equal_approx(texture_progress_bar->get_radial_initial_angle(), (float)30.5));
|
||||
}
|
||||
|
||||
@ -1774,7 +1774,7 @@ TEST_CASE("[SceneTree][Viewport] Physics Picking 2D") {
|
||||
|
||||
SUBCASE("[Viewport][Picking2D] CollisionObject in CanvasLayer") {
|
||||
CanvasLayer *node_c = memnew(CanvasLayer);
|
||||
node_c->set_rotation(Math_PI);
|
||||
node_c->set_rotation(Math::PI);
|
||||
node_c->set_offset(Point2i(100, 100));
|
||||
root->add_child(node_c);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user