/**
 * auteurs          : Michel Landschoot
 * mail             : direction@landsnet.com
 * date de création : 2013-12-21
 * description      : impléméntation d'une classe décrivant un cercle dans une hiérachie de figures
 */

#include "cercle.hpp"

/**
 * Le cercle témoin est une variable de classe
 */
Cercle Cercle::temoin = Cercle(Point(0,0), 0);

/**
 * Fonction virtuelle de copie
 */
Figure * Cercle::copy()
{
    return new Cercle(this->_centre, this->_rayon);
}

/**
 * Déplacement-translation de valeur le point p
 */
void Cercle::deplacer(const Point & p)
{
    _centre += p;
}

/**
 * Le dessin se limite à un affichage
 */
void Cercle::dessiner(ostream & os) const
{
    os << *this << endl;;
}

double  Cercle::surface() const
{
    return 3.1416 * _rayon * _rayon;
}

void Cercle::afficher(ostream & os) const
{
    os << "cercle : (" << _centre << ", " << _rayon << ")" << endl;
}

