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.
55 lines
889 B
C++
55 lines
889 B
C++
#ifndef OPENCS_VIEW_CELLBORDER_H
|
|
#define OPENCS_VIEW_CELLBORDER_H
|
|
|
|
#include <cstddef>
|
|
|
|
#include <osg/ref_ptr>
|
|
|
|
namespace osg
|
|
{
|
|
class Group;
|
|
class PositionAttitudeTransform;
|
|
}
|
|
|
|
namespace ESM
|
|
{
|
|
struct Land;
|
|
}
|
|
|
|
namespace CSMWorld
|
|
{
|
|
class CellCoordinates;
|
|
}
|
|
|
|
namespace CSVRender
|
|
{
|
|
|
|
class CellBorder
|
|
{
|
|
public:
|
|
|
|
CellBorder(osg::Group* cellNode, const CSMWorld::CellCoordinates& coords);
|
|
~CellBorder();
|
|
|
|
void buildShape(const ESM::Land& esmLand);
|
|
|
|
private:
|
|
|
|
static const int CellSize;
|
|
static const int VertexCount;
|
|
|
|
size_t landIndex(int x, int y);
|
|
float scaleToWorld(int val);
|
|
|
|
// unimplemented
|
|
CellBorder(const CellBorder&);
|
|
CellBorder& operator=(const CellBorder&);
|
|
|
|
osg::Group* mParentNode;
|
|
osg::ref_ptr<osg::PositionAttitudeTransform> mBaseNode;
|
|
|
|
};
|
|
}
|
|
|
|
#endif
|