EOS 2  1.1.0
Einfache Objektbasierte Sprache
Circle.java
gehe zur Dokumentation dieser Datei
1 package de.lathanda.eos.game.geom;
2 
3 import de.lathanda.eos.base.Picture;
4 import de.lathanda.eos.base.math.Point;
5 
46 public class Circle extends Shape {
47 
51  protected double radius;
52 
58  public Circle(double radius) {
59  this(radius, 0, 0);
60  }
61 
68  public Circle(double radius, Point p) {
69  this(radius, p.getX(), p.getY());
70  }
71 
79  public Circle(double radius, double x, double y) {
80  super();
81  this.radius = radius;
82  left = x - radius;
83  right = x + radius;
84  bottom = y - radius;
85  top = y + radius;
86  p = new Point(x, y);
87  }
88 
94  @Override
95  protected Types getOutlineType() {
96  return Types.CIRCLE;
97  }
98 
105  @Override
106  public boolean contains(Point p) {
107  return contains(p.getX(), p.getY());
108  }
109 
117  @Override
118  public boolean contains(double x, double y) {
119  double dx = this.p.getX() - x;
120  double dy = this.p.getY() - y;
121  return dx * dx + dy * dy < radius * radius;
122  }
123 
132  @Override
133  public double getDistance(double x, double y) {
134  return p.getDistance(x, y) - radius;
135  }
136 
140  @Override
141  protected void positionChanged() {
142  left = p.getX() - radius;
143  right = p.getX() + radius;
144  bottom = p.getY() - radius;
145  top = p.getY() + radius;
146  }
147 
151  @Override
152  protected void angleChanged() {
153  }
154 
155  @Override
156  public void draw(Picture picture) {
157  picture.drawEllipse(p.getX(), p.getY(), radius, radius);
158 
159  }
160 }
void drawEllipse(Point p, double radiusX, double radiusY)
Definition: Picture.java:203
double getDistance(Point b)
Definition: Point.java:91
boolean contains(double x, double y)
Definition: Circle.java:118
Circle(double radius, Point p)
Definition: Circle.java:68
double getDistance(double x, double y)
Definition: Circle.java:133
void draw(Picture picture)
Definition: Circle.java:156
Circle(double radius, double x, double y)
Definition: Circle.java:79
double bottom
Untere Grenze.
Definition: Shape.java:47
double top
Obere Grenze.
Definition: Shape.java:55
double left
Linke Grenze.
Definition: Shape.java:43
double right
Rechte Grenze.
Definition: Shape.java:51
Impressum