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.
Migrates projectile prediction logic to leverage engine traits for improved flexibility and testability.
This change decouples core prediction algorithms from specific engine implementations, allowing for easier adaptation to different game engines or simulation environments.
Refactors the projectile prediction engine by introducing an interface
and making the legacy implementation more flexible.
The legacy engine is updated to allow for coordinate system customization
through virtual methods, enabling usage in different game environments.
Also introduces vcpkg support for easier dependency management and adds boost-asio as a dependency.
Adds a comment documenting the formula used for calculating the projectile launch pitch angle.
The comment includes a link to the Stack Overflow discussion where the formula was found and the LaTeX representation of the formula for clarity.
Introduces a CMake option to enable legacy classes,
allowing for backward compatibility with older code.
This ensures that older codebases can still function
while new development can utilize updated classes.
Updates the CMake export target and namespace to use the project name,
improving consistency and avoiding naming conflicts.
Adds a simple diagram to the triangle header file.