BWAPI
trunk/bwapi/BWAPI/Source/BWAPI/RegionImpl.h
Go to the documentation of this file.
00001 #pragma once
00002 #include <set>
00003 #include <vector>
00004 #include <BWAPI/Region.h>
00005 #include <BWAPI/Position.h>
00006 
00007 #include <BWAPI/Client/RegionData.h>
00008 
00009 namespace BWAPI
00010 {
00011   class RegionImpl : public Region
00012   {
00013   public:
00014     virtual int getID() const;
00015     virtual int getRegionGroupID() const;
00016     virtual BWAPI::Position getCenter() const;
00017     virtual bool isHigherGround() const;
00018     virtual int getDefensePriority() const;
00019     virtual bool isWalkable() const;
00020 
00021     virtual const std::set<BWAPI::Region*> &getNeighbors() const;
00022 
00023     virtual int getBoundsLeft() const;
00024     virtual int getBoundsTop() const;
00025     virtual int getBoundsRight() const;
00026     virtual int getBoundsBottom() const;
00027 
00028     virtual BWAPI::Region *getClosestAccessibleRegion() const;
00029     virtual BWAPI::Region *getClosestInaccessibleRegion() const;
00030 
00031     virtual int getDistance(BWAPI::Region *other) const;
00032 
00033     RegionImpl(int id);
00034     ~RegionImpl();
00035     void UpdateRegionRelations();
00036     RegionData *getData();
00037   private:
00038     RegionData data;
00039     RegionData *self;
00040     
00041     std::set<BWAPI::Region*> neighbors;
00042     BWAPI::Region *closestAccessibleRgn;
00043     BWAPI::Region *closestInaccessibleRgn;
00044   };
00045 
00046 };
00047 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines