BWAPI
Undermind/proxy/cpp/include/BWAPI/Position.h
Go to the documentation of this file.
00001 #pragma once
00002 
00003 namespace BWAPI
00004 {
00005   class TilePosition;
00006 
00007   // TODO: Add doxygen documentation
00008   class Position
00009   {
00010     public :
00011       Position();
00012       explicit Position(const TilePosition& position);
00013       Position(int x, int y);
00014       bool operator == (const Position& position) const;
00015       bool operator != (const Position& position) const;
00016       bool operator  < (const Position& position) const;
00017       bool isValid() const;
00018       Position operator+(const Position& position) const;
00019       Position operator-(const Position& position) const;
00020       Position& makeValid();
00021       Position& operator+=(const Position& position);
00022       Position& operator-=(const Position& position);
00023       double getDistance(const Position& position) const;
00024       int    getApproxDistance(const Position& position) const;
00025       double getLength() const;
00026       bool   hasPath(const Position& destination) const;
00027       int& x();
00028       int& y();
00029       int x() const;
00030       int y() const;
00031     private :
00032       int _x;
00033       int _y;
00034   };
00035   namespace Positions
00036   {
00037     extern const Position Invalid;
00038     extern const Position None;
00039     extern const Position Unknown;
00040   }
00041 };
00042 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines