Merge branch 'master' of github:jsmaniac/2011-m2s3-city-builder

This commit is contained in:
Georges Dupéron 2012-01-10 02:17:37 +01:00
commit 0016a66cbd
3 changed files with 42 additions and 5 deletions

View File

@ -15,9 +15,22 @@ bool BatimentQuadBlock::split() {
Quad mw = c;
Quad mn = c;
me[NW] = me[NE] + ((me[NW] - me[NW]) / me.length(N))*150;
//TODO les autres côtés.
return false;
me[NW] = me[NE] + ((me[NW] - me[NE]) / me.length(N))*28;
me[SW] = me[SE] + ((me[SW] - me[SE]) / me.length(S))*28;
mw[NE] = mw[NW] + ((mw[NE] - mw[NW]) / mw.length(N))*28;
mw[SE] = mw[SW] + ((mw[SE] - mw[SW]) / mw.length(S))*28;
mn.inset(W,-28); mn.inset(E,-28);
mn[SW] = mn[NW] + ((mn[SW] - mn[NW]) / mn.length(W))*28;
mn[SE] = mn[NE] + ((mn[SE] - mn[NE]) / mn.length(E))*28;
ms.inset(W,-28); ms.inset(E,-28);
ms[NW] = ms[SW] + ((ms[NW] - ms[SW]) / ms.length(W))*28;
ms[NE] = ms[SE] + ((ms[NE] - ms[SE]) / ms.length(E))*28;
addChild(new BatimentQuadMur(me,height));
addChild(new BatimentQuadMur(mw,height));
addChild(new BatimentQuadMur(mn,height));
addChild(new BatimentQuadMur(ms,height));
return true;
}
void BatimentQuadBlock::triangulation() {

View File

@ -2,6 +2,7 @@
BatimentQuadMur::BatimentQuadMur(Quad c, float height) : Chose(), c(c), height(height) {
addEntropy(c);
this->window = false;
}
void BatimentQuadMur::getBoundingBoxPoints() {
@ -9,6 +10,25 @@ void BatimentQuadMur::getBoundingBoxPoints() {
addBBPoints(c + Vertex(0,0,height));
}
void BatimentQuadMur::triangulation() {
addGPUOcto(c, c + Vertex(0,0,height), 0xF1, 0xE0, 0xE0);
void BatimentQuadMur::setWindow(Quad w) {
this->windowPos = w;
this->window = true;
}
bool BatimentQuadMur::split() {
if(!window)
return false;
Quad left = c;
Quad right = c;
Quad top = c;
Quad bottom = c;
return true;
}
void BatimentQuadMur::triangulation() {
//addGPUOcto(c, c + Vertex(0,0,height), 0xF1, 0xE0, 0xE0);
addGPUOcto(c, c + Vertex(0,0,height), 0x60, 0x60, 0xFF);
}

View File

@ -7,12 +7,16 @@ class BatimentQuadMur: public Chose {
private :
Quad c;
float height;
bool window; // Contient une fenêtre ou non.
Quad windowPos;
public :
BatimentQuadMur(Quad c, float height);
virtual void triangulation();
virtual bool split();
virtual void getBoundingBoxPoints();
void setWindow(Quad);
};
#endif