Browse Source

Merge branch 'experimental' into dev

QGC4.4
pixhawk 15 years ago
parent
commit
c88d83e84d
  1. 6
      qgroundcontrol.pro
  2. 2
      src/comm/MAVLinkSimulationLink.h
  3. 12
      src/comm/MAVLinkSwarmSimulationLink.cc
  4. 19
      src/comm/MAVLinkSwarmSimulationLink.h
  5. 9
      src/ui/MapWidget.cc
  6. 31
      src/ui/map/MAV2DIcon.cc
  7. 9
      src/ui/map3D/Pixhawk3DWidget.cc

6
qgroundcontrol.pro

@ -250,7 +250,8 @@ HEADERS += src/MG.h \
src/ui/SlugsPIDControl.h \ src/ui/SlugsPIDControl.h \
src/ui/SlugsVideoCamControl.h \ src/ui/SlugsVideoCamControl.h \
src/ui/SlugsPadCameraControl.h \ src/ui/SlugsPadCameraControl.h \
src/ui/QGCMainWindowAPConfigurator.h src/ui/QGCMainWindowAPConfigurator.h \
src/comm/MAVLinkSwarmSimulationLink.h
contains(DEPENDENCIES_PRESENT, osg) { contains(DEPENDENCIES_PRESENT, osg) {
message("Including headers for OpenSceneGraph") message("Including headers for OpenSceneGraph")
@ -361,7 +362,8 @@ SOURCES += src/main.cc \
src/ui/SlugsPIDControl.cpp \ src/ui/SlugsPIDControl.cpp \
src/ui/SlugsVideoCamControl.cpp \ src/ui/SlugsVideoCamControl.cpp \
src/ui/SlugsPadCameraControl.cpp \ src/ui/SlugsPadCameraControl.cpp \
src/ui/QGCMainWindowAPConfigurator.cc src/ui/QGCMainWindowAPConfigurator.cc \
src/comm/MAVLinkSwarmSimulationLink.cc
contains(DEPENDENCIES_PRESENT, osg) { contains(DEPENDENCIES_PRESENT, osg) {
message("Including sources for OpenSceneGraph") message("Including sources for OpenSceneGraph")

2
src/comm/MAVLinkSimulationLink.h

@ -85,7 +85,7 @@ public:
public slots: public slots:
void writeBytes(const char* data, qint64 size); void writeBytes(const char* data, qint64 size);
void readBytes(); void readBytes();
void mainloop(); virtual void mainloop();
bool connectLink(bool connect); bool connectLink(bool connect);

12
src/comm/MAVLinkSwarmSimulationLink.cc

@ -0,0 +1,12 @@
#include "MAVLinkSwarmSimulationLink.h"
MAVLinkSwarmSimulationLink::MAVLinkSwarmSimulationLink(QObject *parent) :
MAVLinkSimulationLink()
{
}
void MAVLinkSwarmSimulationLink::mainloop()
{
}

19
src/comm/MAVLinkSwarmSimulationLink.h

@ -0,0 +1,19 @@
#ifndef MAVLINKSWARMSIMULATIONLINK_H
#define MAVLINKSWARMSIMULATIONLINK_H
#include "MAVLinkSimulationLink.h"
class MAVLinkSwarmSimulationLink : public MAVLinkSimulationLink
{
Q_OBJECT
public:
explicit MAVLinkSwarmSimulationLink(QObject *parent = 0);
signals:
public slots:
void mainloop();
};
#endif // MAVLINKSWARMSIMULATIONLINK_H

9
src/ui/MapWidget.cc

@ -593,21 +593,12 @@ void MapWidget::updateGlobalPosition(UASInterface* uas, double lat, double lon,
uasTrails.value(uas->getUASID())->addPoint(new qmapcontrol::Point(lat, lon, QString("lat: %1 lon: %2").arg(lat, lon))); uasTrails.value(uas->getUASID())->addPoint(new qmapcontrol::Point(lat, lon, QString("lat: %1 lon: %2").arg(lat, lon)));
} }
// points.append(new CirclePoint(8.275145, 50.016992, 15, "Wiesbaden-Mainz-Kastel, Johannes-Goßner-Straße", Point::Middle, pointpen));
// points.append(new CirclePoint(8.270476, 50.021426, 15, "Wiesbaden-Mainz-Kastel, Ruthof", Point::Middle, pointpen));
// // "Blind" Points
// points.append(new Point(8.266445, 50.025913, "Wiesbaden-Mainz-Kastel, Mudra Kaserne"));
// points.append(new Point(8.260378, 50.030345, "Wiesbaden-Mainz-Amoneburg, Dyckerhoffstraße"));
// Connect click events of the layer to this object // Connect click events of the layer to this object
// connect(osmLayer, SIGNAL(geometryClicked(Geometry*, QPoint)), // connect(osmLayer, SIGNAL(geometryClicked(Geometry*, QPoint)),
// this, SLOT(geometryClicked(Geometry*, QPoint))); // this, SLOT(geometryClicked(Geometry*, QPoint)));
// Sets the view to the interesting area // Sets the view to the interesting area
//QList<QPointF> view;
//view.append(QPointF(8.24764, 50.0319));
//view.append(QPointF(8.28412, 49.9998));
// mc->setView(view);
updatePosition(0, lat, lon); updatePosition(0, lat, lon);
} }
} }

31
src/ui/map/MAV2DIcon.cc

@ -14,7 +14,10 @@ MAV2DIcon::MAV2DIcon(qreal x, qreal y, QString name, Alignment alignment, QPen*
{ {
int radius = 10; int radius = 10;
size = QSize(radius, radius); size = QSize(radius, radius);
if (pen)
{
drawIcon(pen); drawIcon(pen);
}
} }
MAV2DIcon::~MAV2DIcon() MAV2DIcon::~MAV2DIcon()
@ -24,8 +27,11 @@ MAV2DIcon::~MAV2DIcon()
void MAV2DIcon::setPen(QPen* pen) void MAV2DIcon::setPen(QPen* pen)
{ {
if (pen)
{
mypen = pen; mypen = pen;
drawIcon(pen); drawIcon(pen);
}
} }
/** /**
@ -38,6 +44,8 @@ void MAV2DIcon::setYaw(float yaw)
void MAV2DIcon::drawIcon(QPen* pen) void MAV2DIcon::drawIcon(QPen* pen)
{ {
if (pen)
{
mypixmap = new QPixmap(radius+1, radius+1); mypixmap = new QPixmap(radius+1, radius+1);
mypixmap->fill(Qt::transparent); mypixmap->fill(Qt::transparent);
QPainter painter(mypixmap); QPainter painter(mypixmap);
@ -54,17 +62,17 @@ void MAV2DIcon::drawIcon(QPen* pen)
// Left point // Left point
poly.replace(2, QPointF(p.x()+waypointSize/2.0f, p.y() + waypointSize/2.0f)); poly.replace(2, QPointF(p.x()+waypointSize/2.0f, p.y() + waypointSize/2.0f));
// // Select color based on if this is the current waypoint // // Select color based on if this is the current waypoint
// if (list.at(i)->getCurrent()) // if (list.at(i)->getCurrent())
// { // {
// color = QGC::colorCyan;//uas->getColor(); // color = QGC::colorCyan;//uas->getColor();
// pen.setWidthF(refLineWidthToPen(0.8f)); // pen.setWidthF(refLineWidthToPen(0.8f));
// } // }
// else // else
// { // {
// color = uas->getColor(); // color = uas->getColor();
// pen.setWidthF(refLineWidthToPen(0.4f)); // pen.setWidthF(refLineWidthToPen(0.4f));
// } // }
//pen.setColor(color); //pen.setColor(color);
if (pen) if (pen)
@ -80,4 +88,5 @@ void MAV2DIcon::drawIcon(QPen* pen)
} }
painter.setBrush(Qt::NoBrush); painter.setBrush(Qt::NoBrush);
painter.drawPolygon(poly); painter.drawPolygon(poly);
}
} }

9
src/ui/map3D/Pixhawk3DWidget.cc

@ -393,6 +393,15 @@ Pixhawk3DWidget::findVehicleModels(void)
// add Pixhawk Bravo model // add Pixhawk Bravo model
nodes.push_back(PixhawkCheetahGeode::instance()); nodes.push_back(PixhawkCheetahGeode::instance());
// add sphere of 0.05m radius
osg::ref_ptr<osg::Sphere> sphere = new osg::Sphere(osg::Vec3f(0.0f, 0.0f, 0.0f), 0.05f);
osg::ref_ptr<osg::ShapeDrawable> sphereDrawable = new osg::ShapeDrawable(sphere);
sphereDrawable->setColor(osg::Vec4f(0.5f, 0.0f, 0.5f, 1.0f));
osg::ref_ptr<osg::Geode> sphereGeode = new osg::Geode;
sphereGeode->addDrawable(sphereDrawable);
sphereGeode->setName("Sphere (0.1m)");
nodes.push_back(sphereGeode);
// add all other models in folder // add all other models in folder
for (int i = 0; i < files.size(); ++i) for (int i = 0; i < files.size(); ++i)
{ {

Loading…
Cancel
Save