1 /********************************************************************************
2 * @file osgearthviewwidget.h
3 * @author The OpenPilot Team Copyright (C) 2012.
4 * @addtogroup GCSPlugins GCS Plugins
6 * @addtogroup OsgEarthview Plugin
8 * @brief Osg Earth view of UAV
9 *****************************************************************************/
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 3 of the License, or
14 * (at your option) any later version.
16 * This program is distributed in the hope that it will be useful, but
17 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
18 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 * You should have received a copy of the GNU General Public License along
22 * with this program; if not, write to the Free Software Foundation, Inc.,
23 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
26 #ifndef OSGEARTHVIEWWIDGET_H_
27 #define OSGEARTHVIEWWIDGET_H_
29 #include "osgviewerwidget.h"
30 #include "osgearthviewgadgetconfiguration.h"
31 #include "extensionsystem/pluginmanager.h"
32 #include "uavobjectmanager.h"
33 #include "uavobject.h"
38 #include <osg/PositionAttitudeTransform>
40 #include <osgDB/ReadFile>
42 #include <osgGA/StateSetManipulator>
43 #include <osgGA/TrackballManipulator>
44 #include <osgGA/GUIEventHandler>
46 #include <osgUtil/Optimizer>
48 #include <osgViewer/CompositeViewer>
49 #include <osgViewer/Viewer>
50 #include <osgViewer/ViewerEventHandlers>
52 #include <osgEarth/MapNode>
53 #include <osgEarth/XmlUtils>
54 #include <osgEarth/Viewpoint>
56 #include <osgEarthSymbology/Color>
58 #include <osgEarthAnnotation/AnnotationRegistry>
59 #include <osgEarthAnnotation/AnnotationData>
60 #include <osgEarthAnnotation/Decluttering>
62 #include <osgEarthDrivers/kml/KML>
63 #include <osgEarthDrivers/ocean_surface/OceanSurface>
64 #include <osgEarthDrivers/cache_filesystem/FileSystemCache>
66 #include <osgEarthUtil/EarthManipulator>
67 #include <osgEarthUtil/AutoClipPlaneHandler>
68 #include <osgEarthUtil/Controls>
69 #include <osgEarthUtil/SkyNode>
70 #include <osgEarthUtil/LatLongFormatter>
71 #include <osgEarthUtil/MouseCoordsTool>
72 #include <osgEarthUtil/ObjectLocator>
74 using namespace osgEarth::Util
;
75 using namespace osgEarth::Util::Controls
;
76 using namespace osgEarth::Symbology
;
77 using namespace osgEarth::Drivers
;
78 using namespace osgEarth::Annotation
;
80 #include <osgQt/GraphicsWindowQt>
84 class Ui_OsgEarthview
;
86 class OsgEarthviewWidget
: public QWidget
{
90 OsgEarthviewWidget(QWidget
*parent
= 0);
91 ~OsgEarthviewWidget();
95 protected: /* Protected methods */
96 void paintEvent(QPaintEvent
*event
);
97 void resizeEvent(QResizeEvent
*event
);
99 OsgViewerWidget
*viewWidget
;
100 Ui_OsgEarthview
*m_widget
;
102 #endif /* OSGEARTHVIEWWIDGET_H_ */