2025-02-22 15:16:54 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
2025-03-13 00:42:41 +00:00
|
|
|
#include <QTimer>
|
|
|
|
|
#include <osgViewer/CompositeViewer>
|
|
|
|
|
#include "osgqt/GraphicsWindowQt.h"
|
2025-02-22 15:16:54 +00:00
|
|
|
|
2025-03-13 00:42:41 +00:00
|
|
|
class OEScene;
|
2025-02-22 15:16:54 +00:00
|
|
|
|
2025-03-13 00:42:41 +00:00
|
|
|
class OsgWidget : public QWidget, public osgViewer::CompositeViewer {
|
2025-02-22 15:16:54 +00:00
|
|
|
Q_OBJECT
|
|
|
|
|
public:
|
2025-03-13 00:42:41 +00:00
|
|
|
OsgWidget(QWidget *parent = nullptr, Qt::WindowFlags f = nullptr);
|
2025-06-18 15:33:06 +00:00
|
|
|
~OsgWidget() override;
|
2025-03-13 00:42:41 +00:00
|
|
|
|
|
|
|
|
void Initialize(void);
|
|
|
|
|
void LoadDefaultScene(void);
|
|
|
|
|
void OnLoadDyt(const QString& path);
|
|
|
|
|
|
2025-02-22 15:16:54 +00:00
|
|
|
signals:
|
2025-03-13 00:42:41 +00:00
|
|
|
void signalResetWorkSpace();
|
|
|
|
|
void signalScaleInfo(const QString&);
|
2025-02-22 15:16:54 +00:00
|
|
|
|
|
|
|
|
protected:
|
2025-03-13 00:42:41 +00:00
|
|
|
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;
|
|
|
|
|
|
2025-02-22 15:16:54 +00:00
|
|
|
|
|
|
|
|
private:
|
2025-03-13 00:42:41 +00:00
|
|
|
QTimer timer_;
|
|
|
|
|
|
|
|
|
|
osg::ref_ptr<OEScene> activeScene_;
|
|
|
|
|
osg::ref_ptr<class OsgViewUI> viewUI_;
|
|
|
|
|
class WorkSpace* workspace_{ nullptr };
|
|
|
|
|
osg::ref_ptr<osgViewer::View> view_;
|
|
|
|
|
// class OsgView* view_{nullptr};
|
2025-02-22 15:16:54 +00:00
|
|
|
};
|
2025-03-13 00:42:41 +00:00
|
|
|
|