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

# Qt3DExtras::QOrbitCameraController Class

class Qt3DExtras::QOrbitCameraController

The QOrbitCameraController class allows controlling the scene camera along orbital path. More...

Header: | `#include <qorbitcameracontroller.h>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS 3dextras)` `target_link_libraries(mytarget PRIVATE Qt6::3dextras)`
qmake: | `QT += 3dextras`
Inherits: | Qt3DExtras::QAbstractCameraController
Status: | Deprecated

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

- List of all members, including inherited members

## Properties

inversePan : bool inverseTilt : bool inverseXTranslate : bool inverseYTranslate : bool | upVector : QVector3D zoomInLimit : float zoomTranslateViewCenter : bool

## Public Functions

bool | inversePan() const
bool | inverseTilt() const
bool | inverseXTranslate() const
bool | inverseYTranslate() const
QVector3D | upVector() const
float | zoomInLimit() const
bool | zoomTranslateViewCenter() const

## Public Slots

void | setInversePan(bool isInverse)
void | setInverseTilt(bool isInverse)
void | setInverseXTranslate(bool isInverse)
void | setInverseYTranslate(bool isInverse)
void | setUpVector(const QVector3D &upVector)
void | setZoomInLimit(float zoomInLimit)
void | setZoomTranslateViewCenter(bool isTranslate)

## Signals

void | inversePanChanged(bool isInverse)
void | inverseTiltChanged(bool isInverse)
void | inverseXTranslateChanged(bool isInverse)
void | inverseYTranslateChanged(bool isInverse)
void | upVectorChanged(const QVector3D &upVector)
void | zoomInLimitChanged()
void | zoomTranslateViewCenterChanged(bool isTranslate)

## Detailed Description

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.
Escape | Moves the camera so that entire scene is visible in the camera viewport.

## Property Documentation

### inversePan : bool

Holds whether panning is inverted.

When enabled, horizontal pan movements rotate the camera around the view center in the opposite direction.

Access functions:

bool | inversePan() const
void | setInversePan(bool isInverse)

Notifier signal:

void | inversePanChanged(bool isInverse)

### inverseTilt : bool

Holds whether tilting is inverted.

When enabled, vertical tilt movements rotate the camera around the view center in the opposite direction.

Access functions:

bool | inverseTilt() const
void | setInverseTilt(bool isInverse)

Notifier signal:

void | inverseTiltChanged(bool isInverse)

### inverseXTranslate : bool

Holds whether the horizontal translation is inverted.

When enabled, horizontal mouse movements and input translate the camera in the opposite direction.

Access functions:

bool | inverseXTranslate() const
void | setInverseXTranslate(bool isInverse)

Notifier signal:

void | inverseXTranslateChanged(bool isInverse)

### inverseYTranslate : bool

Holds whether the vertical translation is inverted.

When enabled, vertical mouse movements and input translate the camera in the opposite direction.

Access functions:

bool | inverseYTranslate() const
void | setInverseYTranslate(bool isInverse)

Notifier signal:

void | inverseYTranslateChanged(bool isInverse)

### upVector : QVector3D

Holds the up vector for the camera's orbital rotation.

The up vector defines the vertical axis around which the camera orbits. The default value is (0.0, 1.0, 0.0).

Access functions:

QVector3D | upVector() const
void | setUpVector(const QVector3D &upVector)

Notifier signal:

void | upVectorChanged(const QVector3D &upVector)

### 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()

### zoomTranslateViewCenter : bool

Holds whether the view center is translated during zoom operations.

When enabled, zooming translates the view center. When disabled, only the camera position changes during zoom operations. The default value is true.

Access functions:

bool | zoomTranslateViewCenter() const
void | setZoomTranslateViewCenter(bool isTranslate)

Notifier signal:

void | zoomTranslateViewCenterChanged(bool isTranslate)