#pragma once #include #include #include namespace BWTA { class Chokepoint; class BaseLocation; class Region { public: virtual const Polygon& getPolygon() const=0; virtual const BWAPI::Position& getCenter() const=0; virtual const std::set& getChokepoints() const=0; virtual const std::set& getBaseLocations() const=0; virtual bool isReachable(Region* region) const=0; virtual const std::set& getReachableRegions() const=0; virtual const int getMaxDistance() const=0; }; }