BWAPI
|
#include <Region.h>
Public Member Functions | |
RegionClass (Position center, int clearance) | |
std::set< Chokepoint > | getChokepoints () const |
void | addChokepoint (WeakChokepoint chokepoint) |
void | addChokepointTile (WeakChokepoint chokepoint, TilePosition tile) |
const std::set< TilePosition > & | getChokepointTiles () |
void | addBase (Base base) |
const std::set< Base > & | getBases () const |
const Position & | getCenter () const |
int | getClearance () const |
bool | isConnected (std::tr1::shared_ptr< RegionClass > region) const |
void | setSize (int size) |
int | getSize () const |
void | draw (BWAPI::Color color) |
void | removeChokepoint (WeakChokepoint chokepoint) |
Private Attributes | |
Position | mCenter |
int | mClearance |
int | mSize |
std::set< WeakChokepoint > | mChokepoints |
std::map< WeakChokepoint, TilePosition > | mChokePointToTiles |
std::set< TilePosition > | mChokePointTiles |
std::set< Base > | mBases |
RegionClass::RegionClass | ( | Position | center, |
int | clearance | ||
) |
Definition at line 7 of file Region.cpp.
: mCenter(center) , mClearance(clearance) { }
void RegionClass::addBase | ( | Base | base | ) | [inline] |
void RegionClass::addChokepoint | ( | WeakChokepoint | chokepoint | ) |
Definition at line 29 of file Region.cpp.
References mChokepoints.
{ mChokepoints.insert(chokepoint); }
void RegionClass::addChokepointTile | ( | WeakChokepoint | chokepoint, |
TilePosition | tile | ||
) |
Definition at line 23 of file Region.cpp.
References mChokePointTiles, and mChokePointToTiles.
{ mChokePointToTiles[chokepoint] = tile; mChokePointTiles.insert(tile); }
void RegionClass::draw | ( | BWAPI::Color | color | ) |
Definition at line 34 of file Region.cpp.
References BWAPI::Broodwar, BWAPI::Game::drawCircle(), BWAPI::Game::drawLine(), BWAPI::CoordinateType::Map, mCenter, mChokepoints, BWAPI::Position::x(), and BWAPI::Position::y().
{ BWAPI::Broodwar->drawCircle(BWAPI::CoordinateType::Map, mCenter.x(), mCenter.y(), 64, color); for each(WeakChokepoint chokepoint in mChokepoints) { Chokepoint choke = chokepoint.lock(); BWAPI::Broodwar->drawLine(BWAPI::CoordinateType::Map, choke->getCenter().x(), choke->getCenter().y(), mCenter.x(), mCenter.y(), color); } }
const std::set<Base>& RegionClass::getBases | ( | ) | const [inline] |
const Position& RegionClass::getCenter | ( | ) | const [inline] |
std::set< Chokepoint > RegionClass::getChokepoints | ( | ) | const |
Definition at line 13 of file Region.cpp.
References mChokepoints.
{ std::set<Chokepoint> chokepoints; for each(WeakChokepoint chokepoint in mChokepoints) { chokepoints.insert(chokepoint.lock()); } return chokepoints; }
const std::set<TilePosition>& RegionClass::getChokepointTiles | ( | ) | [inline] |
int RegionClass::getClearance | ( | ) | const [inline] |
int RegionClass::getSize | ( | ) | const [inline] |
bool RegionClass::isConnected | ( | std::tr1::shared_ptr< RegionClass > | region | ) | const |
Definition at line 44 of file Region.cpp.
References Singleton< T >::Instance(), and mCenter.
{ return TerrainAnaysis::Instance().getWalkConnectivity(mCenter) == TerrainAnaysis::Instance().getWalkConnectivity(region->getCenter()); }
void RegionClass::removeChokepoint | ( | WeakChokepoint | chokepoint | ) |
Definition at line 49 of file Region.cpp.
References mChokepoints, mChokePointTiles, and mChokePointToTiles.
{ mChokepoints.erase(chokepoint); mChokePointTiles.erase(mChokePointToTiles[chokepoint]); mChokePointToTiles.erase(chokepoint); }
void RegionClass::setSize | ( | int | size | ) | [inline] |
std::set<Base> RegionClass::mBases [private] |
Definition at line 48 of file Region.h.
Referenced by addBase(), and getBases().
Position RegionClass::mCenter [private] |
Definition at line 40 of file Region.h.
Referenced by draw(), getCenter(), and isConnected().
std::set<WeakChokepoint> RegionClass::mChokepoints [private] |
Definition at line 44 of file Region.h.
Referenced by addChokepoint(), draw(), getChokepoints(), and removeChokepoint().
std::set<TilePosition> RegionClass::mChokePointTiles [private] |
Definition at line 46 of file Region.h.
Referenced by addChokepointTile(), getChokepointTiles(), and removeChokepoint().
std::map<WeakChokepoint, TilePosition> RegionClass::mChokePointToTiles [private] |
Definition at line 45 of file Region.h.
Referenced by addChokepointTile(), and removeChokepoint().
int RegionClass::mClearance [private] |
Definition at line 41 of file Region.h.
Referenced by getClearance().
int RegionClass::mSize [private] |