EOS 2  1.1.0
Einfache Objektbasierte Sprache
Tesselation.java
gehe zur Dokumentation dieser Datei
1 package de.lathanda.eos.game.geom;
2 
3 import java.util.Collection;
4 import java.util.LinkedList;
5 
6 import de.lathanda.eos.base.math.Point;
7 import de.lathanda.eos.game.geom.tesselation.BorderWalkTesselation;
8 import de.lathanda.eos.game.geom.tesselation.TesselationFailedException;
9 
10 public interface Tesselation {
11  public void addVertice(double x, double y);
12  public default void addVertices(Collection<? extends Point> points) {
13  for (Point p : points) {
14  addVertice(p.getX(), p.getY());
15  }
16  };
17  public Collection<Triangle> getTriangles() throws TesselationFailedException;
18  public LinkedList<? extends Point> getOuterBorder() throws TesselationFailedException;;
20  return new BorderWalkTesselation();
21  //return new NoTesselationAvailable();
22  }
23  public static class NoTesselationAvailable implements Tesselation {
24 
25  @Override
26  public void addVertice(double x, double y) {}
27 
28  @Override
29  public Collection<Triangle> getTriangles() throws TesselationFailedException {
30  throw new TesselationFailedException();
31  }
32 
33  @Override
34  public LinkedList<? extends Point> getOuterBorder() throws TesselationFailedException {
35  throw new TesselationFailedException();
36  }
37  }
38 }
LinkedList<? extends Point > getOuterBorder()
void addVertice(double x, double y)
Collection< Triangle > getTriangles()
static Tesselation getDefaultTesselation()
default void addVertices(Collection<? extends Point > points)
Impressum