- Qt 6.12
- Qt 3D
- C++ Classes
- Qt3DExtras (Deprecated)
- QAbstractCameraController
- Qt 6.12.0 Reference Documentation

# Qt3DExtras::QAbstractCameraController Class

class Qt3DExtras::QAbstractCameraController

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

Header: | `#include <qabstractcameracontroller.h>`
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
Status: | Deprecated

This class is deprecated. We strongly advise against using it in new code.

- 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

## Private Functions

virtual void | moveCamera(const Qt3DExtras::QAbstractCameraController::InputState &state, float dt) = 0

## 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.

## 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.

### `[pure virtual private]` void QAbstractCameraController::moveCamera(const Qt3DExtras::QAbstractCameraController::InputState &state, float dt)

Subclasses must override this method to implement the camera movement specific to the controller. state represents the input state, and dt is the time step.

This function is called whenever a frame action is triggered.