commit 45e89f26493ee79ccff07977716c2c4f1851c2f5
parent 08c2ba0e0db49bdda0b7c4640c92503f89ee4589
Author: Yoann <yoann.b87@voila.fr>
Date: Mon, 12 Dec 2011 23:15:24 +0100
Deux trois trucs sur la décomposition des constructions, suite au
prochain épisode.
Diffstat:
8 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/quad.cpp b/quad.cpp
@@ -9,7 +9,7 @@ Quad::Quad(Vertex ne, Vertex se, Vertex sw, Vertex nw) {
corner[NW] = nw;
}
-void Quad::offset(/*Cardinal*/int side, int offset) {
+void Quad::offset(Cardinal side, int offset) {
Vertex voffset = (corner[NE + side]-corner[NW + side]).perpendicular().setNorm(offset);
corner[NE + side] = corner[NE + side] + voffset.projectOn(corner[NE + side]-corner[SE + side]);
corner[NW + side] = corner[NW + side] + voffset.projectOn(corner[NW + side]-corner[SW + side]);
diff --git a/quad.hh b/quad.hh
@@ -10,7 +10,7 @@ public:
public:
Quad();
Quad(Vertex ne, Vertex se, Vertex sw, Vertex nw);
- void offset(/*Cardinal*/int side, int offset);
+ void offset(Cardinal side, int offset);
int minLengthNS();
int minLengthEW();
int maxLengthNS();
diff --git a/rules/batiment/batimentquad.cpp b/rules/batiment/batimentquad.cpp
@@ -10,8 +10,21 @@ int BatimentQuad::width() { return this->ne.x - this->sw.x; }
int BatimentQuad::height() { return this->ne.y - this->sw.y; }
bool BatimentQuad::subdivide() {
- // TODO : rien ?
+
+ return true;
+}
+
+Chose* BatimentQuad::factory(int seed, int n, Vertex ne, Vertex se, Vertex sw, Vertex nw) {
return false;
+ Quad q = Quad(ne,se,sw,nw);
+ seed = seed;
+ n = n;
+ q.offset(N,20);
+ q.offset(E,20);
+ q.offset(S,20);
+ q.offset(W,20);
+
+ return NULL; // pour compilation, à virer.
}
void BatimentQuad::triangulation() {
diff --git a/rules/batiment/batimentquad.hh b/rules/batiment/batimentquad.hh
@@ -19,6 +19,7 @@ public:
int height();
virtual bool subdivide();
virtual void triangulation();
+ Chose* factory(int seed, int n, Vertex ne, Vertex se, Vertex sw, Vertex nw);
};
#endif
diff --git a/rules/batiment/batimentquadjardin.cpp b/rules/batiment/batimentquadjardin.cpp
diff --git a/rules/batiment/batimentquadjardin.hh b/rules/batiment/batimentquadjardin.hh
diff --git a/rules/batiment/batimentquadmaison.cpp b/rules/batiment/batimentquadmaison.cpp
diff --git a/rules/batiment/batimentquadmaison.hh b/rules/batiment/batimentquadmaison.hh