From 9f7a3fc9716bc8b2c233e407714e3f2edffb08e7 Mon Sep 17 00:00:00 2001 From: Yoann Date: Thu, 19 Jan 2012 15:18:17 +0100 Subject: [PATCH] Subdivision des murs OK. --- rules/architecture/batiment.cpp | 2 +- rules/architecture/etage.cpp | 13 +++++-------- rules/architecture/mur.cpp | 20 +++----------------- 3 files changed, 9 insertions(+), 26 deletions(-) diff --git a/rules/architecture/batiment.cpp b/rules/architecture/batiment.cpp index f0c0f38..35adc2c 100644 --- a/rules/architecture/batiment.cpp +++ b/rules/architecture/batiment.cpp @@ -24,7 +24,7 @@ bool BatimentQuad_::split() { ch = ch.insetNESW(30); c = c.insetNESW(30); addChild(new ToitQuad(ch, Dimensions::hauteurToit)); - //addChild(new EtageQuad(c,ch)); + addChild(new EtageQuad(c,ch)); } } else { addChild(new TerrainQuad(c)); diff --git a/rules/architecture/etage.cpp b/rules/architecture/etage.cpp index e9b1a3b..81414d9 100644 --- a/rules/architecture/etage.cpp +++ b/rules/architecture/etage.cpp @@ -21,14 +21,11 @@ bool EtageQuad::split() { Quad mwh = ch.insetOpp(W,28); Quad mnh = ch.inset(E,28).inset(W,28).insetOpp(N,28); - MurQuad *mme = new MurQuad(me << 1,meh << 1,we); - MurQuad *mmn = new MurQuad(mn,mnh,wn); - MurQuad *mmw = new MurQuad(mw >> 1,mwh >> 1,ww); - MurQuad *mms = new MurQuad(ms >> 2,msh >> 2,ws); - addChild(mme); - addChild(mmw); - addChild(mmn); - addChild(mms); + addChild(new MurQuad(me << 1,meh << 1,we)); + addChild(new MurQuad(mw >> 1,mwh >> 1,ww)); + addChild(new MurQuad(mn,mnh,wn)); + addChild(new MurQuad(ms >> 2,msh >> 2,ws)); + return true; } diff --git a/rules/architecture/mur.cpp b/rules/architecture/mur.cpp index 5daf335..09e31de 100644 --- a/rules/architecture/mur.cpp +++ b/rules/architecture/mur.cpp @@ -20,36 +20,22 @@ void MurQuad::setWindow() { Quad wBack = wFront.offsetNormal(28); windowPos = Quad(wFront[SE],wBack[SE],wBack[SW],wFront[SW]); windowPosh = Quad(wFront[NE],wBack[NE],wBack[NW],wFront[NW]); - -//addGPUQuad(q,0xFFFF00); -//addGPUQuad(ch,0xFFFF00); -//addGPUQuad(windowPos,0xFFFF00); } bool MurQuad::split() { if(!window) return false; - /*if(c.maxLengthNS() < c.maxLengthEW()) { - c = c >> 1; - ch = ch >> 1; - }*/ float length = c.maxLengthNS(); - if(length > 500) { -//addGPUTriangle(c[NW],c[NE],c[SE],0xFF0000); + if(length > 660) { Quad qa = c.insetOpp(W,length/2); Quad qb = c.insetOpp(E,length-(length/2)); Quad qah = ch.insetOpp(W,length/2); Quad qbh = ch.insetOpp(E,length-(length/2)); -addGPUQuad(qa,0x0000FF); -addGPUQuad(qb,0x00FF00); -addGPUQuad(qah,0x0000FF); -addGPUQuad(qbh,0x00FF00); -//addGPUQuad(qa,0xFFFF00); - //addChild(new MurQuad(qa,qah,window)); - //addChild(new MurQuad(qb,qbh,window)); + addChild(new MurQuad(qa,qah,window)); + addChild(new MurQuad(qb,qbh,window)); } else { Quad right = Quad(windowPos[NW],windowPos[SW],c[SW],c[NW]); Quad righth = Quad(windowPosh[NW],windowPosh[SW],ch[SW],ch[NW]);