summaryrefslogtreecommitdiffstats
path: root/src/View/TopView.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/View/TopView.cpp')
-rw-r--r--src/View/TopView.cpp31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/View/TopView.cpp b/src/View/TopView.cpp
index 43f0bc1..38d4824 100644
--- a/src/View/TopView.cpp
+++ b/src/View/TopView.cpp
@@ -18,28 +18,29 @@
*/
#include "TopView.h"
-#include "../Data/Level.h"
-#include "../Data/Room.h"
-#include "../Data/Triangle.h"
-#include <cmath>
+#include <Data/Level.h>
+#include <Data/Room.h>
+#include <Data/Triangle.h>
+#include <GL/gl.h>
namespace ZoomEdit {
namespace View {
void TopView::renderRoom(Data::Room *room) {
- const std::list<Data::Triangle*> &triangles = room->getTriangles();
- std::list<Data::Triangle*> floor;
+ const std::list<Data::Triangle*> &floor = room->getFloorTriangles();
- for(std::list<Data::Triangle*>::const_iterator t = triangles.begin(); t != triangles.end(); ++t) {
- Data::Vector v1 = (*t)->getVertex(1) - (*t)->getVertex(0);
- Data::Vector v2 = (*t)->getVertex(2) - (*t)->getVertex(0);
-
- Data::Vector n = (v1 % v2);
- n.normalize();
-
- if(n*Data::Vector(0, 1, 0) > std::cos(45))
- floor.push_back(*t);
+ glColor4f(0.0f, 0.7f, 1.0f, 0.3f);
+
+ glBegin(GL_TRIANGLES);
+
+ for(std::list<Data::Triangle*>::const_iterator t = floor.begin(); t != floor.end(); ++t) {
+ for(int i = 0; i < 3; ++i) {
+ const Data::Vertex &v = (*t)->getVertex(i);
+ glVertex2f(v.getX(), v.getZ());
+ }
}
+
+ glEnd();
}
void TopView::render() {