From 421ba3dc068214dc51bdb51def90e9d1a6e6cf94 Mon Sep 17 00:00:00 2001 From: ucart <ucart_groundstation@iastate.edu> Date: Tue, 18 Apr 2017 22:30:49 -0500 Subject: [PATCH] I'm dumb --- groundStation/gui/MicroCART/quaditem.cpp | 32 ++++++++++++++++++++++++ groundStation/gui/MicroCART/quaditem.h | 24 ++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 groundStation/gui/MicroCART/quaditem.cpp create mode 100644 groundStation/gui/MicroCART/quaditem.h diff --git a/groundStation/gui/MicroCART/quaditem.cpp b/groundStation/gui/MicroCART/quaditem.cpp new file mode 100644 index 000000000..b43ced998 --- /dev/null +++ b/groundStation/gui/MicroCART/quaditem.cpp @@ -0,0 +1,32 @@ +#include "quaditem.h" +#include <QPixmap> +#include <QLabel> + +QuadItem::QuadItem() +{ + setFlag(ItemIsMovable); +} + +QRectF QuadItem::boundingRect() const +{ + return QRectF(0,0,50,50); +} + +void QuadItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) +{ + QRectF rec = boundingRect(); + painter->drawImage(rec,QImage(":/images/quad/quad.png")); +} + +void QuadItem::updateQuad(float longitudinal, float lateral, float height, float pitch, float roll, float yaw) +{ + this->setPos(longitudinal*10, lateral*10); + + QPointF center = boundingRect().center(); + QTransform trans = this->transform(); + trans.translate(center.x(), center.y()); + trans.rotate(yaw); + trans.translate(-center.x(), -center.y()); + this->setTransform(trans); + update(); +} diff --git a/groundStation/gui/MicroCART/quaditem.h b/groundStation/gui/MicroCART/quaditem.h new file mode 100644 index 000000000..a97bdfa48 --- /dev/null +++ b/groundStation/gui/MicroCART/quaditem.h @@ -0,0 +1,24 @@ +#ifndef QUADITEM_H +#define QUADITEM_H + +#include <QPainter> +#include <QGraphicsItem> +#include <QPixmap> +#include <QLabel> +#include <QtCore> +#include <QtGui> +#include <QTransform> + +class QuadItem : public QGraphicsItem +{ +public: + QuadItem(); + QRectF boundingRect() const; + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); + +private slots: + void updateQuad(float longitudinal, float lateral, float height, float pitch, float roll, float yaw); + +}; + +#endif // QUADITEM_H -- GitLab