diff --git a/rules/batiment/batimentquadmaison.cpp b/rules/batiment/batimentquadmaison.cpp index ca1b1eb..41c0582 100644 --- a/rules/batiment/batimentquadmaison.cpp +++ b/rules/batiment/batimentquadmaison.cpp @@ -51,10 +51,10 @@ void BatimentQuadMaison::triangulation() { Vertex toit = (neh + seh + nwh + swh) / 4 + Vertex(0,0,htoit); // 4 Murs - addTriangle(new Triangle(lctr+neh,lctr+seh,lctr+ne,0xf1,0xe3,0xad)); addTriangle(new Triangle(lctr+seh,lctr+se,lctr+ne,0xf1,0xe3,0xad)); // ne-se-seh-neh - addTriangle(new Triangle(lctr+seh,lctr+swh,lctr+se,0xf1,0xe3,0xad)); addTriangle(new Triangle(lctr+swh,lctr+sw,lctr+se,0xf1,0xe3,0xad)); // se-sw-swh-seh - addTriangle(new Triangle(lctr+swh,lctr+nwh,lctr+sw,0xf1,0xe3,0xad)); addTriangle(new Triangle(lctr+nwh,lctr+nw,lctr+sw,0xf1,0xe3,0xad)); // sw-nw-nwh-swh - addTriangle(new Triangle(lctr+nwh,lctr+neh,lctr+nw,0xf1,0xe3,0xad)); addTriangle(new Triangle(lctr+neh,lctr+ne,lctr+nw,0xf1,0xe3,0xad)); // nw-ne-neh-nwh + addQuad(lctr+neh,lctr+seh,lctr+se,lctr+ne,0xf1,0xe3,0xad); + addQuad(lctr+seh,lctr+swh,lctr+sw,lctr+se,0xf1,0xe3,0xad); + addQuad(lctr+swh,lctr+nwh,lctr+nw,lctr+sw,0xf1,0xe3,0xad); + addQuad(lctr+nwh,lctr+neh,lctr+ne,lctr+nw,0xf1,0xe3,0xad); // 1 Toit addTriangle(new Triangle(lctr+neh,lctr+toit,lctr+seh,0x9a,0x48,0x3c)); diff --git a/rules/chose.cpp b/rules/chose.cpp index be0f9f2..5d7e33a 100644 --- a/rules/chose.cpp +++ b/rules/chose.cpp @@ -21,6 +21,11 @@ void Chose::addTriangle(Triangle* t) { // TODO : Ajouter t dans la liste des triangles à envoyer au GPU. } +void Chose::addQuad(Vertex u, Vertex v, Vertex w, Vertex x, char r, char g, char b) { + this->addTriangle(new Triangle(u,x,w,r,g,b)); + this->addTriangle(new Triangle(w,v,u,r,g,b)); +} + void Chose::display() { if (children.size() > 0) { std::vector::iterator it; diff --git a/rules/chose.hh b/rules/chose.hh index 0a04268..c0e71a4 100644 --- a/rules/chose.hh +++ b/rules/chose.hh @@ -32,6 +32,7 @@ class Chose { inline void addEntropy(Vertex v1, Vertex v2, Vertex v3, Vertex v4) { addEntropy(v1, v2); addEntropy(v3, v4); } void addChild(Chose* c); void addTriangle(Triangle* t); + void addQuad(Vertex u, Vertex v, Vertex w, Vertex x, char r, char g, char b); virtual void triangulation() = 0; virtual std::vector getBoundingBoxPoints() const = 0;