// // Created by Vlad on 28.07.2024. // #pragma once #include "omath/linear_algebra/vector3.hpp" #include "omath/pathfinding/navigation_mesh.hpp" #include namespace omath::pathfinding { struct PathNode; class Astar final { public: [[nodiscard]] static std::vector> find_path(const Vector3& start, const Vector3& end, const NavigationMesh& nav_mesh) noexcept; private: [[nodiscard]] static std::vector> reconstruct_final_path(const std::unordered_map, PathNode>& closed_list, const Vector3& current) noexcept; }; } // namespace omath::pathfinding