#ifndef SCENEVIEW_H #define SCENEVIEW_H #include #include #include #include #include #include #include #include #include "sceneControl.h" #include "SceneLayersView.h" //using namespace SuperMap; class SceneView : public QWidget { Q_OBJECT public: explicit SceneView(QWidget *parent = nullptr); virtual ~SceneView(); public: bool showSettingFlightPoint; bool startTrackingFlag; //开始绘制追踪 bool isEditStateFlag; //编辑状态 //method private: unsigned int getMouseOrKeyFlag(QMouseEvent* event); // override parent protected: virtual void paintEvent(QPaintEvent* event); virtual void wheelEvent(QWheelEvent* event); virtual void mousePressEvent(QMouseEvent* event); virtual void mouseReleaseEvent(QMouseEvent* event); virtual void mouseMoveEvent(QMouseEvent* event); virtual void resizeEvent(QResizeEvent* event); virtual void keyPressEvent(QKeyEvent* event); virtual void mouseDoubleClickEvent(QMouseEvent *event); private: SceneControl* m_pSceneControl; bool isRenderTimerStarted; QTimer* renderTimer; // 场景渲染定时器 // SceneLayersView* pSceneLayersView; public: SceneControl* GetSceneControl(); void startRender(int ms = 30); void stopRender(); // SceneLayersView* getSceneLayersView(); signals: void sendTrackedGeometry(UGGeometry* pGeometry); //发送绘制完的3D几何对象信号 void sendTrackingGeometry(UGGeometry* pGeometry); void showSettingFlightPointDialg(); //显示航点信息信号 public slots: void RenderInTimer(); }; #endif // SCENEVIEW_H