27 NavTriangulation(
NavGrid &nav) : mNav(nav) { }
28 virtual ~NavTriangulation();
29 virtual uint getNavIdx(
const Point_2&, uint z)
const = 0;
30 virtual bool findPathAStar(std::vector<NavTri *> &searchArea,
Connection&) = 0;
31 virtual void insertRoute(
const Connection&) = 0;
32 virtual void removeRoute(
const Connection&) = 0;
33 const std::vector<NavTri>& getNavTris()
const {
return mNavTris; }
34 uint16_t incSearchSeq() { assert(mSearchSeq < 0xfffe &&
"FIXME: Wipe sequence numbers!");
return ++mSearchSeq; }
35 uint16_t getSearchSeq()
const {
return mSearchSeq; }
36 NavTri& getNavTri(uint i) {
return mNavTris[i]; }
37 NavTri *getNavTri(
const Point_2 &v, uint z) {
auto i = getNavIdx(v, z);
return (i < mNavTris.size()) ? &mNavTris[i] : 0; }
38 const NavTri& getNavTri(uint i)
const {
return mNavTris[i]; }
39 const NavTri *getNavTri(
const Point_2 &v, uint z)
const {
auto i = getNavIdx(v, z);
return (i < mNavTris.size()) ? &mNavTris[i] : 0; }
40 virtual PyObject *getFaceGraphPy()
const {
return 0; }
41 virtual PyObject *getLineGraphPy()
const {
return 0; }
44 std::vector<NavTri> mNavTris;
47 uint16_t mSearchSeq{0};