1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-09 21:42:13 +00:00
OpenMW/apps/openmw/mwrender/recastmesh.hpp

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

57 lines
1.1 KiB
C++
Raw Normal View History

2019-11-27 22:45:01 +00:00
#ifndef OPENMW_MWRENDER_RECASTMESH_H
#define OPENMW_MWRENDER_RECASTMESH_H
#include <components/detournavigator/recastmeshtiles.hpp>
#include <components/detournavigator/version.hpp>
2019-11-27 22:45:01 +00:00
#include <osg/ref_ptr>
namespace osg
{
class Group;
class Geometry;
class StateSet;
2019-11-27 22:45:01 +00:00
}
namespace DetourNavigator
{
struct Settings;
}
2019-11-27 22:45:01 +00:00
namespace MWRender
{
class RecastMesh
{
public:
RecastMesh(const osg::ref_ptr<osg::Group>& root, bool enabled);
~RecastMesh();
bool toggle();
void update(const DetourNavigator::RecastMeshTiles& recastMeshTiles, const DetourNavigator::Settings& settings);
void reset();
void enable();
void disable();
bool isEnabled() const { return mEnabled; }
private:
struct Group
{
DetourNavigator::Version mVersion;
2019-11-27 22:45:01 +00:00
osg::ref_ptr<osg::Group> mValue;
};
osg::ref_ptr<osg::Group> mRootNode;
bool mEnabled;
std::map<DetourNavigator::TilePosition, Group> mGroups;
osg::ref_ptr<osg::StateSet> mGroupStateSet;
osg::ref_ptr<osg::StateSet> mDebugDrawStateSet;
2019-11-27 22:45:01 +00:00
};
}
#endif