#pragma once #include #include #include "osgqt/GraphicsWindowQt.h" class OEScene; class OsgWidget : public QWidget, public osgViewer::CompositeViewer { Q_OBJECT public: OsgWidget(QWidget *parent = nullptr, Qt::WindowFlags f = nullptr); ~OsgWidget() override; void Initialize(void); void Uninitialize(void); void LoadDefaultScene(void); void OnLoadDyt(const QString& path); signals: void signalResetWorkSpace(); void signalScaleInfo(const QString&); protected: osgQt::GraphicsWindowQt* createGraphicsWindow( int x, int y, int w, int h, const std::string& name="", bool windowDecoration=false ); QWidget* addViewWidget( osgQt::GraphicsWindowQt* gw); void resizeEvent(QResizeEvent* event) override; void paintEvent( QPaintEvent* /*event*/ ) override; private: QTimer timer_; osg::ref_ptr activeScene_; osg::ref_ptr viewUI_; class WorkSpace* workspace_{ nullptr }; osg::ref_ptr view_; // class OsgView* view_{nullptr}; };