]>
cvs.zerfleddert.de Git - FreeShisen/blob - src/de/cwde/freeshisen/Line.java
1 package de
.cwde
.freeshisen
;
4 public Line(Point a
, Point b
) {
9 public boolean equals(Line l
) {
10 return (a
.equals(l
.a
) && b
.equals(l
.b
));
13 public boolean isHorizontal() {
17 public boolean isVertical() {
21 public boolean contains(Point p
) {
22 return (p
.i
==a
.i
&& p
.i
==b
.i
&& p
.j
>=getMin().j
&& p
.j
<=getMax().j
)
23 || (p
.j
==a
.j
&& p
.j
==b
.j
&& p
.i
>=getMin().i
&& p
.i
<=getMax().i
);
26 public Point
cuts(Line l
) {
27 if (isHorizontal() && l
.isVertical()
28 && getMin().j
<=l
.a
.j
&& getMax().j
>=l
.a
.j
29 && l
.getMin().i
<=a
.i
&& l
.getMax().i
>=a
.i
) {
30 return new Point(a
.i
,l
.a
.j
);
31 } else if (isVertical() && l
.isHorizontal()
32 && getMin().i
<=l
.a
.i
&& getMax().i
>=l
.a
.i
33 && l
.getMin().j
<=a
.j
&& l
.getMax().j
>=a
.j
) {
34 return new Point(l
.a
.i
,a
.j
);
38 public Point
getMin() {
39 if (a
.i
<b
.i
|| a
.j
<b
.j
) return a
;
43 public Point
getMax() {
44 if (a
.i
>b
.i
|| a
.j
>b
.j
) return a
;
48 public String
toString() {