2015-05-27 12:12:11 +00:00
|
|
|
#ifndef CSM_TOOLS_PATHGRIDCHECK_H
|
|
|
|
#define CSM_TOOLS_PATHGRIDCHECK_H
|
|
|
|
|
2022-10-19 17:02:00 +00:00
|
|
|
#include <algorithm>
|
|
|
|
#include <vector>
|
2015-05-27 12:12:11 +00:00
|
|
|
|
|
|
|
#include "../doc/stage.hpp"
|
|
|
|
|
2022-10-19 17:02:00 +00:00
|
|
|
namespace CSMDoc
|
|
|
|
{
|
|
|
|
class Messages;
|
|
|
|
}
|
|
|
|
|
2015-05-27 12:12:11 +00:00
|
|
|
namespace CSMWorld
|
|
|
|
{
|
|
|
|
struct Pathgrid;
|
2023-02-25 12:11:31 +00:00
|
|
|
template <typename T>
|
2015-05-27 12:12:11 +00:00
|
|
|
class SubCellCollection;
|
|
|
|
}
|
|
|
|
|
|
|
|
namespace CSMTools
|
|
|
|
{
|
2015-05-27 22:44:17 +00:00
|
|
|
struct Point
|
|
|
|
{
|
|
|
|
unsigned char mConnectionNum;
|
2023-04-08 00:32:43 +00:00
|
|
|
std::vector<size_t> mOtherIndex;
|
2015-05-27 22:44:17 +00:00
|
|
|
Point()
|
|
|
|
: mConnectionNum(0)
|
|
|
|
, mOtherIndex(0)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2015-05-27 12:12:11 +00:00
|
|
|
class PathgridCheckStage : public CSMDoc::Stage
|
|
|
|
{
|
2023-02-25 12:11:31 +00:00
|
|
|
const CSMWorld::SubCellCollection<CSMWorld::Pathgrid>& mPathgrids;
|
2018-06-19 22:20:03 +00:00
|
|
|
bool mIgnoreBaseRecords;
|
2015-05-27 12:12:11 +00:00
|
|
|
|
2015-05-28 20:40:40 +00:00
|
|
|
public:
|
2023-02-25 12:11:31 +00:00
|
|
|
explicit PathgridCheckStage(const CSMWorld::SubCellCollection<CSMWorld::Pathgrid>& pathgrids);
|
2015-05-27 12:12:11 +00:00
|
|
|
|
2020-10-16 18:18:54 +00:00
|
|
|
int setup() override;
|
2015-05-27 12:12:11 +00:00
|
|
|
|
2020-10-16 18:18:54 +00:00
|
|
|
void perform(int stage, CSMDoc::Messages& messages) override;
|
2015-05-27 12:12:11 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // CSM_TOOLS_PATHGRIDCHECK_H
|