summaryrefslogtreecommitdiff
path: root/src/gui/GLWidget.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/GLWidget.cc')
-rw-r--r--src/gui/GLWidget.cc232
1 files changed, 0 insertions, 232 deletions
diff --git a/src/gui/GLWidget.cc b/src/gui/GLWidget.cc
deleted file mode 100644
index 0653ef2..0000000
--- a/src/gui/GLWidget.cc
+++ /dev/null
@@ -1,232 +0,0 @@
-#include <QtOpenGL>
-#include <math.h>
-#include <iostream>
-#include "GLWidget.h"
-#include "StraightElement.h"
-#include "ElementRenderer.h"
-#include "CurvedElement.h"
-#include "Dipole.h"
-#include "util.h"
-#include "Vector3D.h"
-
-using namespace vhc;
-
-
-int keys;
-
-void axes() {
- glBegin(GL_LINES);
- glColor3d(1, 0, 0);
- glVertex3d(0, 0, 0); // origin of the line
- glVertex3d(1, 0, 0); // ending point of the line
- glEnd();
- glBegin(GL_LINES);
- glColor3d(0, 1, 0);
- glVertex3d(0, 0, 0); // origin of the line
- glVertex3d(0, 1, 0); // ending point of the line
- glEnd();
- glBegin(GL_LINES);
- glColor3d(0, 0, 1);
- glVertex3d(0, 0, 0); // origin of the line
- glVertex3d(0, 0, 1); // ending point of the line
- glEnd();
-}
-
-void grid() {
- int size = 10;
- glColor3d(0.5, 0.5, 0.5);
- glBegin(GL_LINES);
- for (int i = 0; i <= 2 * size; ++i) {
- glVertex3d(1.0 * (i - size) / size, -1, 0);
- glVertex3d(1.0 * (i - size) / size, 1, 0);
- };
- glEnd();
- glBegin(GL_LINES);
- for (int i = 0; i <= 2 * size; ++i) {
- glVertex3d(-1, 1.0 * (i - size) / size, 0);
- glVertex3d(1, 1.0 * (i - size) / size, 0);
- };
- glEnd();
-
-}
-
-
-GLWidget::GLWidget (QWidget* parent)
- : QGLWidget (parent), wireframe(false), camera(), center()
-{
- keys = 0;
- setMouseTracking(true);
- resize (sizeHint ());
-}
-
-GLWidget::~GLWidget () {}
-
-QSize GLWidget::minimumSizeHint () const {
- return QSize (50, 50);
-}
-
-QSize GLWidget::sizeHint () const {
- return QSize (1000, 800);
-}
-
-void GLWidget::initializeGL () {
- glClearColor (0, 0, 0, 1.0);
- glEnable (GL_DEPTH_TEST);
- //gluPerspective(65.0, 4.0/3.0, 1.0, 10000.0);
- glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);
- glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST);
-}
-
-void GLWidget::resizeGL (int width, int height) {
- glViewport (0, 0, width, height);
- glMatrixMode (GL_PROJECTION);
- glLoadIdentity();
- gluPerspective(65.0, 4.0/3.0, 1.0, 10000.0);
- glMatrixMode (GL_MODELVIEW);
- setCursor(QCursor(Qt::CrossCursor));
-}
-
-void GLWidget::paintGL () {
- glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- glLoadIdentity ();
- camera.setView();
- glPushMatrix();
- glScaled(100, 100, 100);
- grid();
- axes();
- glPopMatrix();
-
-
- center = QWidget::mapToGlobal(QPoint(this->size().width() / 2, this->size().height() / 2));
- QCursor::setPos(center);
-
-
- glScaled (100.0, 100.0, 100.0);
-
-
- if (wireframe) {
- glPolygonMode(GL_FRONT, GL_LINE);
- glPolygonMode(GL_BACK, GL_LINE);
- } else {
- glPolygonMode(GL_FRONT, GL_FILL);
- glPolygonMode(GL_BACK, GL_FILL);
- }
-
- //glEnable (GL_BLEND); glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- //glColor4d(0,0,0.5, 0.2);
- vhc::ElementRenderer* er = new vhc::ElementRenderer;
-
- vhc::StraightElement* se = new vhc::StraightElement(vhc::Vector3D::j, vhc::Vector3D::j + vhc::Vector3D::i, 0.2);
- vhc::StraightElement* se2 = new vhc::StraightElement(vhc::Vector3D(2,0,0), vhc::Vector3D(2,-1,0), 0.2);
- se->accept(*er);
- //se.draw()
- se2->accept(*er);
- delete se; se = NULL;
- delete se2; se2 = NULL;
-
- vhc::CurvedElement* ce = new vhc::Dipole(vhc::Vector3D(1,1,0), vhc::Vector3D::i * 2, 0.2, 1, vhc::Vector3D::Null);
- //std::cout <<*ce << "\n";
- ce->accept(*er);
- delete er; er = NULL;
-
- delete ce; ce = NULL;
-
-}
-
-
-
-void GLWidget::mousePressEvent (QMouseEvent* event) {
-}
-
-void GLWidget::mouseReleaseEvent (QMouseEvent* event) {
-}
-
-
-void GLWidget::keyPressEvent (QKeyEvent* event) {
- Vector3D mv = Vector3D::Null;
- switch (event->key()) {
- case Qt::Key_Escape:
- qApp->quit();
- break;
- case Qt::Key_A:
- //mv = mv - Vector3D::j;
- keys |= 1;
- break;
- case Qt::Key_W:
- //mv = mv - Vector3D::i;
- keys |= 2;
- break;
- case Qt::Key_D:
- //mv = mv + Vector3D::j;
- keys |= 4;
- break;
- case Qt::Key_S:
- //mv = mv + Vector3D::i;
- keys |= 8;
- break;
- case Qt::Key_Up:
- camera.addPitch(2 * M_PI / 100);
- break;
- case Qt::Key_Down:
- camera.addPitch(-2 * M_PI / 100);
- break;
- case Qt::Key_Right:
- camera.addHeading(-2 * M_PI / 100);
- break;
- case Qt::Key_Left:
- camera.addHeading(2 * M_PI / 100);
- break;
- case Qt::Key_R:
- break;
- case Qt::Key_Space:
- wireframe = !wireframe;
- break;
- default:
- break;
- }
- std::cout << event->text().toStdString() << std::endl;
- std::cout << std::flush;
-
- if (keys & 1) mv = mv - Vector3D::j;
- if (keys & 2) mv = mv - Vector3D::i;
- if (keys & 4) mv = mv + Vector3D::j;
- if (keys & 8) mv = mv + Vector3D::i;
-
- camera.move(mv);
- updateGL();
- //repaint();
-
-
-}
-
-void GLWidget::keyReleaseEvent (QKeyEvent* event) {
- switch (event->key()) {
- case Qt::Key_A:
- //mv = mv - Vector3D::j;
- keys &= ~1;
- break;
- case Qt::Key_W:
- //mv = mv - Vector3D::i;
- keys &= ~2;
- break;
- case Qt::Key_D:
- //mv = mv + Vector3D::j;
- keys &= ~4;
- break;
- case Qt::Key_S:
- //mv = mv + Vector3D::i;
- keys &= ~8;
- break;
- default:
- break;
- }
-}
-
-void GLWidget::mouseMoveEvent(QMouseEvent* event) {
- int dheading = -QCursor::pos().x() + center.x();
- int dpitch = -QCursor::pos().y() + center.y();
- camera.addHeading(1.0 * dheading / 200);
- camera.addPitch(1.0 * dpitch / 200);
- updateGL();
-
-}