26 lines
974 B
C++
26 lines
974 B
C++
#include "all_includes.hh"
|
|
|
|
QuartierTriHauteur::QuartierTriHauteur(Triangle c) : QuartierTri(c) {
|
|
}
|
|
|
|
bool QuartierTriHauteur::split() {
|
|
// TODO : sélectionner le sommet avec l'angle le plus grand.
|
|
// Triangle::cutCornerSideResult r = c.cutCornerSide(TOP, random(seed,0,0.33, 0.67);
|
|
// addChild(new RouteQuadChaussee(r.cut));
|
|
// addChild(new RouteTriChaussee(r.cutFrom));
|
|
// addChild(QuartierTri::factory(seed, 1, r.left);
|
|
// addChild(QuartierTri::factory(seed, 1, r.right);
|
|
Vertex baseCenter = Segment(c[LEFT], c[RIGHT]).randomPos(seed, 0, 1/3.f, 2/3.f);
|
|
|
|
Triangle tl(c[TOP], baseCenter, c[LEFT]);
|
|
Triangle tr(c[RIGHT], baseCenter, c[TOP]);
|
|
tl = tl.inset(LEFTSIDE, hrw);
|
|
tr = tr.inset(RIGHTSIDE, hrw);
|
|
|
|
addChild(new RouteQuadChaussee(Quad(tr[RIGHT], tr[TOP], tl[TOP], tl[LEFT])));
|
|
addChild(new RouteTriChaussee(Triangle(tl[LEFT], c[TOP], tr[RIGHT])));
|
|
addChild(QuartierTri::factory(seed, 1, tl));
|
|
addChild(QuartierTri::factory(seed, 2, tr));
|
|
return true;
|
|
}
|