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.
Konstante | Wert | Beschreibung |
---|---|---|
Q3DCamera::CameraPresetNone | -1 | Wird verwendet, um anzuzeigen, dass eine Voreinstellung nicht gesetzt wurde oder die Szene frei gedreht wurde. |
Q3DCamera::CameraPresetFrontLow | 0 | |
Q3DCamera::CameraPresetFront | 1 | |
Q3DCamera::CameraPresetFrontHigh | 2 | |
Q3DCamera::CameraPresetLeftLow | 3 | |
Q3DCamera::CameraPresetLeft | 4 | |
Q3DCamera::CameraPresetLeftHigh | 5 | |
Q3DCamera::CameraPresetRightLow | 6 | |
Q3DCamera::CameraPresetRight | 7 | |
Q3DCamera::CameraPresetRightHigh | 8 | |
Q3DCamera::CameraPresetBehindLow | 9 | |
Q3DCamera::CameraPresetBehind | 10 | |
Q3DCamera::CameraPresetBehindHigh | 11 | |
Q3DCamera::CameraPresetIsometricLeft | 12 | |
Q3DCamera::CameraPresetIsometricLeftHigh | 13 | |
Q3DCamera::CameraPresetIsometricRight | 14 | |
Q3DCamera::CameraPresetIsometricRightHigh | 15 | |
Q3DCamera::CameraPresetDirectlyAbove | 16 | |
Q3DCamera::CameraPresetDirectlyAboveCW45 | 17 | |
Q3DCamera::CameraPresetDirectlyAboveCCW45 | 18 | |
Q3DCamera::CameraPresetFrontBelow | 19 | In Q3DBars ab CameraPresetFrontBelow funktionieren diese nur für Graphen mit negativen Werten. Für rein positive Werte wirken sie wie Preset...Low. |
Q3DCamera::CameraPresetLeftBelow | 20 | |
Q3DCamera::CameraPresetRightBelow | 21 | |
Q3DCamera::CameraPresetBehindBelow | 22 | |
Q3DCamera::CameraPresetDirectlyBelow | 23 | Wirkt 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.