DYTSrouce/src/viewer/QtOsgViewWidget.h
2025-01-21 23:15:01 +08:00

52 lines
1.3 KiB
C++

#pragma once
// #include <QGLWidget>
#include <QWidget>
#include "scene/OEScene.h"
#include "scene/ScaleBarHandler.h"
class QMouseEvent;
class QWheelEvent;
class QKeyEvent;
class QInputEvent;
class QResizeEvent;
class QtOsgViewWidget : public QWidget {
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);
void LoadDefaultScene(void);
void OnLoadDyt(const QString& path);
//void setKeyboardModifiers(QInputEvent* event);
signals:
void signalResetWorkSpace();
void signalScaleInfo(const QString&);
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 };
osg::ref_ptr<OEScene> activeScene_;
class WorkSpace* workspace_{ nullptr };
ScaleBarHandler::Delegate::Units scaleUnits_{ ScaleBarHandler::Delegate::Units::UNITS_METERS };
float devicePixelRatio_{ 1.0f };
};