Newer
Older
#include "MAV2DIcon.h"
#include <QPainter>
lm
committed
MAV2DIcon::MAV2DIcon(qreal x, qreal y, int radius, QString name, Alignment alignment, QPen* pen)
: Point(x, y, name, alignment),
yaw(0.0f)
lm
committed
size = QSize(radius, radius);
drawIcon(pen);
lm
committed
MAV2DIcon::MAV2DIcon(qreal x, qreal y, QString name, Alignment alignment, QPen* pen)
: Point(x, y, name, alignment)
{
int radius = 10;
size = QSize(radius, radius);
lm
committed
}
MAV2DIcon::~MAV2DIcon()
{
delete mypixmap;
}
void MAV2DIcon::setPen(QPen* pen)
if (pen)
{
mypen = pen;
drawIcon(pen);
}
}
/**
lm
committed
* @param yaw in radians, 0 = north, positive = clockwise
lm
committed
void MAV2DIcon::setYaw(float yaw)
lm
committed
this->yaw = yaw;
lm
committed
}
void MAV2DIcon::drawIcon(QPen* pen)
{
// mypixmap = new QPixmap(radius+1, radius+1);
// mypixmap->fill(Qt::transparent);
// QPainter painter(mypixmap);
lm
committed
// // DRAW WAYPOINT
// QPointF p(radius/2, radius/2);
lm
committed
// float waypointSize = radius;
// QPolygonF poly(4);
// // Top point
// poly.replace(0, QPointF(p.x(), p.y()-waypointSize/2.0f));
// // Right point
// poly.replace(1, QPointF(p.x()+waypointSize/2.0f, p.y()));
// // Bottom point
// poly.replace(2, QPointF(p.x(), p.y() + waypointSize/2.0f));
// poly.replace(3, QPointF(p.x() - waypointSize/2.0f, p.y()));
lm
committed
//// // Select color based on if this is the current waypoint
//// if (list.at(i)->getCurrent())
//// {
//// color = QGC::colorCyan;//uas->getColor();
//// pen.setWidthF(refLineWidthToPen(0.8f));
//// }
//// else
//// {
//// color = uas->getColor();
//// pen.setWidthF(refLineWidthToPen(0.4f));
//// }
// //pen.setColor(color);
// if (pen)
// pen->setWidthF(2);
// painter.setPen(*pen);
// QPen pen2(Qt::red);
// pen2.setWidth(2);
// painter.setPen(pen2);
// float rad = (waypointSize/2.0f) * 0.8 * (1/sqrt(2.0f));
// painter.drawLine(p.x(), p.y(), p.x()+sin(yaw) * radius, p.y()-cos(yaw) * rad);
// painter.drawPolygon(poly);