Files
omath/include/omath/pathfinding/NavigationMesh.h

33 lines
689 B
C++

//
// Created by Vlad on 28.07.2024.
//
#pragma once
#include "omath/Vector3.h"
#include <expected>
#include <vector>
#include <string>
namespace omath::pathfinding
{
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;
};
}