Q3DCamera Class
Représentation d'une caméra dans l'espace 3D. Plus d'informations...
| 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érites : | Q3DObject |
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 du point central qui est 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 des 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'un préréglage n'a pas été défini ou que la scène a été tourné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 | Sur le site Q3DBars, à partir de CameraPresetFrontBelow, elles ne fonctionnent que pour les graphiques comportant des valeurs négatives. Ils agissent comme Preset...Low pour les valeurs positives uniquement. |
Q3DCamera::CameraPresetLeftBelow | 20 | |
Q3DCamera::CameraPresetRightBelow | 21 | |
Q3DCamera::CameraPresetBehindBelow | 22 | |
Q3DCamera::CameraPresetDirectlyBelow | 23 | Agit comme CameraPresetFrontLow pour les barres positives uniquement. |
Documentation sur les 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, CameraPresetNone est utilisé par défaut.
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é indique le niveau de zoom maximal autorisé pour la caméra.
Si le niveau maximum est fixé à une nouvelle valeur inférieure au niveau minimum existant, le niveau minimum est également ajusté au nouveau maximum. Si l'adresse zoomLevel actuelle est 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é indique le niveau de zoom minimum autorisé pour la caméra.
Si le niveau minimum est fixé à une nouvelle valeur supérieure au niveau maximum existant, le niveau maximum est également ajusté au nouveau minimum. Si le site zoomLevel actuel se trouve en dehors des nouvelles limites, il est également ajusté. Le niveau minZoomLevel ne peut pas être inférieur à 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 aussi zoomLevel et maxZoomLevel.
[since QtDataVisualization 1.2] target : QVector3D
Cette propriété définit la cible de la caméra comme un vecteur ou 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 sont comprises entre -1.0...1.0, les valeurs de bord indiquant les bords de la plage d'axes correspondante. Toute valeur située en dehors de cette plage est fixée au bord.
Remarque : pour les graphiques à barres, la coordonnée Y est ignorée et la caméra cible toujours un point sur l'arrière-plan horizontal.
Cette propriété a été introduite dans QtDataVisualization 1.2.
Fonctions d'accès :
| QVector3D | target() const |
| void | setTarget(const QVector3D &target) |
Signal Notifier :
| void | targetChanged(const QVector3D &target) |
wrapXRotation : bool
Cette propriété définit le comportement des limites minimales et maximales de la rotation X. Si elle est définie sur , la caméra est enveloppée du minimum au maximum et du maximum au minimum.
Si elle est définie sur true, la rotation X de la caméra est enveloppée du minimum au maximum et du maximum au minimum. Si la valeur est 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 minimales et maximales de la rotation en Y. Si , la rotation en Y de la caméra est enveloppée du minimum au maximum et du maximum au minimum.
Si true, la rotation Y de la caméra s'étend du minimum au maximum et du maximum au minimum. Si false, la rotation Y 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 | wrapYRotation() const |
| void | setWrapYRotation(bool isEnabled) |
Signal de notification :
| void | wrapYRotationChanged(bool isEnabled) |
xRotation : float
Cette propriété indique l'angle de rotation X de la caméra autour du point cible, en degrés.
Fonctions d'accès :
| float | xRotation() const |
| void | setXRotation(float rotation) |
Signal du notificateur :
| void | xRotationChanged(float rotation) |
yRotation : float
Cette propriété indique l'angle de rotation Y de la caméra autour du point cible, en degrés.
Fonctions d'accès :
| float | yRotation() const |
| void | setYRotation(float rotation) |
Signal du notificateur :
| void | yRotationChanged(float rotation) |
zoomLevel : float
Cette propriété indique le niveau de zoom de la caméra en pourcentage.
La valeur par défaut de 100.0f signifie qu'il n'y a pas de zoom avant ou arrière défini dans 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 sur les fonctions membres
[explicit] Q3DCamera::Q3DCamera(QObject *parent = nullptr)
Construit une nouvelle caméra 3D dont la position est fixée à l'origine, la direction vers le haut orientée vers l'axe Y et regardant l'origine par défaut. Un paramètre facultatif parent peut être fourni et est alors transmis au constructeur QObject.
[virtual noexcept] Q3DCamera::~Q3DCamera()
Détruit 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 donnée. Les valeurs sont copiées de l'adresse source vers cet objet.
void Q3DCamera::setCameraPosition(float horizontal, float vertical, float zoom = 100.0f)
Fonction utilitaire qui définit les rotations et la distance de la caméra.horizontal et vertical définissent les rotations de la caméra à utiliser. Le paramètre optionnel zoom permet de 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.