Ajout de QuartierTriHauteur (pas encore utilisé).

This commit is contained in:
Georges Dupéron 2012-01-03 15:52:38 +01:00
parent 0daa457207
commit e437287a68
3 changed files with 35 additions and 0 deletions

View File

@ -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"

View File

@ -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;
}

View File

@ -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