You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.2 KiB
C++
64 lines
1.2 KiB
C++
11 years ago
|
#ifndef GAME_RENDER_MWSCENE_H
|
||
|
#define GAME_RENDER_MWSCENE_H
|
||
15 years ago
|
|
||
15 years ago
|
#include <utility>
|
||
15 years ago
|
|
||
14 years ago
|
#include <vector>
|
||
14 years ago
|
#include <string>
|
||
10 years ago
|
#include <map>
|
||
14 years ago
|
|
||
10 years ago
|
#include <osg/ref_ptr>
|
||
|
|
||
13 years ago
|
namespace ESM
|
||
|
{
|
||
|
struct Pathgrid;
|
||
|
}
|
||
|
|
||
10 years ago
|
namespace osg
|
||
15 years ago
|
{
|
||
10 years ago
|
class Group;
|
||
|
class Geometry;
|
||
15 years ago
|
}
|
||
|
|
||
15 years ago
|
namespace MWWorld
|
||
|
{
|
||
13 years ago
|
class Ptr;
|
||
|
class CellStore;
|
||
15 years ago
|
}
|
||
|
|
||
15 years ago
|
namespace MWRender
|
||
15 years ago
|
{
|
||
10 years ago
|
class Pathgrid
|
||
13 years ago
|
{
|
||
13 years ago
|
bool mPathgridEnabled;
|
||
13 years ago
|
|
||
13 years ago
|
void togglePathgrid();
|
||
|
|
||
10 years ago
|
typedef std::vector<const MWWorld::CellStore *> CellList;
|
||
13 years ago
|
CellList mActiveCells;
|
||
|
|
||
10 years ago
|
osg::ref_ptr<osg::Group> mRootNode;
|
||
13 years ago
|
|
||
10 years ago
|
osg::ref_ptr<osg::Group> mPathGridRoot;
|
||
13 years ago
|
|
||
10 years ago
|
typedef std::map<std::pair<int,int>, osg::ref_ptr<osg::Group> > ExteriorPathgridNodes;
|
||
13 years ago
|
ExteriorPathgridNodes mExteriorPathgridNodes;
|
||
10 years ago
|
osg::ref_ptr<osg::Group> mInteriorPathgridNode;
|
||
13 years ago
|
|
||
10 years ago
|
void enableCellPathgrid(const MWWorld::CellStore *store);
|
||
|
void disableCellPathgrid(const MWWorld::CellStore *store);
|
||
13 years ago
|
|
||
13 years ago
|
public:
|
||
10 years ago
|
Pathgrid(osg::ref_ptr<osg::Group> root);
|
||
|
~Pathgrid();
|
||
13 years ago
|
bool toggleRenderMode (int mode);
|
||
|
|
||
10 years ago
|
void addCell(const MWWorld::CellStore* store);
|
||
|
void removeCell(const MWWorld::CellStore* store);
|
||
13 years ago
|
};
|
||
13 years ago
|
|
||
14 years ago
|
|
||
15 years ago
|
}
|
||
|
|
||
|
#endif
|