diff options
Diffstat (limited to 'src/path-search.hpp')
-rw-r--r-- | src/path-search.hpp | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/src/path-search.hpp b/src/path-search.hpp deleted file mode 100644 index 05516676..00000000 --- a/src/path-search.hpp +++ /dev/null @@ -1,49 +0,0 @@ -#pragma once -#include "tile-constants.hpp" -#include "global-coords.hpp" -#include "object-id.hpp" -#include "path-search-result.hpp" -#include "path-search-pred.hpp" -#include <array> - -namespace floormat { -class world; -struct object; -class chunk; -} // namespace floormat - -// todo add pathfinding sub-namespace - -namespace floormat::detail_astar { - -template<typename T> struct bbox; -struct cache; -struct chunk_cache; -constexpr inline int div_factor = 4; -constexpr inline auto div_size = iTILE_SIZE2 / div_factor; -constexpr inline auto min_size = Vector2ui(div_size * 2); -constexpr inline auto div_count = iTILE_SIZE2 * TILE_MAX_DIM / detail_astar::div_size; - -} // namespace floormat::detail_astar - -namespace floormat { - -struct path_search_result; - -class path_search final -{ - friend struct path_search_result; - template<typename T> using bbox = detail_astar::bbox<T>; - using pred = detail_astar::pred; - -public: - static bool is_passable_1(chunk& c, Vector2 min, Vector2 max, object_id own_id, const pred& p = detail_astar::never_continue()); - static bool is_passable_(chunk* c0, const std::array<chunk*, 8>& neighbors, - Vector2 min, Vector2 max, object_id own_id, const pred& p = detail_astar::never_continue()); - static bool is_passable(world& w, global_coords coord, Vector2b offset, Vector2ui size, object_id own_id, const pred& p = detail_astar::never_continue()); - static bool is_passable(world& w, struct detail_astar::cache& cache, global_coords coord, Vector2b offset, Vector2ui size, object_id own_id, const pred& p = detail_astar::never_continue()); - static bool is_passable(world& w, chunk_coords_ ch0, const bbox<float>& bb, object_id own_id, const pred& p = detail_astar::never_continue()); - static bool is_passable(world& w, struct detail_astar::cache& cache, chunk_coords_ ch0, const bbox<float>& bb, object_id own_id, const pred& p = detail_astar::never_continue()); -}; - -} // namespace floormat |