www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 8d7c3226b1586c410ad6f88e1042ed0dc51ec8fb
parent 5e4c0e0a446683d7d76c44bc40cf094d71f43567
Author: Yoann <yoann.b87@voila.fr>
Date:   Wed, 18 Jan 2012 13:21:55 +0100

Tentative de correction sur Toit::deuxPointsVerticaux();

Diffstat:
Mrules/architecture/toit.cpp | 17++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/rules/architecture/toit.cpp b/rules/architecture/toit.cpp @@ -46,11 +46,22 @@ void ToitQuad::deuxPoints() { void ToitQuad::deuxPointsVerticaux() { // Orienter c dans le sens de la longueur d'est en ouest. Quad q = c >> ((c.maxLengthNS() > c.maxLengthEW()) ? 1 : 0); - Quad qh = q.offsetNormal(height); + Quad qh = q.offsetNormal(height); + + + float coef = height / Segment(q[NW],q[SW]).length(); + float eLength = Segment(q[NE],q[SE]).length(); + qh[NE] = q[NE] + Vertex(qh[NE]-q[NE]).setNorm(coef*eLength); + qh[SE] = q[SE] + Vertex(qh[SE]-q[SE]).setNorm(coef*eLength); + Vertex w = Segment(qh[NW], qh[SW]).randomPos(seed, 0, 1.f/3.f, 2.f/3.f); Vertex e = Segment(qh[NE], qh[SE]).randomPos(seed, 1, 1.f/3.f, 2.f/3.f); - addGPUTriangle(q[SE], e, q[NE], Couleurs::mur); - addGPUTriangle(q[NW], w, q[SW], Couleurs::mur); + + + + + addGPUTriangle(q[SE], e, q[NE], Couleurs::toit); + addGPUTriangle(q[NW], w, q[SW], Couleurs::toit); addGPUQuad(q[SE], q[SW], w, e, Couleurs::toit); addGPUQuad(q[NW], q[NE], e, w, Couleurs::toit); }