- Qt 6.7
- Qt 3D
- C++ Classes
- Qt3DExtras
- QOrbitCameraController
- Qt 6.7.0 Reference Documentation

# QOrbitCameraController Class

class Qt3DExtras::QOrbitCameraController

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

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

- List of all members, including inherited members

## Properties

- zoomInLimit : float

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

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