From d439daec66c28f85debc2479e95eadb5fc3c00a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Constantin=20Ri=C3=9F?= Date: Thu, 10 Dec 2009 20:48:49 +0100 Subject: =?UTF-8?q?Cubehole=20angefangen=20zu=20=C3=A4ndern.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Cubehole.h | 67 +++++++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 42 insertions(+), 25 deletions(-) (limited to 'Cubehole.h') diff --git a/Cubehole.h b/Cubehole.h index 3f8f689..83ef382 100644 --- a/Cubehole.h +++ b/Cubehole.h @@ -1,6 +1,7 @@ #ifndef _CUBEHOLE_H_ #define _CUBEHOLE_H_ +#include "Trapezocube.h" #include "Triangle.h" #include "Matrix.h" @@ -9,44 +10,60 @@ class Cubehole { public: - Cubehole(): width(0), height(0), depth(0), x(0), y(0), z(0), innerwidth(0), innerdepth(0) {} - Cubehole(float width, float height, float depth): x(0), y(0), z(0), innerwidth(0), innerdepth(0){ - setSize(width, height, depth); - } - Cubehole(float width, float height, float depth, float x, float y, float z): innerwidth(0), innerdepth(0) { - setSize(width, height, depth); - setPos(x, y, z); - } - Cubehole(float width, float height, float depth, float x, float y, float z, float innerwidth, float innerdepth) { - setSize(width, height, depth); - setPos(x, y, z); - setInnerSize(innerwidth, innerdepth); + Cubehole(): width(0), height(0), depth(0), x(0), y(0), z(0), innerwidth(0), innerdepth(0), + colorfront(0), colorback(0), colorleft(0), colorright(0) { } + Cubehole(float width0, float height0, float depth0, float x0, float y0, float z0, + float innerwidth0, float innerdepth0, + Color colorfront0, Color colorright0, Color colorback0, Color colorleft0) { + setSize(width0, height0, depth0, innerwidth0, innerdepth0); + setPos(x0, y0, z0); + setColor(colorfront0, colorright0, colorback0, colorleft0); + front.setRotate(0); + right.setRotate(90); + back.setRotate(180); + left.setRotate(270); + } float getHeight(); float getWidth(); float getDepth(); float getPosX(); float getPosY(); float getPosZ(); - float getInnerWidth() - { - return innerwidth; - } - float getInnerDepth() - { - return innerdepth; - } - void setInnerSize(float iw, float id) - { + float getInnerWidth() {return innerwidth;} + float getInnerDepth() {return innerdepth;} + void setSize(float w, float h, float d, float iw, float id){ + width = w; + height = h; + depth = d; innerwidth = iw; innerdepth = id; + front.setSize(width, innerwidth, height, (depth-innerdepth)/2); + right.setSize(width, innerdepth, height, (width-innerwidth)/2); + back.setSize(width, innerwidth, height, (depth-innerdepth)/2); + left.setSize(width, innerdepth, height, (width-innerwidth)/2); + } + void setPos(float x0, float y0, float z0) { + x = x0; + y = y0; + z = z0; + front.setPos(x, y, depth-(depth-innerdepth)/2); + right.setPos(x, y, width-(width-innerwidth)/2); + back.setPos(x, y, depth-(depth-innerdepth)/2); + left.setPos(x, y, width-(width-innerwidth)/2); + } + void setColor(Color cf, Color cr, Color cb, Color cl){ + front.setColor(cf); + right.setColor(cr); + back.setColor(cb); + left.setColor(cl); } - void setSize(float w, float h, float d); - void setPos(float x, float y, float z); - std::list getTriangles(const Matrix &modelview); + std::list getTriangles(/*const Matrix &modelview*/); private: float x, y, z, width, height, depth, innerwidth, innerdepth; + Color colorfront, colorleft, colorback, colorright; + Trapezocube front, right, back, left; }; -- cgit v1.2.3