mirror of
https://github.com/orange-cpp/omath.git
synced 2026-02-13 15:03:27 +00:00
38 lines
729 B
C++
38 lines
729 B
C++
//
|
|
// Created by Vlad on 28.07.2024.
|
|
//
|
|
|
|
#pragma once
|
|
|
|
#include "omath/Vector3.hpp"
|
|
#include <expected>
|
|
#include <vector>
|
|
#include <string>
|
|
|
|
namespace omath::pathfinding
|
|
{
|
|
|
|
enum Error
|
|
{
|
|
|
|
};
|
|
|
|
class NavigationMesh final
|
|
{
|
|
public:
|
|
|
|
[[nodiscard]]
|
|
std::expected<Vector3, std::string> GetClosestVertex(const Vector3& point) const;
|
|
|
|
|
|
[[nodiscard]]
|
|
const std::vector<Vector3>& GetNeighbors(const Vector3& vertex) const;
|
|
|
|
[[nodiscard]]
|
|
bool Empty() const;
|
|
[[nodiscard]] std::vector<uint8_t> Serialize() const;
|
|
void Deserialize(const std::vector<uint8_t>& raw);
|
|
|
|
std::unordered_map<Vector3, std::vector<Vector3>> m_verTextMap;
|
|
};
|
|
} |