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 TerrainDefaut3 extends Terrain {
public TerrainDefaut3() {
super("Defaut3");
Route route1 = RouteDroite.createRoute(new Point(-5, 6), new Angle3D(0, 0), "Route 1", 10, 3, 1, false);
Route route2 = new RouteCourbe(new Point(-10, 0), new Angle3D(Math.PI/2, 0), "Route 2", 6, 3, Math.PI/2);
Route route3 = new RouteCourbe(new Point(-10, 0), new Angle3D(Math.PI, 0), "Route 3", 6, 3, Math.PI/2);
Route route4 = RouteDroite.createRoute(new Point(-5, -6), new Angle3D(0, 0), "Route 4", 10, 3, 1, false);
Route route5 = new RouteCourbe(new Point(12, 12), new Angle3D(-3*Math.PI/4, 0), "Route 5", 6, 3, Math.PI/4);
Route route6 = new RouteCourbe(new Point(12, -12), new Angle3D(0, 0), "Route 6", 6, 3, Math.PI/4);
Route route7 = new RouteCourbe(new Point(24, 0), new Angle3D(Math.PI/4, 0), "Route 7", 12*Math.sqrt(2)-6, 3, 3*Math.PI/2);
Carrefour carrefour1 = new Carrefour3Branches(new Point(6, 6), new Angle3D(0, 0), 3);
Carrefour carrefour2 = new Carrefour3Branches(new Point(6, -6), new Angle3D(Math.PI, 0), 3);
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(route1.getEntrees().get(0));
this.addInsertion(route4.getEntrees().get(1));
this.addInsertion(route4.getEntrees().get(0));
}
}