3 #ifndef SCENEVIEW_VIEW_HANDLER_HORIZONTAL__
4 #define SCENEVIEW_VIEW_HANDLER_HORIZONTAL__
8 #include <sceneview/input_handler.hpp>
66 const QVector3D& zenith_dir,
67 QObject* parent =
nullptr);
74 QString
Name()
const {
return "Camera controls"; }
84 const QVector3D&
ZenithDir()
const {
return zenith_dir_; }
129 void OnProjectionSelectionChanged();
138 void UpdateShapeTransform();
140 void UpdateNearFarPlanes();
142 double PivotDistance()
const;
145 QVector3D zenith_dir_;
150 double movement_scale_;
151 QVector3D eye_start_;
152 QVector3D look_start_;
155 bool show_look_at_point_;
157 QTimer* hide_shape_timer_;
159 bool allow_azimuth_elevation_control_;
163 QComboBox* projection_combo_;
168 #endif // SCENEVIEW_VIEW_HANDLER_HORIZONTAL__
A view handler that has a notion of a fundamental plane (e.g., a ground plane) and a zenith direction...
Definition: view_handler_horizontal.hpp:54
void WheelEvent(QWheelEvent *event) override
Handles a mouse wheel event.
Scene node that contains a list of drawable objects.
Definition: draw_node.hpp:26
void KeyPressEvent(QKeyEvent *event) override
Handles a key press event.
Camera.
Definition: camera_node.hpp:25
const QVector3D & ZenithDir() const
Retrieve the zenith direction.
Definition: view_handler_horizontal.hpp:84
QWidget * GetWidget() override
Retrieve the widget for the input handler.
void SetZenithDir(const QVector3D &dir)
Sets the zenith direction.
Widget that draws a scene and manages Renderer and InputHandler objects.
Definition: viewport.hpp:27
void SetAllowAzimuthElevationControl(bool val)
Enables / disables azimuth and elevation control.
ViewHandlerHorizontal(Viewport *viewport, const QVector3D &zenith_dir, QObject *parent=nullptr)
Constructor.
void SetShowLookAtPoint(bool val)
Set whether or not the look at point is shown in the scene during a mouse or key event.
void MousePressEvent(QMouseEvent *event) override
Handles a mouse press event.
QString Name() const
Retrieve the name of this view handler.
Definition: view_handler_horizontal.hpp:74
void MouseMoveEvent(QMouseEvent *event) override
Handles a mouse movement event.