- Qt 6.5
- Qt 3D
- C++ Classes
- Qt3DExtras
- QAbstractCameraController
- Qt 6.5.2 Reference Documentation

# QAbstractCameraController Class

class Qt3DExtras::QAbstractCameraController

The QAbstractCameraController class provides basic functionality for camera controllers. More...

Header: | #include <QAbstractCameraController>
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3dextras) target_link_libraries(mytarget PRIVATE Qt6::3dextras)
qmake: | QT += 3dextras
Inherits: | Qt3DCore::QEntity
Inherited By: | Qt3DExtras::QFirstPersonCameraController and Qt3DExtras::QOrbitCameraController

- List of all members, including inherited members

## Properties

acceleration : float camera : Qt3DRender::QCamera* deceleration : float | linearSpeed : float lookSpeed : float

## Public Functions

float | acceleration() const
Qt3DRender::QCamera * | camera() const
float | deceleration() const
float | linearSpeed() const
float | lookSpeed() const
void | setAcceleration(float acceleration)
void | setCamera(Qt3DRender::QCamera *camera)
void | setDeceleration(float deceleration)
void | setLinearSpeed(float linearSpeed)
void | setLookSpeed(float lookSpeed)

## Signals

void | accelerationChanged(float acceleration)
void | cameraChanged()
void | decelerationChanged(float deceleration)
void | linearSpeedChanged()
void | lookSpeedChanged()

## Protected Functions

Qt3DInput::QKeyboardDevice * | keyboardDevice() const
Qt3DInput::QMouseDevice * | mouseDevice() const

## Detailed Description

QAbstractCameraController sets up and handles input from keyboard, mouse, and other devices. QAbstractCameraController is an abstract class and cannot itself be instantiated. It provides a standard interface for camera controllers.

Derived classes need only implement the frameActionTriggered() method to move the camera.

## Property Documentation

### acceleration : float

Holds the current acceleration of the camera controller.

Access functions:

float | acceleration() const
void | setAcceleration(float acceleration)

Notifier signal:

void | accelerationChanged(float acceleration)

### camera : Qt3DRender::QCamera*

Holds the currently controlled camera.

Access functions:

Qt3DRender::QCamera * | camera() const
void | setCamera(Qt3DRender::QCamera *camera)

Notifier signal:

void | cameraChanged()

### deceleration : float

Holds the current deceleration of the camera controller.

Access functions:

float | deceleration() const
void | setDeceleration(float deceleration)

Notifier signal:

void | decelerationChanged(float deceleration)

### linearSpeed : float

Holds the current linear speed of the camera controller. Linear speed determines the movement speed of the camera.

The default is `10.0`.

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.

The default is `180.0`.

Access functions:

float | lookSpeed() const
void | setLookSpeed(float lookSpeed)

Notifier signal:

void | lookSpeedChanged()

## Member Function Documentation

### `[protected]` Qt3DInput::QKeyboardDevice *QAbstractCameraController::keyboardDevice() const

Provides access to the keyboard device.

### `[protected]` Qt3DInput::QMouseDevice *QAbstractCameraController::mouseDevice() const

Provides access to the mouse device.