/* Auteur: Nicolas JANEY          */
/* nicolas.janey@univ-fcomte.fr   */
/* Avril 2005                     */

public class Cercle {
  public float r;
  public Position c;

  /* Trois constructeurs                                  */
  /* - sans parametre -> cerce de rayon 1 centre sur O    */
  /* - avec trois parametres reels ->                     */
  /*      rayon, x du centre, y du centre                 */
  /* - avec un parametre reel et une Position ->          */
  /*      rayon, position du centre                       */

  public Cercle() {
    r = 1.0F;
    c = new Position();
  }
  
  public Cercle(float ri,float xi,float yi) {
    r = ri;
    c = new Position(xi,yi);
  }
  
  public Cercle(float ri,Position pi) {
    r = ri;
    c = new Position(pi);
  }
  
  /* Methode de calcul de la surface d'un cercle          */

  public float surfaceCercle() {
    return((float) (Math.PI*r*r));
  }
  
  /* Methode de test de l'inclusion d'une Position        */
  /* dans un cercle                                       */

  public boolean dansCercle(Position p) {
    return(p.distance(c) <= r);
  }
  
  /* Surcharge de la methode toString                     */

  public String toString() {
    return(r+" "+c);
  }
}