QCustom3DItem Class
La classe QCustom3DItem ajoute un élément personnalisé à un graphique. Plus d'informations...
| En-tête : | #include <QCustom3DItem> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS DataVisualization)target_link_libraries(mytarget PRIVATE Qt6::DataVisualization) |
| qmake : | QT += datavisualization |
| Depuis : | QtDataVisualization 1.1 |
| En QML : | Custom3DItem |
| Hérite : | QObject |
| Héritée par : |
Propriétés
|
|
Fonctions publiques
| QCustom3DItem(QObject *parent = nullptr) | |
| QCustom3DItem(const QString &meshFile, const QVector3D &position, const QVector3D &scaling, const QQuaternion &rotation, const QImage &texture, QObject *parent = nullptr) | |
| virtual | ~QCustom3DItem() |
| bool | isPositionAbsolute() const |
| bool | isScalingAbsolute() const |
| bool | isShadowCasting() const |
| bool | isVisible() const |
| QString | meshFile() const |
| QVector3D | position() const |
| QQuaternion | rotation() |
| QVector3D | scaling() const |
| void | setMeshFile(const QString &meshFile) |
| void | setPosition(const QVector3D &position) |
| void | setPositionAbsolute(bool positionAbsolute) |
| void | setRotation(const QQuaternion &rotation) |
| void | setRotationAxisAndAngle(const QVector3D &axis, float angle) |
| void | setScaling(const QVector3D &scaling) |
| void | setScalingAbsolute(bool scalingAbsolute) |
| void | setShadowCasting(bool enabled) |
| void | setTextureFile(const QString &textureFile) |
| void | setTextureImage(const QImage &textureImage) |
| void | setVisible(bool visible) |
| QString | textureFile() const |
Signaux
| void | meshFileChanged(const QString &meshFile) |
| void | positionAbsoluteChanged(bool positionAbsolute) |
| void | positionChanged(const QVector3D &position) |
| void | rotationChanged(const QQuaternion &rotation) |
| void | scalingAbsoluteChanged(bool scalingAbsolute) |
| void | scalingChanged(const QVector3D &scaling) |
| void | shadowCastingChanged(bool shadowCasting) |
| void | textureFileChanged(const QString &textureFile) |
| void | visibleChanged(bool visible) |
Description détaillée
Un élément personnalisé possède un maillage personnalisé, une position, une mise à l'échelle, une rotation et une texture optionnelle.
Voir également QAbstract3DGraph::addCustomItem().
Documentation sur les propriétés
meshFile : QString
Cette propriété contient le nom du fichier de maillage de l'élément.
L'élément dans le fichier doit être au format Wavefront OBJ et inclure les sommets, les normales et les UV. Il doit également être sous forme de triangles. Si le fichier manque de normales ou d'UV, le chargement échouera avec un message d'erreur sur la console et l'élément ne sera pas rendu.
Fonctions d'accès :
| QString | meshFile() const |
| void | setMeshFile(const QString &meshFile) |
Signal Notifier :
| void | meshFileChanged(const QString &meshFile) |
position : QVector3D
Cette propriété contient la position de l'élément sous forme de QVector3D.
La valeur par défaut est QVector3D(0.0, 0.0, 0.0).
La position de l'élément est spécifiée soit en coordonnées de données, soit en coordonnées absolues, en fonction de la propriété positionAbsolute. Lors de l'utilisation de coordonnées absolues, les valeurs comprises entre -1.0...1.0 se situent à l'intérieur des plages d'axes.
Remarque : les éléments positionnés en dehors de toute plage d'axes ne sont pas rendus si positionAbsolute est false, sauf s'il s'agit d'un élément QCustom3DVolume qui serait partiellement visible et que scalingAbsolute est également false. Dans ce cas, la partie visible du volume sera rendue.
Fonctions d'accès :
| QVector3D | position() const |
| void | setPosition(const QVector3D &position) |
Signal de notification :
| void | positionChanged(const QVector3D &position) |
Voir aussi positionAbsolute.
positionAbsolute : bool
Cette propriété indique si la position de l'élément doit être traitée en coordonnées de données ou en coordonnées absolues.
La valeur par défaut est false. Les éléments dont les coordonnées sont absolues sont toujours rendus, tandis que les éléments dont les coordonnées sont des données ne sont rendus que s'ils se situent dans les plages de l'axe.
Fonctions d'accès :
| bool | isPositionAbsolute() const |
| void | setPositionAbsolute(bool positionAbsolute) |
Signal du notificateur :
| void | positionAbsoluteChanged(bool positionAbsolute) |
Voir également position.
rotation : QQuaternion
Cette propriété contient la rotation de l'article sous forme de QQuaternion.
La valeur par défaut est QQuaternion(0.0, 0.0, 0.0, 0.0).
Fonctions d'accès :
| QQuaternion | rotation() |
| void | setRotation(const QQuaternion &rotation) |
Signal de notification :
| void | rotationChanged(const QQuaternion &rotation) |
scaling : QVector3D
Cette propriété contient l'échelle de l'article sous forme de QVector3D.
La valeur par défaut est QVector3D(0.1, 0.1, 0.1).
La mise à l'échelle de l'élément se fait soit en valeurs de données, soit en valeurs absolues, en fonction de la propriété scalingAbsolute. Le vecteur par défaut interprété en valeurs absolues fixe l'élément à 10 % de la hauteur du graphique, à condition que le maillage de l'élément soit normalisé et que les rapports d'aspect du graphique n'aient pas été modifiés par rapport aux valeurs par défaut.
Fonctions d'accès :
| QVector3D | scaling() const |
| void | setScaling(const QVector3D &scaling) |
Signal Notifier :
| void | scalingChanged(const QVector3D &scaling) |
Voir aussi scalingAbsolute.
[since QtDataVisualization 1.2] scalingAbsolute : bool
Cette propriété indique si la mise à l'échelle des éléments doit être traitée en valeurs de données ou en valeurs absolues.
La valeur par défaut est true.
Les éléments dont la mise à l'échelle est absolue seront rendus à la même taille, quelles que soient les plages des axes. Les éléments avec une mise à l'échelle des données changeront leur taille apparente en fonction des plages de l'axe. Si positionAbsolute est true, cette propriété est ignorée et la mise à l'échelle est interprétée comme une valeur absolue. Si l'élément a une rotation, la mise à l'échelle des données est calculée sur l'élément non tourné. De même, pour les éléments QCustom3DVolume, l'écrêtage de la plage est calculé sur l'élément non tourné.
Remarque : seule la mise à l'échelle absolue est prise en charge pour les éléments QCustom3DLabel ou pour les éléments personnalisés utilisés dans les graphiques polar.
Remarque : Le maillage de l'élément personnalisé doit être normalisé en fonction de la plage [-1 ,1], sinon la mise à l'échelle des données ne sera pas précise.
Cette propriété a été introduite dans QtDataVisualization 1.2.
Fonctions d'accès :
| bool | isScalingAbsolute() const |
| void | setScalingAbsolute(bool scalingAbsolute) |
Signal Notifier :
| void | scalingAbsoluteChanged(bool scalingAbsolute) |
Voir également scaling et positionAbsolute.
shadowCasting : bool
Cette propriété indique si la projection d'ombres est activée pour l'élément.
La valeur par défaut est true. Si false, l'élément ne projette pas d'ombres, quelle que soit la valeur de QAbstract3DGraph::ShadowQuality.
Fonctions d'accès :
| bool | isShadowCasting() const |
| void | setShadowCasting(bool enabled) |
Signal de notification :
| void | shadowCastingChanged(bool shadowCasting) |
textureFile : QString
Cette propriété contient le nom du fichier de texture de l'élément.
Si cette propriété et l'image de texture ne sont pas définies, une texture gris uni sera utilisée.
Remarque : pour économiser de la mémoire, le fichier QImage est effacé après la création d'une texture.
Fonctions d'accès :
| QString | textureFile() const |
| void | setTextureFile(const QString &textureFile) |
Signal de notification :
| void | textureFileChanged(const QString &textureFile) |
visible : bool
Cette propriété indique la visibilité de l'élément.
La valeur par défaut est true.
Fonctions d'accès :
| bool | isVisible() const |
| void | setVisible(bool visible) |
Signal du notificateur :
| void | visibleChanged(bool visible) |
Fonction membre Documentation
[explicit] QCustom3DItem::QCustom3DItem(QObject *parent = nullptr)
Construit un objet 3D personnalisé avec l'adresse parent.
[explicit] QCustom3DItem::QCustom3DItem(const QString &meshFile, const QVector3D &position, const QVector3D &scaling, const QQuaternion &rotation, const QImage &texture, QObject *parent = nullptr)
Construit un élément 3D personnalisé avec l'image spécifiée meshFile, position, scaling, rotation, texture et l'image optionnelle parent.
[virtual noexcept] QCustom3DItem::~QCustom3DItem()
Supprime l'élément 3D personnalisé.
[invokable] void QCustom3DItem::setRotationAxisAndAngle(const QVector3D &axis, float angle)
Une fonction de commodité pour construire le quaternion de rotation à partir de axis et angle.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
Voir aussi rotation.
void QCustom3DItem::setTextureImage(const QImage &textureImage)
Définit la valeur de textureImage comme QImage pour l'élément. Par défaut, la texture est gris uni.
Remarque : pour économiser de la mémoire, la valeur de QImage est effacée après la création d'une texture.
© 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.