/**
 * \file Circle.h
 * \date 12.04.2003
 *
 * Interface for the Ball class
 */
#ifndef COMMON_WORLD_CIRCLE_H
#define COMMON_WORLD_CIRCLE_H

#include "Common/World/Point.h"

enum QUADRANT{			/// ak kruh je v (0,0)tak  (x ,  y)
	Q_ATTACK_UP=0,		/// dopredu a hore (y>0)   (+1, -1)
	Q_ATTACK_DOWN,		/// dopredu a dole (y><0)  (+1, +1)
	Q_DEFEND_UP,		/// dozadu a hore (y>0)	   (-1, +1)
	Q_DEFEND_DOWN,		/// dozadu a dole (y<0)    (-1, -1)
};

class Circle
{
	Point posCenter;            /// Center of the circle  
	float radius;              /// Radius of the circle  
public:
	QUADRANT GetPointQuadrant(Point pos);
	void GetQuadrantCenter(Point& pos, QUADRANT quadrant) const;
	bool IsInQuadrant(const Point& pos, QUADRANT quadrant) const;
	Circle();
	Circle(const Point& pos, float fRadius );
       	void Set(const Point& center, float fRadius );
    	void SetRadius(float fRadius);
    	void SetCenter(const Point& center);

    	float GetRadius() const;
    	Point GetCenter() const;
    	bool IsInside(const Point& pos) const;
};

#endif //#define COMMON_WORLD_CIRCLE_H



