www

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

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:
Mquad.cpp | 2+-
Mquad.hh | 2+-
Mrules/batiment/batimentquad.cpp | 15++++++++++++++-
Mrules/batiment/batimentquad.hh | 1+
Arules/batiment/batimentquadjardin.cpp | 0
Arules/batiment/batimentquadjardin.hh | 0
Arules/batiment/batimentquadmaison.cpp | 0
Arules/batiment/batimentquadmaison.hh | 0
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