2018-03-13 22:49:08 +00:00
|
|
|
#ifndef OPENMW_COMPONENTS_DETOURNAVIGATOR_MAKENAVMESH_H
|
|
|
|
#define OPENMW_COMPONENTS_DETOURNAVIGATOR_MAKENAVMESH_H
|
|
|
|
|
2018-04-15 19:54:45 +00:00
|
|
|
#include "settings.hpp"
|
2018-04-16 19:57:35 +00:00
|
|
|
#include "navmeshcacheitem.hpp"
|
2018-04-01 00:44:16 +00:00
|
|
|
#include "tileposition.hpp"
|
2018-04-15 22:07:18 +00:00
|
|
|
#include "tilebounds.hpp"
|
2018-04-01 00:44:16 +00:00
|
|
|
|
2018-03-13 22:49:08 +00:00
|
|
|
#include <osg/Vec3f>
|
|
|
|
|
|
|
|
#include <memory>
|
2018-04-01 00:44:16 +00:00
|
|
|
#include <set>
|
2018-03-13 22:49:08 +00:00
|
|
|
|
|
|
|
class dtNavMesh;
|
|
|
|
|
|
|
|
namespace DetourNavigator
|
|
|
|
{
|
|
|
|
class RecastMesh;
|
2018-04-01 17:24:02 +00:00
|
|
|
class SharedNavMesh;
|
2018-03-13 22:49:08 +00:00
|
|
|
struct Settings;
|
|
|
|
|
|
|
|
using NavMeshPtr = std::shared_ptr<dtNavMesh>;
|
|
|
|
|
2018-04-21 12:27:47 +00:00
|
|
|
enum class UpdateNavMeshStatus
|
|
|
|
{
|
|
|
|
ignore,
|
|
|
|
removed,
|
|
|
|
add,
|
|
|
|
replaced
|
|
|
|
};
|
|
|
|
|
2018-04-01 17:24:02 +00:00
|
|
|
NavMeshPtr makeEmptyNavMesh(const Settings& settings);
|
2018-04-01 00:44:16 +00:00
|
|
|
|
2018-04-15 22:07:18 +00:00
|
|
|
UpdateNavMeshStatus updateNavMesh(const osg::Vec3f& agentHalfExtents, const RecastMesh* recastMesh,
|
|
|
|
const TilePosition& changedTile, const Settings& settings, NavMeshCacheItem& navMeshCacheItem);
|
2018-03-13 22:49:08 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|