diff --git a/groundStation/gui/MicroCART/quaditem.cpp b/groundStation/gui/MicroCART/quaditem.cpp new file mode 100644 index 0000000000000000000000000000000000000000..b43ced998e8720bf1cb7d50823a6bc8f39b3bef5 --- /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 0000000000000000000000000000000000000000..a97bdfa48d6ef254d89e4960927a5a22157f13dc --- /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