BWAPI
SPAR/AIModule/SparAIModule/PerceptualState/Locations/Dynamic/CircularUnitDynamicLocation.h
Go to the documentation of this file.
00001 #pragma once
00002 #include "UnitDynamicLocation.h"
00003 #include "../Static/Arbitrary/CircularLocation.h"
00004 
00005 class CircularUnitDynamicLocation : public UnitDynamicLocation
00006 {
00007 public:
00008   CircularUnitDynamicLocation(BWAPI::Unit* unit, int radius)
00009     : UnitDynamicLocation(unit)
00010     , m_radius(radius)
00011   {
00012   }
00013 
00014   CircularUnitDynamicLocation(BWAPI::Unit* unit)
00015     : UnitDynamicLocation(unit)
00016     , m_radius(DANGER_DISTANCE)
00017   {
00018   }
00019 
00020   CircularLocation getCircularLocation() const
00021   {
00022     return CircularLocation(m_unit->getPosition(), m_radius);
00023   }
00024 
00025   virtual bool isInLocation(BWAPI::Position position) const
00026   {
00027     return CircularLocation(m_unit->getPosition(), m_radius).isInLocation(position);
00028   }
00029 
00030 protected:
00031   virtual void output(std::ostream& out) const
00032   {
00033     out << "DynamicCircle(" << *m_unit << ", " << m_radius << ")";
00034   }
00035 
00036   const int m_radius;
00037 };
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines