#ifndef SPHERE_H
#define SPHERE_H

#include "Material.h"

/**
@class Sphere
Класс, описывающий переменные, при помощи которых строится Сфера, содержит конструктор,
деструктор, член данных вещественного типа, член данных типа - материал, член данных типа -
трехмерный вектор и шесть методов.
*/
class Sphere
{
public:
        /// этот член - позиция центра Сферы
        Vector3D Position;
        /// этот член - радиус Сферы
        float Radius;

        /// этот член - материал Сферы
        Mater Material;

        /// Конструктор
        Sphere();
        /// Деструктор
        ~Sphere();

        /// Метод, устанавливающий позицию центра из параметра.
        /// @param  Pos – параметр типа трехмерный вектор(может быть константным)
        void SetPos(const Vector3D &Pos);
        /// Метод, устанавливающий радиус из параметра.
        /// @param  Rad – параметр вещественного типа(может быть константным)
        void SetRad(const float Rad);
        /// Метод, устанавливающий материал из параметра.
        /// @param  Mat – параметр типа материал(может быть константным)
        void SetMater(Mater &Mat);

        /// Метод, позволяющий получить позицию центра из объекта.
        /// @return Позицию центра типа трехмерный вектор
        Vector3D GetPos();
        /// Метод, позволяющий получить радиус из объекта.
        /// @return Радиус вещественного типа
        float GetRad();
        /// Метод, позволяющий получить материал из объекта.
        /// @return Материал типа материал
        Mater GetMater();

};

#endif // SPHERE_H
