commit e437287a68929d1e547c66c1da7d677355a36cdc
parent 0daa45720708f76eaba3837ae20cf021f57aa9eb
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date: Tue, 3 Jan 2012 15:52:38 +0100
Ajout de QuartierTriHauteur (pas encore utilisé).
Diffstat:
3 files changed, 35 insertions(+), 0 deletions(-)
diff --git a/all_includes.hh b/all_includes.hh
@@ -48,6 +48,7 @@ class Chose;
#include "rules/quartier/quartierquadcarre.hh"
#include "rules/quartier/quartierquadrect.hh"
#include "rules/quartier/quartiertri.hh"
+#include "rules/quartier/quartiertrihauteur.hh"
#include "rules/route/routequadcarrefour.hh"
#include "rules/route/routequadchaussee.hh"
diff --git a/rules/quartier/quartiertrihauteur.cpp b/rules/quartier/quartiertrihauteur.cpp
@@ -0,0 +1,19 @@
+#include "all_includes.hh"
+
+QuartierTriHauteur::QuartierTriHauteur(Vertex left, Vertex top, Vertex right) : QuartierTri(left, top, right) {
+}
+
+bool QuartierTriHauteur::split() {
+ Vertex baseCenter = Segment(corner[0], corner[2]).randomPos(seed, 0, 33, 67);
+
+ Triangle tl = Triangle(baseCenter, corner[0], corner[1]);
+ Triangle tr = Triangle(corner[1], corner[2], baseCenter);
+ tl.offsetBase(-hrw);
+ tr.offsetBase(-hrw);
+
+ addChild(new RouteQuadChaussee(tr.v1, tr.v3, tl.v1, tl.v3));
+ addChild(new RouteTriChaussee(tl.v3, corner[1], tr.v1));
+ addChild(QuartierTri::factory(seed, 1, tl.v3, tl.v1, tl.v2));
+ addChild(QuartierTri::factory(seed, 2, tr.v2, tr.v3, tr.v1));
+ return true;
+}
diff --git a/rules/quartier/quartiertrihauteur.hh b/rules/quartier/quartiertrihauteur.hh
@@ -0,0 +1,15 @@
+#ifndef _RULES_QUARTIER_TRI_HAUTEUR_HH_
+#define _RULES_QUARTIER_TRI_HAUTEUR_HH_
+
+#include "all_includes.hh"
+
+class QuartierTriHauteur : public QuartierTri {
+ private :
+ static const int hrw = 250; // half road width : 2,50m.
+
+ public :
+ QuartierTriHauteur(Vertex left, Vertex top, Vertex right);
+ virtual bool split();
+};
+
+#endif