//	Darkstar Engine  (c) UnderWorld Interactive Studio (all coding by Svarog    2007-2008)
//
//      Данный файл является частью Darkstar Engine. Любое использование кода файла
//      без согласия компании, является нарушением закона об авторском праве (в слу-
//      чае если не оговорено обратное).
//
//      Имя файла: sphere.hpp
//      Краткое описание: sphere volume
//


#ifndef DSE_MATH_SPHERE_HPP
#define DSE_MATH_SPHERE_HPP

#include <Darkstar/Math/common_math.hpp>
#include <Darkstar/Math/vect.hpp>

namespace math
{
	class Sphere
	{
	private:
		Vect3 position;
		float radius;
	public:
		Sphere();
		Sphere(const Vect3& position, const float radius);
		Sphere(const Sphere& sphere);
		Sphere& operator=(const Sphere& sphere);
		~Sphere();

		bool operator==(const Sphere& sphere);
		bool operator!=(const Sphere& sphere);

		void setPosition(const Vect3& new_position);
		const Vect3& getPosition() const;

		void setRadius(const float new_radius);
		const float getRadius() const;

		void setSphere(const Vect3& new_position, const float new_radius);

		bool getIsIntersect(const Sphere& sphere) const;
	};
};

#include <Darkstar/Math/sphere.inl>

#endif
