Q3DCamera Class
Représentation d'une caméra dans l'espace 3D. En savoir plus...
| En-tête : | #include <Q3DCamera> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS DataVisualization) target_link_libraries(mytarget PRIVATE Qt6::DataVisualization) |
| qmake : | QT += datavisualization |
| Depuis : | QtDataVisualization 1.0 |
| En QML : | Camera3D |
| Hérite de : | Q3DObject |
| Statut : | Obsolète |
Cette classe est obsolète. Nous déconseillons fortement de l'utiliser dans du nouveau code.
Types publics
| enum | CameraPreset { CameraPresetNone, CameraPresetFrontLow, CameraPresetFront, CameraPresetFrontHigh, CameraPresetLeftLow, …, CameraPresetDirectlyBelow } |
Propriétés
|
|
Fonctions publiques
| 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 |
Fonctions publiques réimplémentées
| virtual void | copyValuesFrom(const Q3DObject &source) override |
Signaux
| 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) |
Description détaillée
Q3DCamera représente une caméra 3D de base en orbite autour d'un point central, utilisée lors du rendu de la visualisation des données. La classe propose des méthodes simples pour faire pivoter la caméra autour de l'origine et définir le niveau de zoom.
Documentation sur les types de membres
enum Q3DCamera::CameraPreset
Positions prédéfinies pour la caméra.
| Constante | Valeur | Description |
|---|---|---|
Q3DCamera::CameraPresetNone | -1 | Utilisée pour indiquer qu'aucun préréglage n'a été défini ou que la scène a été pivotée librement. |
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 | Dans Q3DBars, à partir de « CameraPresetFrontBelow », ces paramètres ne fonctionnent que pour les graphiques comportant des valeurs négatives. Pour les valeurs exclusivement positives, ils se comportent comme « Preset...Low ». |
Q3DCamera::CameraPresetLeftBelow | 20 | |
Q3DCamera::CameraPresetRightBelow | 21 | |
Q3DCamera::CameraPresetBehindBelow | 22 | |
Q3DCamera::CameraPresetDirectlyBelow | 23 | Fonctionne comme « CameraPresetFrontLow » pour les barres ne comportant que des valeurs positives. |
Documentation des propriétés
cameraPreset : CameraPreset
Cette propriété contient le préréglage de caméra actuellement actif.
Si aucune valeur n'est définie pour « CameraPreset », la valeur par défaut « CameraPresetNone » est utilisée.
Fonctions d'accès :
| Q3DCamera::CameraPreset | cameraPreset() const |
| void | setCameraPreset(Q3DCamera::CameraPreset preset) |
Signal de notification :
| void | cameraPresetChanged(Q3DCamera::CameraPreset preset) |
maxZoomLevel : float
Cette propriété définit le niveau de zoom maximal autorisé pour la caméra.
Si le niveau maximal est défini sur une nouvelle valeur inférieure au niveau minimal existant, le niveau minimal est également ajusté en fonction du nouveau niveau maximal. Si l'zoomLevel e actuelle se trouve en dehors des nouvelles limites, elle est également ajustée. La valeur par défaut est 500.0f.
Fonctions d'accès :
| float | maxZoomLevel() const |
| void | setMaxZoomLevel(float zoomLevel) |
Signal de notification :
| void | maxZoomLevelChanged(float zoomLevel) |
Voir également zoomLevel et minZoomLevel.
minZoomLevel : float
Cette propriété définit le niveau de zoom minimum autorisé pour la caméra.
Si le niveau minimum est défini sur une nouvelle valeur supérieure au niveau maximum existant, le niveau maximum est également ajusté à ce nouveau minimum. Si l'zoomLevel e actuelle se situe en dehors des nouvelles limites, elle est également ajustée. Le paramètre minZoomLevel ne peut pas être défini à une valeur inférieure à 1.0f. La valeur par défaut est 10.0f.
Fonctions d’accès :
| float | minZoomLevel() const |
| void | setMinZoomLevel(float zoomLevel) |
Signal de notification :
| void | minZoomLevelChanged(float zoomLevel) |
Voir également zoomLevel et maxZoomLevel.
[since QtDataVisualization 1.2] target : QVector3D
Cette propriété contient la cible de la caméra sous la forme d'un vecteur ou d'un sommet dans l'espace 3D.
La valeur par défaut est QVector3D(0.0, 0.0, 0.0).
Les valeurs de coordonnées valides se situent entre -1.0...1.0, les valeurs limites indiquant les extrémités de la plage de l'axe correspondant. Toute valeur située en dehors de cette plage est limitée à la valeur limite correspondante.
Remarque : pour les graphiques à barres, la coordonnée Y est ignorée et la caméra vise toujours un point situé sur l'arrière-plan horizontal.
Cette énumération a été introduite dans QtDataVisualization 1.2.
Fonctions d'accès :
| QVector3D | target() const |
| void | setTarget(const QVector3D &target) |
Signal de notification :
| void | targetChanged(const QVector3D &target) |
wrapXRotation : bool
Cette propriété définit le comportement des limites minimale et maximale de la rotation X.
Si la valeur est définie sur « true », la rotation X de la caméra passe du minimum au maximum, puis du maximum au minimum. Si la valeur est définie sur « false », la rotation X de la caméra est limitée au secteur déterminé par les valeurs minimale et maximale. La valeur par défaut est « true ».
Fonctions d’accès :
| bool | wrapXRotation() const |
| void | setWrapXRotation(bool isEnabled) |
Signal de notification :
| void | wrapXRotationChanged(bool isEnabled) |
wrapYRotation : bool
Cette propriété définit le comportement des limites minimale et maximale de la rotation en Y.
Si l'true, la rotation Y de la caméra passe du minimum au maximum, puis du maximum au minimum. Si l'false, la rotation Y de la caméra est limitée au secteur défini par les valeurs minimale et maximale. La valeur par défaut est « true ».
Fonctions d’accès :
| bool | wrapYRotation() const |
| void | setWrapYRotation(bool isEnabled) |
Signal de notification :
| void | wrapYRotationChanged(bool isEnabled) |
xRotation : float
Cette propriété contient l'angle de rotation X de la caméra autour du point cible, exprimé en degrés.
Fonctions d'accès :
| float | xRotation() const |
| void | setXRotation(float rotation) |
Signal de notification :
| void | xRotationChanged(float rotation) |
yRotation : float
Cette propriété contient l'angle de rotation en Y de la caméra autour du point cible, exprimé en degrés.
Fonctions d'accès :
| float | yRotation() const |
| void | setYRotation(float rotation) |
Signal de notification :
| void | yRotationChanged(float rotation) |
zoomLevel : float
Cette propriété définit le niveau de zoom de la caméra en pourcentage.
La valeur par défaut « 100.0f » signifie qu'aucun zoom avant ou arrière n'est défini pour la caméra. La valeur est limitée par les propriétés « minZoomLevel » et « maxZoomLevel ».
Fonctions d'accès :
| float | zoomLevel() const |
| void | setZoomLevel(float zoomLevel) |
Signal de notification :
| void | zoomLevelChanged(float zoomLevel) |
Voir également minZoomLevel et maxZoomLevel.
Documentation des fonctions membres
[explicit] Q3DCamera::Q3DCamera(QObject *parent = nullptr)
Crée une nouvelle caméra 3D dont la position est définie à l'origine, l'axe vertical orienté vers l'axe Y et le regard dirigé vers l'origine par défaut. Un paramètre facultatif « parent » peut être fourni ; il est alors transmis au constructeur « QObject ».
[virtual noexcept] Q3DCamera::~Q3DCamera()
Supprime l'objet caméra.
[override virtual] void Q3DCamera::copyValuesFrom(const Q3DObject &source)
Réimplémente : Q3DObject::copyValuesFrom(const Q3DObject &source).
Copie les propriétés de la caméra 3D à partir de la caméra source indiquée. Les valeurs sont copiées depuis l'source vers cet objet.
void Q3DCamera::setCameraPosition(float horizontal, float vertical, float zoom = 100.0f)
Fonction utilitaire permettant de définir les rotations et la distance de la caméra. Les propriétés `horizontal ` et ` vertical ` définissent les rotations de la caméra à utiliser. Le paramètre facultatif ` zoom ` peut être fourni pour définir le pourcentage de zoom de la caméra dans les limites définies par les propriétés ` minZoomLevel ` et ` maxZoomLevel `.
© 2026 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.