BWAPI
Public Member Functions | Private Attributes
RegionClass Class Reference

#include <Region.h>

Collaboration diagram for RegionClass:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 RegionClass (Position center, int clearance)
std::set< ChokepointgetChokepoints () 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 PositiongetCenter () 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< WeakChokepointmChokepoints
std::map< WeakChokepoint,
TilePosition
mChokePointToTiles
std::set< TilePositionmChokePointTiles
std::set< BasemBases

Detailed Description

Definition at line 12 of file Region.h.


Constructor & Destructor Documentation

RegionClass::RegionClass ( Position  center,
int  clearance 
)

Definition at line 7 of file Region.cpp.

        : mCenter(center)
        , mClearance(clearance)
{
}

Member Function Documentation

void RegionClass::addBase ( Base  base) [inline]

Definition at line 24 of file Region.h.

References mBases.

{ mBases.insert(base); }

Definition at line 29 of file Region.cpp.

References mChokepoints.

{
        mChokepoints.insert(chokepoint);
}

Definition at line 23 of file Region.cpp.

References mChokePointTiles, and mChokePointToTiles.

{
        mChokePointToTiles[chokepoint] = tile;
        mChokePointTiles.insert(tile);
}

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);
        }
}

Here is the call graph for this function:

const std::set<Base>& RegionClass::getBases ( ) const [inline]

Definition at line 25 of file Region.h.

References mBases.

{ return mBases; }
const Position& RegionClass::getCenter ( ) const [inline]

Definition at line 27 of file Region.h.

References mCenter.

{ return mCenter; }
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]

Definition at line 22 of file Region.h.

References mChokePointTiles.

{ return mChokePointTiles; }
int RegionClass::getClearance ( ) const [inline]

Definition at line 28 of file Region.h.

References mClearance.

{ return mClearance; }
int RegionClass::getSize ( ) const [inline]

Definition at line 33 of file Region.h.

References mSize.

{ return mSize; }
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());
}

Here is the call graph for this function:

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]

Definition at line 32 of file Region.h.

References mSize.

{ mSize = size; }

Member Data Documentation

std::set<Base> RegionClass::mBases [private]

Definition at line 48 of file Region.h.

Referenced by addBase(), and getBases().

Definition at line 40 of file Region.h.

Referenced by draw(), getCenter(), and isConnected().

Definition at line 44 of file Region.h.

Referenced by addChokepoint(), draw(), getChokepoints(), and removeChokepoint().

Definition at line 46 of file Region.h.

Referenced by addChokepointTile(), getChokepointTiles(), and removeChokepoint().

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]

Definition at line 42 of file Region.h.

Referenced by getSize(), and setSize().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines