Adds direct pitch angle calculation

Implements a direct pitch angle calculation for scenarios with zero gravity, ensuring accurate projectile trajectory predictions in such conditions.

Also marks several methods as noexcept for better performance and exception safety.
This commit is contained in:
2025-08-04 01:11:11 +03:00
parent 2758f549a3
commit ec76a7239c
2 changed files with 18 additions and 3 deletions

View File

@@ -73,6 +73,11 @@ namespace omath::projectile_prediction
const Vector3<float>& target_position) const noexcept
{
const auto bullet_gravity = m_gravity_constant * projectile.m_gravity_scale;
if (bullet_gravity == 0.f)
return EngineTrait::calc_direct_pitch_angle(projectile.m_origin, target_position);
const auto delta = target_position - projectile.m_origin;
const auto distance2d = EngineTrait::calc_vector_2d_distance(delta);