QCustom3DItem Class
La classe QCustom3DItem permet d'ajouter un élément personnalisé à un graphique. En savoir plus...
| 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 de : | QObject |
| Hérité par : | |
| Statut : | Obsolète |
Cette classe est obsolète. Nous déconseillons fortement de l'utiliser dans du nouveau code.
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é dispose d'un maillage, d'une position, d'une échelle et d'une rotation personnalisés, ainsi que d'une texture facultative.
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'objet contenu dans le fichier doit être au format Wavefront OBJ et inclure les sommets, les normales et les coordonnées UV. Il doit également être constitué de triangles. Si le fichier ne contient ni normales ni coordonnées UV, le chargement échouera et un message d'erreur s'affichera dans la console ; l'objet ne sera pas rendu.
Fonctions d'accès :
| QString | meshFile() const |
| void | setMeshFile(const QString &meshFile) |
Signal de notification :
| void | meshFileChanged(const QString &meshFile) |
position : QVector3D
Cette propriété stocke la position de l'élément sous la forme d'un objet de type ` 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, selon la propriété « positionAbsolute ». En cas d’utilisation de coordonnées absolues, les valeurs comprises entre -1.0...1.0 se situent dans les plages des axes.
Remarque : les éléments positionnés en dehors de toute plage d’axe ne sont pas affichés si positionAbsolute est défini sur false, sauf si l’élément est un QCustom3DVolume qui serait partiellement visible et si scalingAbsolute est également défini sur false. Dans ce cas, la partie visible du volume sera affichée.
Fonctions d’accès :
| QVector3D | position() const |
| void | setPosition(const QVector3D &position) |
Signal de notification :
| void | positionChanged(const QVector3D &position) |
Voir également positionAbsolute.
positionAbsolute : bool
Cette propriété détermine si la position des éléments doit être gérée en coordonnées de données ou en coordonnées absolues.
La valeur par défaut est « false ». Les éléments avec des coordonnées absolues seront toujours affichés, tandis que ceux avec des coordonnées de données ne le seront que s'ils se trouvent dans les plages des axes.
Fonctions d'accès :
| bool | isPositionAbsolute() const |
| void | setPositionAbsolute(bool positionAbsolute) |
Signal de notification :
| void | positionAbsoluteChanged(bool positionAbsolute) |
Voir également position.
rotation : QQuaternion
Cette propriété stocke la rotation de l'élément sous la forme d'un objet ` 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é stocke l'échelle de l'élément sous la forme d'un objet de type ` QVector3D`.
La valeur par défaut est « QVector3D(0.1, 0.1, 0.1) ».
La mise à l'échelle des éléments s'effectue soit en valeurs de données, soit en valeurs absolues, selon la propriété « scalingAbsolute ». Le vecteur par défaut, interprété comme des valeurs absolues, définit l'élément à 10 % de la hauteur du graphique, à condition que le maillage de l'élément soit normalisé et que les proportions du graphique n'aient pas été modifiées par rapport aux valeurs par défaut.
Fonctions d’accès :
| QVector3D | scaling() const |
| void | setScaling(const QVector3D &scaling) |
Signal de notification :
| void | scalingChanged(const QVector3D &scaling) |
Voir également scalingAbsolute.
[since QtDataVisualization 1.2] scalingAbsolute : bool
Cette propriété détermine si la mise à l'échelle des éléments doit être géré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 définie en valeurs absolues seront affichés à la même taille, quelles que soient les plages des axes. Les éléments dont la mise à l'échelle est basée sur les données verront leur taille apparente varier en fonction des plages des axes. Si positionAbsolute est défini sur true, cette propriété est ignorée et la mise à l'échelle est interprétée comme une valeur absolue. Si l'élément est en rotation, la mise à l'échelle basée sur les données est calculée sur l'élément non pivoté. De même, pour les éléments QCustom3DVolume, le découpage de plage est calculé sur l'élément non pivoté.
Remarque : Seul le 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é dans la plage [-1 ,1], sinon la mise à l’échelle des données ne sera pas précise.
Cette énumération a été introduite dans QtDataVisualization 1.2.
Fonctions d’accès :
| bool | isScalingAbsolute() const |
| void | setScalingAbsolute(bool scalingAbsolute) |
Signal de notification :
| void | scalingAbsoluteChanged(bool scalingAbsolute) |
Voir également scaling et positionAbsolute.
shadowCasting : bool
Cette propriété détermine si l'ombrage de l'élément est activé.
La valeur par défaut est « true ». Si la valeur est « 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 grise unie sera utilisée.
Remarque : afin d'économiser de la mémoire, l'QImage e chargée à partir du fichier est effacée une fois la texture créée.
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é définit la visibilité de l'élément.
Valeur par défaut : « true ».
Fonctions d'accès :
| bool | isVisible() const |
| void | setVisible(bool visible) |
Signal de notification :
| void | visibleChanged(bool visible) |
Documentation des fonctions membres
[explicit] QCustom3DItem::QCustom3DItem(QObject *parent = nullptr)
Crée un objet 3D personnalisé à l'aide de l'parent spécifiée.
[explicit] QCustom3DItem::QCustom3DItem(const QString &meshFile, const QVector3D &position, const QVector3D &scaling, const QQuaternion &rotation, const QImage &texture, QObject *parent = nullptr)
Crée un élément 3D personnalisé avec les paramètres suivants : meshFile, position, scaling, rotation, texture (image) et, en option, parent.
[virtual noexcept] QCustom3DItem::~QCustom3DItem()
Supprime l'élément 3D personnalisé.
[invokable] void QCustom3DItem::setRotationAxisAndAngle(const QVector3D &axis, float angle)
Une fonction pratique permettant de construire le quaternion de rotation à partir de axis et angle.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
Voir également 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 d'un gris uni.
Remarque : afin d’ économiser de la mémoire, l’ QImage fournie est effacée une fois la texture créée.
© 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.