Qt 5.9 | Qt 3D | C++ Classes | QOrbitCameraController

Qt 5.9.3 Reference Documentation

# 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

- List of all members, including inherited members

## Properties

- camera : Qt3DRender::QCamera *
- linearSpeed : float
- lookSpeed : float
- zoomInLimit : float

- 3 properties inherited from Qt3DCore::QNode

## 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
- 11 public functions inherited from Qt3DCore::QNode

## Signals

void | cameraChanged()
void | linearSpeedChanged()
void | lookSpeedChanged()
void | zoomInLimitChanged()

- 4 signals inherited from Qt3DCore::QNode

### Additional Inherited Members

- 3 public slots inherited from Qt3DCore::QNode
- 2 protected functions inherited from Qt3DCore::QNode

## 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.
Mouse scroll wheel | 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()

## Member Function Documentation

### QOrbitCameraController::QOrbitCameraController(Qt3DCore::QNode *parent = nullptr)

Default constructs an instance of QOrbitCameraController.

### QOrbitCameraController::~QOrbitCameraController()

Destroys the instance of QOrbitCameraController.