package ds.moteur;
import ds.moteur.geometrie.Angle3D;
import ds.moteur.geometrie.Point;
import ds.moteur.route.Carrefour;
import ds.moteur.route.Route;
import ds.moteur.route.personnalise.Carrefour3Branches;
import ds.moteur.route.personnalise.RouteCourbe;
import ds.moteur.route.personnalise.RouteDroite;
public class TerrainDefaut extends Terrain {
public TerrainDefaut() {
super("Defaut");
Route route1 = RouteDroite.createRoute(new Point(-5, 5), new Angle3D(0, 0), "Route 1", 10, 2.5, 1, false);
Route route2 = new RouteCourbe(new Point(-10, 0), new Angle3D(Math.PI/2, 0), "Route 2", 5, 2.5, Math.PI/2);
Route route3 = new RouteCourbe(new Point(-10, 0), new Angle3D(Math.PI, 0), "Route 3", 5, 2.5, Math.PI/2);
Route route4 = RouteDroite.createRoute(new Point(-5, -5), new Angle3D(0, 0), "Route 4", 10, 2.5, 1, false);
Route route5 = new RouteCourbe(new Point(10, 10), new Angle3D(-3*Math.PI/4, 0), "Route 5", 5, 2.5, Math.PI/4);
Route route6 = new RouteCourbe(new Point(10, -10), new Angle3D(0, 0), "Route 6", 5, 2.5, Math.PI/4);
Route route7 = new RouteCourbe(new Point(20, 0), new Angle3D(Math.PI/4, 0), "Route 7", 10*Math.sqrt(2)-5, 2.5, 3*Math.PI/2);
Carrefour carrefour1 = new Carrefour3Branches(new Point(5, 5), new Angle3D(0, 0), 2.5);
Carrefour carrefour2 = new Carrefour3Branches(new Point(5, -5), new Angle3D(Math.PI, 0), 2.5);
this.addSection(route1);
this.addSection(route2);
this.addSection(route3);
this.addSection(route4);
this.addSection(route5);
this.addSection(route6);
this.addSection(route7);
this.addSection(carrefour1);
this.addSection(carrefour2);
this.calculerTerrainAbsolu();
route1.addConnexion(carrefour1);
route1.addConnexion(route2);
route2.addConnexion(route3);
route2.addConnexion(route1);
route3.addConnexion(route4);
route3.addConnexion(route2);
route4.addConnexion(route3);
route4.addConnexion(carrefour2);
route5.addConnexion(carrefour1);
route5.addConnexion(route7);
route6.addConnexion(carrefour2);
route6.addConnexion(route7);
route7.addConnexion(route5);
route7.addConnexion(route6);
carrefour1.addConnexion(route1);
carrefour1.addConnexion(carrefour2);
carrefour1.addConnexion(route5);
carrefour2.addConnexion(route4);
carrefour2.addConnexion(carrefour1);
carrefour2.addConnexion(route6);
this.etablirConnexion();
this.addInsertion(route1.getEntrees().get(1));
this.addInsertion(route4.getEntrees().get(1));
}
}