DYTSrouce/src/viewer/QtOsgViewWidget.h

52 lines
1.3 KiB
C
Raw Normal View History

2025-01-04 04:12:51 +00:00
#pragma once
// #include <QGLWidget>
#include <QWidget>
2025-01-05 13:49:36 +00:00
#include "scene/OEScene.h"
2025-01-09 00:32:05 +00:00
#include "scene/ScaleBarHandler.h"
2025-01-05 13:49:36 +00:00
2025-01-04 04:12:51 +00:00
class QMouseEvent;
class QWheelEvent;
class QKeyEvent;
class QInputEvent;
class QResizeEvent;
2025-01-21 15:13:33 +00:00
class QtOsgViewWidget : public QWidget {
2025-01-04 04:12:51 +00:00
Q_OBJECT
public:
explicit QtOsgViewWidget(QWidget* parent = nullptr);
~QtOsgViewWidget() override;
//void setKeyboardModifiers(QInputEvent* event) override;
QPaintEngine* paintEngine() const override {
return nullptr;
}
void Initialize(void);
void Uninitialize(void);
2025-01-05 11:12:18 +00:00
void LoadDefaultScene(void);
2025-01-04 04:12:51 +00:00
void OnLoadDyt(const QString& path);
//void setKeyboardModifiers(QInputEvent* event);
signals:
void signalResetWorkSpace();
2025-01-11 14:17:15 +00:00
void signalScaleInfo(const QString&);
2025-01-04 04:12:51 +00:00
protected:
void keyPressEvent(QKeyEvent* event) override;
void keyReleaseEvent(QKeyEvent* event) override;
//void InitEventHandle(Core::ICameraManipulator* pCameraMainp, Core::IView* pView);
void resizeEvent(QResizeEvent* event) override;
private:
class OsgView* view_{ nullptr };
2025-01-05 13:49:36 +00:00
osg::ref_ptr<OEScene> activeScene_;
2025-01-04 04:12:51 +00:00
class WorkSpace* workspace_{ nullptr };
2025-01-09 00:32:05 +00:00
ScaleBarHandler::Delegate::Units scaleUnits_{ ScaleBarHandler::Delegate::Units::UNITS_METERS };
float devicePixelRatio_{ 1.0f };
2025-01-04 04:12:51 +00:00
};