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

64 lines
1.2 KiB
C++
Raw Normal View History

#ifndef GAME_RENDER_MWSCENE_H
#define GAME_RENDER_MWSCENE_H
#include <utility>
#include <vector>
#include <string>
2015-04-21 21:35:35 +00:00
#include <map>
2015-05-02 20:45:27 +00:00
#include <osg/ref_ptr>
namespace ESM
{
struct Pathgrid;
}
2015-05-02 20:45:27 +00:00
namespace osg
{
2015-05-02 20:45:27 +00:00
class Group;
class Geometry;
}
namespace MWWorld
{
class Ptr;
class CellStore;
}
namespace MWRender
{
class Pathgrid
{
bool mPathgridEnabled;
2011-10-22 04:15:15 +00:00
void togglePathgrid();
2015-05-02 20:45:27 +00:00
typedef std::vector<const MWWorld::CellStore *> CellList;
CellList mActiveCells;
2015-05-02 20:45:27 +00:00
osg::ref_ptr<osg::Group> mRootNode;
2015-05-02 20:45:27 +00:00
osg::ref_ptr<osg::Group> mPathGridRoot;
2015-05-02 20:45:27 +00:00
typedef std::map<std::pair<int,int>, osg::ref_ptr<osg::Group> > ExteriorPathgridNodes;
ExteriorPathgridNodes mExteriorPathgridNodes;
2015-05-02 20:45:27 +00:00
osg::ref_ptr<osg::Group> mInteriorPathgridNode;
2015-05-02 20:45:27 +00:00
void enableCellPathgrid(const MWWorld::CellStore *store);
void disableCellPathgrid(const MWWorld::CellStore *store);
public:
Pathgrid(osg::ref_ptr<osg::Group> root);
~Pathgrid();
bool toggleRenderMode (int mode);
2015-05-02 20:45:27 +00:00
void addCell(const MWWorld::CellStore* store);
void removeCell(const MWWorld::CellStore* store);
};
2011-10-22 04:15:15 +00:00
}
#endif