BWAPI
Public Member Functions | Private Attributes
ChokepointClass Class Reference

#include <Chokepoint.h>

Collaboration diagram for ChokepointClass:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ChokepointClass (Position side1, Position side2, int clearance)
std::pair< Position, PositiongetSides ()
Position getCenter ()
std::pair< Region, RegiongetRegions ()
const std::pair< TilePosition,
TilePosition > & 
getBuildTiles ()
void addChokepointTile (WeakRegion region, TilePosition tile)
void draw (BWAPI::Color color)
void setRegion1 (WeakRegion region)
void setRegion2 (WeakRegion region)
int getClearance () const

Private Attributes

std::pair< WeakRegion, WeakRegionmRegions
std::pair< TilePosition,
TilePosition
mChoketiles
Position mCenter
std::pair< Position, PositionmSides
int mClearance

Detailed Description

Definition at line 9 of file Chokepoint.h.


Constructor & Destructor Documentation

ChokepointClass::ChokepointClass ( Position  side1,
Position  side2,
int  clearance 
)

Definition at line 5 of file Chokepoint.cpp.

        : mSides(side1, side2)
        , mClearance(clearance)
        , mCenter((side1.x() + side2.x()) / 2, (side1.y() + side2.y()) / 2)
{
}

Member Function Documentation

Definition at line 12 of file Chokepoint.cpp.

References mChoketiles, and mRegions.

{
        if(region.lock() == mRegions.first.lock())
                mChoketiles.first = tile;

        if(region.lock() == mRegions.second.lock())
                mChoketiles.second = tile;
}

Definition at line 26 of file Chokepoint.cpp.

References BWAPI::Broodwar, BWAPI::Game::drawBox(), BWAPI::Game::drawCircle(), BWAPI::Game::drawLine(), BWAPI::CoordinateType::Map, mCenter, mChoketiles, mSides, BWAPI::Position::x(), and BWAPI::Position::y().

{
        BWAPI::Broodwar->drawLine(BWAPI::CoordinateType::Map, mSides.first.x(), mSides.first.y(), mSides.second.x(), mSides.second.y(), color);

        BWAPI::Broodwar->drawBox(BWAPI::CoordinateType::Map, mChoketiles.first.x()*32, mChoketiles.first.y()*32, mChoketiles.first.x()*32+31, mChoketiles.first.y()*32+31, color);
        BWAPI::Broodwar->drawBox(BWAPI::CoordinateType::Map, mChoketiles.second.x()*32, mChoketiles.second.y()*32, mChoketiles.second.x()*32+31, mChoketiles.second.y()*32+31, color);

        BWAPI::Broodwar->drawLine(BWAPI::CoordinateType::Map, mChoketiles.first.x()*32+16, mChoketiles.first.y()*32+16, mCenter.x(), mCenter.y(), color);
        BWAPI::Broodwar->drawLine(BWAPI::CoordinateType::Map, mChoketiles.second.x()*32+16, mChoketiles.second.y()*32+16, mCenter.x(), mCenter.y(), color);

        BWAPI::Broodwar->drawCircle(BWAPI::CoordinateType::Map, mCenter.x(), mCenter.y(), 32, color);
}

Here is the call graph for this function:

const std::pair<TilePosition, TilePosition>& ChokepointClass::getBuildTiles ( ) [inline]

Definition at line 19 of file Chokepoint.h.

References mChoketiles.

{ return mChoketiles; }

Definition at line 15 of file Chokepoint.h.

References mCenter.

{ return mCenter; }
int ChokepointClass::getClearance ( ) const [inline]

Definition at line 27 of file Chokepoint.h.

References mClearance.

{ return mClearance; }

Definition at line 21 of file Chokepoint.cpp.

References mRegions.

{
        return std::make_pair(mRegions.first.lock(), mRegions.second.lock());
}
std::pair<Position, Position> ChokepointClass::getSides ( ) [inline]

Definition at line 14 of file Chokepoint.h.

References mSides.

{ return mSides; }
void ChokepointClass::setRegion1 ( WeakRegion  region) [inline]

Definition at line 24 of file Chokepoint.h.

References mRegions.

{ mRegions.first = region; }
void ChokepointClass::setRegion2 ( WeakRegion  region) [inline]

Definition at line 25 of file Chokepoint.h.

References mRegions.

{ mRegions.second = region; }

Member Data Documentation

Definition at line 34 of file Chokepoint.h.

Referenced by draw(), and getCenter().

Definition at line 32 of file Chokepoint.h.

Referenced by addChokepointTile(), draw(), and getBuildTiles().

Definition at line 36 of file Chokepoint.h.

Referenced by getClearance().

Definition at line 30 of file Chokepoint.h.

Referenced by addChokepointTile(), getRegions(), setRegion1(), and setRegion2().

std::pair<Position, Position> ChokepointClass::mSides [private]

Definition at line 35 of file Chokepoint.h.

Referenced by draw(), and getSides().


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