#ifndef OPENMW_COMPONENTS_DETOURNAVIGATOR_RECASTMESH_H #define OPENMW_COMPONENTS_DETOURNAVIGATOR_RECASTMESH_H #include "areatype.hpp" #include "chunkytrimesh.hpp" #include "bounds.hpp" #include #include #include #include #include namespace DetourNavigator { class RecastMesh { public: struct Water { int mCellSize; btTransform mTransform; }; RecastMesh(std::vector indices, std::vector vertices, std::vector areaTypes, std::vector water, const std::size_t trianglesPerChunk); const std::vector& getIndices() const { return mIndices; } const std::vector& getVertices() const { return mVertices; } const std::vector& getAreaTypes() const { return mAreaTypes; } const std::vector& getWater() const { return mWater; } std::size_t getVerticesCount() const { return mVertices.size() / 3; } std::size_t getTrianglesCount() const { return mIndices.size() / 3; } const ChunkyTriMesh& getChunkyTriMesh() const { return mChunkyTriMesh; } const Bounds& getBounds() const { return mBounds; } private: std::vector mIndices; std::vector mVertices; std::vector mAreaTypes; std::vector mWater; ChunkyTriMesh mChunkyTriMesh; Bounds mBounds; }; } #endif