Q3DCamera Class

Repräsentation einer Kamera im 3D-Raum. Mehr...

Kopfzeile: #include <Q3DCamera>
CMake: find_package(Qt6 REQUIRED COMPONENTS DataVisualization)
target_link_libraries(mytarget PRIVATE Qt6::DataVisualization)
qmake: QT += datavisualization
Since: QtDataVisualization 1.0
In QML: Camera3D
Vererbt: Q3DObject

Öffentliche Typen

enum CameraPreset { CameraPresetNone, CameraPresetFrontLow, CameraPresetFront, CameraPresetFrontHigh, CameraPresetLeftLow, …, CameraPresetDirectlyBelow }

Eigenschaften

Öffentliche Funktionen

Q3DCamera(QObject *parent = nullptr)
virtual ~Q3DCamera()
Q3DCamera::CameraPreset cameraPreset() const
float maxZoomLevel() const
float minZoomLevel() const
void setCameraPosition(float horizontal, float vertical, float zoom = 100.0f)
void setCameraPreset(Q3DCamera::CameraPreset preset)
void setMaxZoomLevel(float zoomLevel)
void setMinZoomLevel(float zoomLevel)
void setTarget(const QVector3D &target)
void setWrapXRotation(bool isEnabled)
void setWrapYRotation(bool isEnabled)
void setXRotation(float rotation)
void setYRotation(float rotation)
void setZoomLevel(float zoomLevel)
QVector3D target() const
bool wrapXRotation() const
bool wrapYRotation() const
float xRotation() const
float yRotation() const
float zoomLevel() const

Reimplementierte öffentliche Funktionen

virtual void copyValuesFrom(const Q3DObject &source) override

Signale

void cameraPresetChanged(Q3DCamera::CameraPreset preset)
void maxZoomLevelChanged(float zoomLevel)
void minZoomLevelChanged(float zoomLevel)
void targetChanged(const QVector3D &target)
void wrapXRotationChanged(bool isEnabled)
void wrapYRotationChanged(bool isEnabled)
void xRotationChanged(float rotation)
void yRotationChanged(float rotation)
void zoomLevelChanged(float zoomLevel)

Detaillierte Beschreibung

Q3DCamera stellt eine einfache 3D-Kamera dar, die um den Mittelpunkt kreist und beim Rendern der Datenvisualisierung verwendet wird. Die Klasse bietet einfache Methoden zum Drehen der Kamera um den Ursprung und zum Einstellen der Zoomstufe.

Dokumentation der Mitgliedstypen

enum Q3DCamera::CameraPreset

Vordefinierte Positionen für die Kamera.

KonstanteWertBeschreibung
Q3DCamera::CameraPresetNone-1Wird verwendet, um anzuzeigen, dass eine Voreinstellung nicht gesetzt wurde oder die Szene frei gedreht wurde.
Q3DCamera::CameraPresetFrontLow0
Q3DCamera::CameraPresetFront1
Q3DCamera::CameraPresetFrontHigh2
Q3DCamera::CameraPresetLeftLow3
Q3DCamera::CameraPresetLeft4
Q3DCamera::CameraPresetLeftHigh5
Q3DCamera::CameraPresetRightLow6
Q3DCamera::CameraPresetRight7
Q3DCamera::CameraPresetRightHigh8
Q3DCamera::CameraPresetBehindLow9
Q3DCamera::CameraPresetBehind10
Q3DCamera::CameraPresetBehindHigh11
Q3DCamera::CameraPresetIsometricLeft12
Q3DCamera::CameraPresetIsometricLeftHigh13
Q3DCamera::CameraPresetIsometricRight14
Q3DCamera::CameraPresetIsometricRightHigh15
Q3DCamera::CameraPresetDirectlyAbove16
Q3DCamera::CameraPresetDirectlyAboveCW4517
Q3DCamera::CameraPresetDirectlyAboveCCW4518
Q3DCamera::CameraPresetFrontBelow19In Q3DBars ab CameraPresetFrontBelow funktionieren diese nur für Graphen mit negativen Werten. Für rein positive Werte wirken sie wie Preset...Low.
Q3DCamera::CameraPresetLeftBelow20
Q3DCamera::CameraPresetRightBelow21
Q3DCamera::CameraPresetBehindBelow22
Q3DCamera::CameraPresetDirectlyBelow23Wirkt wie CameraPresetFrontLow für nur positive Balken.

Dokumentation der Eigenschaft

cameraPreset : CameraPreset

Diese Eigenschaft enthält die derzeit aktive Kameravoreinstellung.

Wenn kein Wert CameraPreset eingestellt ist, wird standardmäßig CameraPresetNone verwendet.

Zugriffsfunktionen:

Q3DCamera::CameraPreset cameraPreset() const
void setCameraPreset(Q3DCamera::CameraPreset preset)

Benachrichtigungssignal:

void cameraPresetChanged(Q3DCamera::CameraPreset preset)

maxZoomLevel : float

Diese Eigenschaft enthält die maximal zulässige Zoomstufe der Kamera.

Wenn die maximale Stufe auf einen neuen Wert gesetzt wird, der niedriger ist als die bestehende minimale Stufe, wird die minimale Stufe ebenfalls an die neue maximale Stufe angepasst. Wenn die aktuelle zoomLevel außerhalb der neuen Grenzen liegt, wird sie ebenfalls angepasst. Die Standardeinstellung ist 500.0f.

Zugriffsfunktionen:

float maxZoomLevel() const
void setMaxZoomLevel(float zoomLevel)

Benachrichtigungssignal:

void maxZoomLevelChanged(float zoomLevel)

Siehe auch zoomLevel und minZoomLevel.

minZoomLevel : float

Diese Eigenschaft enthält die minimal zulässige Zoomstufe der Kamera.

Wenn die minimale Stufe auf einen neuen Wert gesetzt wird, der höher ist als die bestehende maximale Stufe, wird die maximale Stufe ebenfalls an das neue Minimum angepasst. Wenn die aktuelle zoomLevel außerhalb der neuen Grenzen liegt, wird sie ebenfalls angepasst. Der minZoomLevel kann nicht unter 1.0f gesetzt werden. Der Standardwert ist 10.0f.

Zugriffsfunktionen:

float minZoomLevel() const
void setMinZoomLevel(float zoomLevel)

Benachrichtigungssignal:

void minZoomLevelChanged(float zoomLevel)

Siehe auch zoomLevel und maxZoomLevel.

[since QtDataVisualization 1.2] target : QVector3D

Diese Eigenschaft enthält das Kameraziel als Vektor oder Scheitelpunkt im 3D-Raum.

Der Standardwert ist QVector3D(0.0, 0.0, 0.0).

Gültige Koordinatenwerte liegen zwischen -1.0...1.0, wobei die Randwerte die Ränder des entsprechenden Achsenbereichs angeben. Alle Werte außerhalb dieses Bereichs werden an den Rand geklemmt.

Hinweis: Bei Balkendiagrammen wird die Y-Koordinate ignoriert und die Kamera zielt immer auf einen Punkt auf dem horizontalen Hintergrund.

Diese Eigenschaft wurde in QtDataVisualization 1.2 eingeführt.

Zugriffsfunktionen:

QVector3D target() const
void setTarget(const QVector3D &target)

Notifier Signal:

void targetChanged(const QVector3D &target)

wrapXRotation : bool

Diese Eigenschaft bestimmt das Verhalten der minimalen und maximalen Grenzen der X-Drehung.

Wenn sie auf true gesetzt ist, wird die X-Drehung der Kamera vom Minimum zum Maximum und vom Maximum zum Minimum umgeschlagen. Bei false ist die X-Drehung der Kamera auf den durch die Minimal- und Maximalwerte bestimmten Sektor begrenzt. Standardmäßig auf true eingestellt.

Zugriffsfunktionen:

bool wrapXRotation() const
void setWrapXRotation(bool isEnabled)

Melder-Signal:

void wrapXRotationChanged(bool isEnabled)

wrapYRotation : bool

Diese Eigenschaft bestimmt das Verhalten der minimalen und maximalen Grenzen der Y-Drehung.

Wenn true, wird die Y-Drehung der Kamera vom Minimum zum Maximum und vom Maximum zum Minimum umgeschlagen. Wenn false, wird die Y-Drehung der Kamera auf den durch die Minimal- und Maximalwerte bestimmten Sektor begrenzt. Standardmäßig auf true eingestellt.

Zugriffsfunktionen:

bool wrapYRotation() const
void setWrapYRotation(bool isEnabled)

Melder-Signal:

void wrapYRotationChanged(bool isEnabled)

xRotation : float

Diese Eigenschaft enthält den X-Rotationswinkel der Kamera um den Zielpunkt in Grad.

Zugriffsfunktionen:

float xRotation() const
void setXRotation(float rotation)

Melder-Signal:

void xRotationChanged(float rotation)

yRotation : float

Diese Eigenschaft enthält den Y-Drehwinkel der Kamera um den Zielpunkt in Grad.

Zugriffsfunktionen:

float yRotation() const
void setYRotation(float rotation)

Melder-Signal:

void yRotationChanged(float rotation)

zoomLevel : float

Diese Eigenschaft gibt die Zoomstufe der Kamera in Prozent an.

Der Standardwert 100.0f bedeutet, dass in der Kamera kein Vergrößern oder Verkleinern eingestellt ist. Der Wert wird durch die Eigenschaften minZoomLevel und maxZoomLevel begrenzt.

Zugriffsfunktionen:

float zoomLevel() const
void setZoomLevel(float zoomLevel)

Benachrichtigungssignal:

void zoomLevelChanged(float zoomLevel)

Siehe auch minZoomLevel und maxZoomLevel.

Dokumentation der Mitgliedsfunktionen

[explicit] Q3DCamera::Q3DCamera(QObject *parent = nullptr)

Konstruiert eine neue 3D-Kamera, deren Position auf den Ursprung gesetzt ist, die nach oben in Richtung der Y-Achse zeigt und standardmäßig auf den Ursprung schaut. Ein optionaler Parameter parent kann angegeben werden und wird dann an den QObject Konstruktor übergeben.

[virtual noexcept] Q3DCamera::~Q3DCamera()

Zerstört das Kameraobjekt.

[override virtual] void Q3DCamera::copyValuesFrom(const Q3DObject &source)

Reimplements: Q3DObject::copyValuesFrom(const Q3DObject &source).

Kopiert die Eigenschaften der 3D-Kamera von der angegebenen Quellkamera. Die Werte werden von source in dieses Objekt kopiert.

void Q3DCamera::setCameraPosition(float horizontal, float vertical, float zoom = 100.0f)

Utility-Funktion, die die Kameradrehungen und den Abstand festlegt.horizontal und vertical definieren die zu verwendenden Kameradrehungen. Der optionale Parameter zoom kann angegeben werden, um den Zoom-Prozentsatz der Kamera innerhalb der durch die Eigenschaften minZoomLevel und maxZoomLevel definierten Grenzen festzulegen.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.