From 193835323ede77987ac3e0ebe3fe6afffffd432f Mon Sep 17 00:00:00 2001
From: ucart <ucart_groundstation@iastate.edu>
Date: Tue, 18 Apr 2017 22:13:17 -0500
Subject: [PATCH] started adding top down xy plane

---
 groundStation/gui/MicroCART/MicroCART.pro  |  9 ++++--
 groundStation/gui/MicroCART/mainwindow.cpp | 12 ++++++--
 groundStation/gui/MicroCART/mainwindow.h   |  5 ++++
 groundStation/gui/MicroCART/mainwindow.ui  | 34 ++++++++++++----------
 groundStation/gui/MicroCART/resources.qrc  |  5 ++++
 5 files changed, 46 insertions(+), 19 deletions(-)
 create mode 100644 groundStation/gui/MicroCART/resources.qrc

diff --git a/groundStation/gui/MicroCART/MicroCART.pro b/groundStation/gui/MicroCART/MicroCART.pro
index e650809da..f8aa76c36 100644
--- a/groundStation/gui/MicroCART/MicroCART.pro
+++ b/groundStation/gui/MicroCART/MicroCART.pro
@@ -18,12 +18,14 @@ SOURCES += main.cpp\
         mainwindow.cpp \
     wrappers.c \
     trackerworker.cpp \
-    controlworker.cpp
+    controlworker.cpp \
+    quaditem.cpp
 
 HEADERS  += mainwindow.h \
     wrappers.h \
     trackerworker.h \
-    controlworker.h
+    controlworker.h \
+    quaditem.h
 
 FORMS    += mainwindow.ui
 
@@ -49,3 +51,6 @@ else:win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/../../../qu
 else:win32:!win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/../../../quad/lib/release/computation_graph.lib
 else:win32:!win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/../../../quad/lib/debug/computation_graph.lib
 else:unix: PRE_TARGETDEPS += $$PWD/../../../quad/lib/libcomputation_graph.a
+
+RESOURCES += \
+    resources.qrc
diff --git a/groundStation/gui/MicroCART/mainwindow.cpp b/groundStation/gui/MicroCART/mainwindow.cpp
index 34726c796..8b58e93cc 100644
--- a/groundStation/gui/MicroCART/mainwindow.cpp
+++ b/groundStation/gui/MicroCART/mainwindow.cpp
@@ -11,8 +11,8 @@
 #include "wrappers.h"
 #include "trackerworker.h"
 #include "controlworker.h"
-
 #include "graph_blocks.h"
+#include "quaditem.h"
 
 MainWindow::MainWindow(QWidget *parent) :
     QMainWindow(parent),
@@ -23,9 +23,14 @@ MainWindow::MainWindow(QWidget *parent) :
     nextSpTimer(new QTimer(this)),
     sp_x(0.0f),
     sp_y(0.0f),
-    sp_z(0.0f)
+    sp_z(0.0f),
+    topScene(new QGraphicsScene(this)),
+    quad(new QuadItem)
 {
     ui->setupUi(this);
+    ui->topView->setScene(topScene);
+
+    topScene->addItem(quad);
 
     /* Set up environment variables */
     findChild<QLineEdit *>("socketPath")->setText(QProcessEnvironment::systemEnvironment().value("UCART_SOCKET"));
@@ -44,6 +49,9 @@ MainWindow::MainWindow(QWidget *parent) :
     connect(trackerWorker, SIGNAL (finished(float, float, float, float, float, float)),
             this, SLOT (updateTracker(float, float, float, float, float, float)));
 
+    connect(trackerWorker, SIGNAL (finished(float, float, float, float, float, float)),
+            this, SLOT (updateQuad(float, float, float, float, float, float)));
+
     /* Create another worker for the control graph */
     QThread * cwThread = new QThread(this);
     ControlWorker * controlWorker = new ControlWorker();
diff --git a/groundStation/gui/MicroCART/mainwindow.h b/groundStation/gui/MicroCART/mainwindow.h
index abdbd1d3d..568549cfd 100644
--- a/groundStation/gui/MicroCART/mainwindow.h
+++ b/groundStation/gui/MicroCART/mainwindow.h
@@ -4,6 +4,8 @@
 #include <QMainWindow>
 #include <QStringList>
 #include <QStandardItemModel>
+#include <QGraphicsScene>
+#include "quaditem.h"
 
 namespace Ui {
 class MainWindow;
@@ -79,6 +81,9 @@ private:
     float sp_x;
     float sp_y;
     float sp_z;
+
+    QGraphicsScene * topScene;
+    QuadItem * quad;
 };
 
 #endif // MAINWINDOW_H
diff --git a/groundStation/gui/MicroCART/mainwindow.ui b/groundStation/gui/MicroCART/mainwindow.ui
index 829e4f072..16c1d1a5e 100644
--- a/groundStation/gui/MicroCART/mainwindow.ui
+++ b/groundStation/gui/MicroCART/mainwindow.ui
@@ -18,7 +18,7 @@
     <item>
      <widget class="QTabWidget" name="tabWidget">
       <property name="currentIndex">
-       <number>0</number>
+       <number>2</number>
       </property>
       <widget class="QWidget" name="backend">
        <attribute name="title">
@@ -151,8 +151,8 @@
             <rect>
              <x>0</x>
              <y>0</y>
-             <width>968</width>
-             <height>666</height>
+             <width>962</width>
+             <height>660</height>
             </rect>
            </property>
            <layout class="QVBoxLayout" name="verticalLayout_8">
@@ -842,17 +842,21 @@
            </layout>
           </item>
           <item>
-           <spacer name="horizontalSpacer_3">
-            <property name="orientation">
-             <enum>Qt::Horizontal</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>40</width>
-              <height>20</height>
-             </size>
-            </property>
-           </spacer>
+           <layout class="QVBoxLayout" name="verticalLayout_9">
+            <item>
+             <widget class="QGraphicsView" name="topView">
+              <property name="verticalScrollBarPolicy">
+               <enum>Qt::ScrollBarAlwaysOff</enum>
+              </property>
+              <property name="horizontalScrollBarPolicy">
+               <enum>Qt::ScrollBarAlwaysOff</enum>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QGraphicsView" name="sideView"/>
+            </item>
+           </layout>
           </item>
          </layout>
         </item>
@@ -875,7 +879,7 @@
      <x>0</x>
      <y>0</y>
      <width>1004</width>
-     <height>30</height>
+     <height>27</height>
     </rect>
    </property>
   </widget>
diff --git a/groundStation/gui/MicroCART/resources.qrc b/groundStation/gui/MicroCART/resources.qrc
new file mode 100644
index 000000000..72e37cba5
--- /dev/null
+++ b/groundStation/gui/MicroCART/resources.qrc
@@ -0,0 +1,5 @@
+<RCC>
+    <qresource prefix="/images/quad">
+        <file>quad.png</file>
+    </qresource>
+</RCC>
-- 
GitLab