From dde802c8fc744442fe522fdca8182597eed73654 Mon Sep 17 00:00:00 2001 From: Yoann Date: Thu, 5 Jan 2012 11:12:51 +0100 Subject: [PATCH] Rectification d'un bug sur les maisons avec pont. --- main.cpp | 2 +- rules/batiment/batimentquadmaisonpont.cpp | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/main.cpp b/main.cpp index 34fdcfe..d526814 100644 --- a/main.cpp +++ b/main.cpp @@ -11,7 +11,7 @@ int main() { Chose* c = QuartierQuad::factory(Chose::initialSeed, 0, Quad(ne, se, sw, nw)); c->triangulation(); c->updateAABB(); - + new View(c); return 0; } diff --git a/rules/batiment/batimentquadmaisonpont.cpp b/rules/batiment/batimentquadmaisonpont.cpp index f0c840e..c7eed6e 100644 --- a/rules/batiment/batimentquadmaisonpont.cpp +++ b/rules/batiment/batimentquadmaisonpont.cpp @@ -10,11 +10,11 @@ void BatimentQuadMaisonPont::getBoundingBoxPoints() { } bool BatimentQuadMaisonPont::split() { - Quad q = Quad(c[NE],c[SE],c[SW],c[NW]); + Quad q = c; q.makeParallelogram(); if(Segment(q.c[0],q.c[3]).length() < Segment(q.c[0],q.c[1]).length()) - q = Quad(q.c[1],q.c[2],q.c[3],q.c[0]); - float partLength = Segment(q.c[0],q.c[3]).length() / 3; + q = q >> 1; + float partLength = Segment(q.c[0],q.c[3]).length() / 3.; int partHeight = 2.5*height/3.; Quad qa = q; Quad qb = q; @@ -25,10 +25,10 @@ bool BatimentQuadMaisonPont::split() { qc.offset(E, -partLength); qc.offset(W, -partLength); - addChild(new BatimentQuadJardin(c << 1)); - addChild(new BatimentQuadBlock(qa >> 1,partHeight)); - addChild(new BatimentQuadBlock(qb >> 1,partHeight)); - addChild(new BatimentQuadBlock((qh + Vertex(0,0,partHeight)) >> 1,partHeight)); + addChild(new BatimentQuadJardin(c)); + addChild(new BatimentQuadBlock(qa,partHeight)); + addChild(new BatimentQuadBlock(qb,partHeight)); + addChild(new BatimentQuadBlock((qh + Vertex(0,0,partHeight)),partHeight)); addChild(new BatimentQuadPont(qc,partHeight)); addChild(new BatimentQuadToit(qh + Vertex(0,0,2*partHeight),150));