EOS 2  1.1.0
Einfache Objektbasierte Sprache
Square.java
gehe zur Dokumentation dieser Datei
1 package de.lathanda.eos.geo;
2 
3 import de.lathanda.eos.base.layout.BalancePoint;
4 
5 import de.lathanda.eos.base.Picture;
6 import de.lathanda.eos.base.layout.BoundingBox;
7 import de.lathanda.eos.base.layout.Transform;
8 
14 public class Square extends FilledFigure {
15  protected double side;
16  public Square() {
17  super();
18  side = 20;
19  }
20 
21  @Override
22  protected void drawObject(Picture p) {
23  p.drawRect(side, side);
24  }
25  @Override
26  protected void scaleInternal(double factor) {
27  side *= factor;
28  }
29 
30  public void setSide(double side) {
31  this.side = side;
33  }
34  public double getSide() {
35  return side;
36  }
37 
38  public void setLeftTop(double left, double top) {
39  moveTo(left + side/2, top - side/2);
40  }
41  public void setRightBottom(double right, double bottom) {
42  moveTo(right - side/2, bottom + side/2);
43  }
44  @Override
46  return new BalancePoint(side*side, getX(), getY());
47  }
48  @Override
50  Transform t = base.transform(own);
51  BoundingBox bound = new BoundingBox();
52  bound.add(t.transform(+ side / 2, + side / 2));
53  bound.add(t.transform(- side / 2, + side / 2));
54  bound.add(t.transform(- side / 2, - side / 2));
55  bound.add(t.transform(+ side / 2, - side / 2));
56  return bound;
57  }
58 }
abstract void drawRect(double x, double y, double width, double height)
Geometrische Transformation.
Definition: Transform.java:13
Transform transform(Transform child)
Definition: Transform.java:83
void moveTo(double x, double y)
Definition: Figure.java:133
void setLeftTop(double left, double top)
Definition: Square.java:38
void scaleInternal(double factor)
Definition: Square.java:26
BoundingBox calculateBoundingBox(Transform base, Transform own)
Definition: Square.java:49
void drawObject(Picture p)
Definition: Square.java:22
void setRightBottom(double right, double bottom)
Definition: Square.java:41
BalancePoint getBalancePoint()
Definition: Square.java:45
void setSide(double side)
Definition: Square.java:30
Impressum