#pragma once #include #include #include class OsgCameraManipulator; class OsgViewUI; class OsgView : public QObject { public: OsgView(QObject* parent = nullptr) noexcept; ~OsgView(); void InitView(osgViewer::View* pView); osgViewer::View* GetView(void) const; void Initialize(OsgCameraManipulator* cameraManipulator); void Uninitialize(void); OsgViewUI* GetViewUI(void) const { return viewUI_; } bool SetCameraManipulator(OsgCameraManipulator* cameraManipulator); OsgCameraManipulator* GetCameraManipulator(void) const { return cameraManipulator_; } private: osg::ref_ptr view_; osg::ref_ptr viewUI_; OsgCameraManipulator* cameraManipulator_{ nullptr }; bool initialized_{ false }; };