BWAPI
trunk/bwapi/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       operator bool() const;
00018       bool isValid() const;
00019       Position operator+(const Position& position) const;
00020       Position operator-(const Position& position) const;
00021       Position& makeValid();
00022       Position& operator+=(const Position& position);
00023       Position& operator-=(const Position& position);
00024       double getDistance(const Position& position) const;
00025       int    getApproxDistance(const Position& position) const;
00026       double getLength() const;
00027       bool   hasPath(const Position& destination) const;
00028       int& x();
00029       int& y();
00030       int x() const;
00031       int y() const;
00032     private :
00033       int _x;
00034       int _y;
00035   };
00036   namespace Positions
00037   {
00038     extern const Position Invalid;
00039     extern const Position None;
00040     extern const Position Unknown;
00041   }
00042 };
00043 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines