QOrbitCameraController Class
(Qt3DExtras::QOrbitCameraController)The QOrbitCameraController class allows controlling the scene camera along orbital path. More...
Header: | #include <QOrbitCameraController> |
qmake: | QT += 3dextras |
Since: | Qt 5.7 |
Inherits: | Qt3DCore::QEntity |
Properties
- camera : Qt3DRender::QCamera *
- linearSpeed : float
- lookSpeed : float
- zoomInLimit : float
- 2 properties inherited from Qt3DCore::QNode
- 1 property inherited from QObject
Public Functions
QOrbitCameraController(Qt3DCore::QNode *parent = nullptr) | |
~QOrbitCameraController() | |
Qt3DRender::QCamera * | camera() const |
float | linearSpeed() const |
float | lookSpeed() const |
void | setCamera(Qt3DRender::QCamera *camera) |
void | setLinearSpeed(float linearSpeed) |
void | setLookSpeed(float lookSpeed) |
void | setZoomInLimit(float zoomInLimit) |
float | zoomInLimit() const |
- 4 public functions inherited from Qt3DCore::QEntity
- 6 public functions inherited from Qt3DCore::QNode
- 31 public functions inherited from QObject
Signals
void | cameraChanged() |
void | linearSpeedChanged() |
void | lookSpeedChanged() |
void | zoomInLimitChanged() |
- 3 signals inherited from Qt3DCore::QNode
- 2 signals inherited from QObject
Additional Inherited Members
- 2 public slots inherited from Qt3DCore::QNode
- 1 public slot inherited from QObject
- 1 public variable inherited from QObject
- 10 static public members inherited from QObject
- 2 protected functions inherited from Qt3DCore::QNode
- 9 protected functions inherited from QObject
- 2 protected variables inherited from QObject
Detailed Description
The QOrbitCameraController class allows controlling the scene camera along orbital path.
The controls are:
Input | Action |
---|---|
Left mouse button | While the left mouse button is pressed, mouse movement along x-axis moves the camera left and right and movement along y-axis moves it up and down. |
Right mouse button | While the right mouse button is pressed, mouse movement along x-axis pans the camera around the camera view center and movement along y-axis tilts it around the camera view center. |
Both left and right mouse button | While both the left and the right mouse button are pressed, mouse movement along y-axis zooms the camera in and out without changing the view center. |
Arrow keys | Move the camera vertically and horizontally relative to camera viewport. |
Page up and page down keys | Move the camera forwards and backwards. |
Shift key | Changes the behavior of the up and down arrow keys to zoom the camera in and out without changing the view center. The other movement keys are disabled. |
Alt key | Changes the behovior of the arrow keys to pan and tilt the camera around the view center. Disables the page up and page down keys. |
Property Documentation
camera : Qt3DRender::QCamera *
Holds the currently controlled camera.
Access functions:
Qt3DRender::QCamera * | camera() const |
void | setCamera(Qt3DRender::QCamera *camera) |
Notifier signal:
void | cameraChanged() |
linearSpeed : float
Holds the current linear speed of the camera controller. Linear speed determines the movement speed of the camera.
Access functions:
float | linearSpeed() const |
void | setLinearSpeed(float linearSpeed) |
Notifier signal:
void | linearSpeedChanged() |
lookSpeed : float
Holds the current look speed of the camera controller. The look speed determines the turn rate of the camera pan and tilt.
Access functions:
float | lookSpeed() const |
void | setLookSpeed(float lookSpeed) |
Notifier signal:
void | lookSpeedChanged() |
zoomInLimit : float
Holds the current zoom-in limit. The zoom-in limit determines how close to the view center the camera can be zoomed.
Access functions:
float | zoomInLimit() const |
void | setZoomInLimit(float zoomInLimit) |
Notifier signal:
void | zoomInLimitChanged() |