1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-17 01:10:10 +00:00
OpenMW/apps/opencs/view/render/cellmarker.hpp

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

62 lines
1.3 KiB
C++
Raw Normal View History

#ifndef OPENCS_VIEW_CELLMARKER_H
#define OPENCS_VIEW_CELLMARKER_H
2016-02-10 01:23:00 +00:00
#include "tagbase.hpp"
#include <osg/ref_ptr>
#include "../../model/world/cellcoordinates.hpp"
namespace osg
{
class AutoTransform;
class Group;
}
namespace CSVRender
{
2016-02-10 01:23:00 +00:00
class CellMarker;
class CellMarkerTag : public TagBase
{
private:
CellMarker* mMarker;
2022-09-22 18:26:05 +00:00
public:
2016-02-10 01:23:00 +00:00
CellMarkerTag(CellMarker* marker);
CellMarker* getCellMarker() const;
};
/// \brief Marker to display cell coordinates.
class CellMarker
{
private:
osg::Group* mCellNode;
osg::ref_ptr<osg::AutoTransform> mMarkerNode;
CSMWorld::CellCoordinates mCoordinates;
bool mExists;
2022-09-22 18:26:05 +00:00
// Not implemented.
CellMarker(const CellMarker&);
CellMarker& operator=(const CellMarker&);
2022-09-22 18:26:05 +00:00
/// \brief Build marker containing cell's coordinates.
void buildMarker();
2022-09-22 18:26:05 +00:00
/// \brief Position marker at center of cell.
void positionMarker();
2022-09-22 18:26:05 +00:00
public:
/// \brief Constructor.
/// \param cellNode Cell to create marker for.
/// \param coordinates Coordinates of cell.
/// \param cellExists Whether or not cell exists.
CellMarker(osg::Group* cellNode, const CSMWorld::CellCoordinates& coordinates, const bool cellExists);
2022-09-22 18:26:05 +00:00
~CellMarker();
};
}
#endif