33#include <NDEVR/QTModelManager.h>
35#include <NDEVR/QTWindowManager.h>
36#include <NDEVR/QTDesignObject.h>
37#include <NDEVR/DesignObjectWidgetInterface.h>
38#include <NDEVR/CameraPane.h>
39#include <NDEVR/Button.h>
40#include <NDEVR/QTTools.h>
41#include <NDEVR/Camera.h>
42#include <NDEVR/Pointer.h>
44#include <QRadioButton>
45#include <QActionGroup>
53 class NDEVR_API CameraLocationWidget :
public QTResourceListener,
public DesignObjectWidgetInterface
56 CameraLocationWidget(QTModelManager* manager);
57 CameraLocationWidget(QTModelManager* manager, DynamicPointer<Camera> camera);
58 void removeTarget(
const DynamicPointer<QTDesignObject>&
object)
override;
59 void addTarget(
const DynamicPointer<QTDesignObject>&
object)
override;
61 void setupAutoCamera();
62 void onZoom(SnapLocation location);
64 virtual void onTargetUpdated(UUID)
override;
65 void setCamera(
const DynamicPointer<Camera>& camera);
66 QWidget* widget()
const;
67 DynamicPointer<Camera> camera()
const;
69 void requestSettingsSignal();
73 DynamicPointer<Camera> m_active_camera;
74 QTModelManager* m_manager =
nullptr;
75 TimeSpan m_animation_time;
76 QRadioButton* m_perspective =
nullptr;
77 QRadioButton* m_orthographic =
nullptr;
78 Button* m_top =
nullptr;
79 Button* m_bottom =
nullptr;
80 Button* m_front =
nullptr;
81 Button* m_back =
nullptr;
82 Button* m_left =
nullptr;
83 Button* m_right =
nullptr;
84 QAction* m_settings =
nullptr;