Skip to content
Snippets Groups Projects
MAV2DIcon.h 2.04 KiB
Newer Older
  • Learn to ignore specific revisions
  • #ifndef MAV2DICON_H
    #define MAV2DICON_H
    
    
    #include <QGraphicsItem>
    
    #include "../../libs/opmapcontrol/opmapcontrol.h"
    
    class MAV2DIcon : public mapcontrol::UAVItem
    
            MAV_ICON_GENERIC = 0,
            MAV_ICON_AIRPLANE,
            MAV_ICON_QUADROTOR,
    
            MAV_ICON_COAXIAL,
            MAV_ICON_HELICOPTER,
    
        } MAV_ICON_TYPE;
    
         * @param radius the radius of the circle
    
         * @param name name of the circle point
         * @param alignment alignment (Middle or TopLeft)
         * @param pen QPen for drawing
         */
    
        MAV2DIcon(mapcontrol::MapGraphicItem* map,mapcontrol::OPMapWidget* parent, UASInterface* uas, int radius = 40, int type=0);
    
    
        /*!
         *
         * @param x longitude
         * @param y latitude
         * @param name name of the circle point
         * @param alignment alignment (Middle or TopLeft)
         * @param pen QPen for drawing
         */
    
        MAV2DIcon(mapcontrol::MapGraphicItem* map,mapcontrol::OPMapWidget* parent, qreal lat=0, qreal lon=0, qreal alt=0, QColor color=QColor());
    
        /** @brief Mark this system as selected */
        void setSelectedUAS(bool selected);
    
        /** @brief Set the airframe this MAV uses */
    
        void setAirframe(int airframe) {
            this->airframe = airframe;
        }
    
        int getUASId() const {
            return uasid;
        }
    
        static void drawAirframePolygon(int airframe, QPainter& painter, int radius, QColor& iconColor, float yaw);
    
        float yaw;      ///< Yaw angle of the MAV
        int radius;     ///< Radius / width of the icon
        int type;       ///< Type of aircraft: 0: generic, 1: airplane, 2: quadrotor, 3-n: rotary wing
    
        int airframe;   ///< The specific type of airframe used
    
        QColor iconColor; ///< Color to be used for the icon
    
        bool selected;  ///< Wether this is the system currently in focus
        int uasid;      ///< ID of tracked system