ma2tetr/src/main/java/ma2tetr/condition/EquilateralTriangleCondition.java

38 lines
833 B
Java

package ma2tetr.condition;
import ma2tetr.model.Coords3D;
public class EquilateralTriangleCondition extends AbstractCondition {
private Coords3D p1;
private Coords3D p2;
private Coords3D p3;
private double len12;
private double len23;
private double len13;
public EquilateralTriangleCondition(Coords3D p1, Coords3D p2, Coords3D p3) {
this.p1 = p1;
this.p2 = p2;
this.p3 = p3;
}
private void recalcDistance() {
len12 = p1.distance(p2);
len23 = p2.distance(p3);
len13 = p1.distance(p3);
}
@Override
public boolean isFulfilled() {
this.recalcDistance();
return checkEqual(len12, len23) && checkEqual(len12, len13);
}
public double getDistance() {
return this.isFulfilled() ? len12 : -1;
}
}