commit d987257eaf4bd1740cc4035d2f0a114499d8dd96
parent dde802c8fc744442fe522fdca8182597eed73654
Author: Yoann <yoann.b87@voila.fr>
Date: Thu, 5 Jan 2012 18:45:36 +0100
Ajout des classe fenetre et mur.
Diffstat:
5 files changed, 66 insertions(+), 0 deletions(-)
diff --git a/all_includes.hh b/all_includes.hh
@@ -43,6 +43,8 @@ class Chose;
#include "rules/batiment/batimentquadmaisonpont.hh"
#include "rules/batiment/batimentquadblock.hh"
#include "rules/batiment/batimentquadtoit.hh"
+#include "rules/batiment/batimentquadmur.hh"
+#include "rules/batiment/batimentquadfenetre.hh"
#include "rules/quartier/quartierquad.hh"
#include "rules/quartier/quartierquadangle.hh"
diff --git a/rules/batiment/batimentquadfenetre.cpp b/rules/batiment/batimentquadfenetre.cpp
@@ -0,0 +1,14 @@
+#include "all_includes.hh"
+
+BatimentQuadFenetre::BatimentQuadFenetre(Quad c, int height) : Chose(), c(c), height(height) {
+ addEntropy(c);
+}
+
+void BatimentQuadFenetre::getBoundingBoxPoints() {
+ addBBPoints(c);
+ addBBPoints(c + Vertex(0,0,height));
+}
+
+void BatimentQuadFenetre::triangulation() {
+ // Vide laisse un trou Ă la place de la fenĂȘtre.
+}
diff --git a/rules/batiment/batimentquadfenetre.hh b/rules/batiment/batimentquadfenetre.hh
@@ -0,0 +1,18 @@
+#ifndef _RULES_BATIMENT_BATIMENTQUADFENETRE_HH_
+#define _RULES_BATIMENT_BATIMENTQUADFENETRE_HH_
+
+#include "all_includes.hh"
+
+class BatimentQuadFenetre: public Chose {
+ private :
+ Quad c;
+ int height;
+
+ public :
+
+ BatimentQuadFenetre(Quad c, int height);
+ virtual void triangulation();
+ virtual void getBoundingBoxPoints();
+};
+
+#endif
diff --git a/rules/batiment/batimentquadmur.cpp b/rules/batiment/batimentquadmur.cpp
@@ -0,0 +1,14 @@
+#include "all_includes.hh"
+
+BatimentQuadMur::BatimentQuadMur(Quad c, int height) : Chose(), c(c), height(height) {
+ addEntropy(c);
+}
+
+void BatimentQuadMur::getBoundingBoxPoints() {
+ addBBPoints(c);
+ addBBPoints(c + Vertex(0,0,height));
+}
+
+void BatimentQuadMur::triangulation() {
+ addGPUOcto(c, c + Vertex(0,0,height), 0xF1, 0xE0, 0xE0);
+}
diff --git a/rules/batiment/batimentquadmur.hh b/rules/batiment/batimentquadmur.hh
@@ -0,0 +1,18 @@
+#ifndef _RULES_BATIMENT_BATIMENTQUADMUR_HH_
+#define _RULES_BATIMENT_BATIMENTQUADMUR_HH_
+
+#include "all_includes.hh"
+
+class BatimentQuadMur: public Chose {
+ private :
+ Quad c;
+ int height;
+
+ public :
+
+ BatimentQuadMur(Quad c, int height);
+ virtual void triangulation();
+ virtual void getBoundingBoxPoints();
+};
+
+#endif