Custom3DVolume QML Type
Ajoute un objet rendu volumique à un graphique. Plus d'informations...
| Import Statement: | import QtGraphs |
| In C++: | QCustom3DVolume |
| Inherits: |
- Liste de tous les membres, y compris les membres hérités
- Custom3DVolume fait partie de Qt Graphs QML Types for 3D.
Propriétés
- alphaMultiplier : real
- drawSliceFrames : bool
- drawSlices : bool
- preserveOpacity : bool
- sliceFrameColor : color
- sliceFrameGaps : vector3d
- sliceFrameThicknesses : vector3d
- sliceFrameWidths : vector3d
- sliceIndexX : int
- sliceIndexY : int
- sliceIndexZ : int
- textureDepth : int
- textureHeight : int
- textureWidth : int
- useHighDefShader : bool
Signaux
- alphaMultiplierChanged(float mult)
- drawSliceFramesChanged(bool enabled)
- drawSlicesChanged(bool enabled)
- preserveOpacityChanged(bool enabled)
- sliceFrameColorChanged(color color)
- sliceFrameGapsChanged(vector3d values)
- sliceFrameThicknessesChanged(vector3d values)
- sliceFrameWidthsChanged(vector3d values)
- sliceIndexXChanged(int value)
- sliceIndexYChanged(int value)
- sliceIndexZChanged(int value)
- textureDepthChanged(int value)
- textureHeightChanged(int value)
- textureWidthChanged(int value)
- useHighDefShaderChanged(bool enabled)
Description détaillée
Un objet rendu en volume est une boîte avec une texture 3D. Trois plans de coupe sont pris en charge pour le volume, un le long de chaque axe principal du volume.
Le rendu des objets volumiques est très gourmand en performances, en particulier lorsque le volume est largement transparent, car le contenu du volume est tracé par rayons. Les performances sont presque linéairement proportionnelles à la quantité de pixels que le volume occupe à l'écran, de sorte qu'il est facile d'améliorer les performances en affichant le volume dans une vue plus petite ou en limitant le niveau de zoom du graphique. De même, les dimensions de la texture du volume ont un impact important sur les performances. Si le taux de rafraîchissement est plus important que le rendu parfait du contenu du volume, vous pouvez désactiver le shader haute définition en définissant la propriété useHighDefShader sur false.
Remarque : le remplissage des données de volume ne serait généralement pas efficace ou pratique en QML pur, de sorte que les propriétés directement liées à cela ne sont pas entièrement prises en charge par QML. Créez une application hybride QML/C++ si vous souhaitez utiliser des objets volumétriques avec une interface utilisateur Qt Quick.
Remarque : les objets volumétriques utilisent des textures 3D, qui ne sont pas prises en charge dans les environnements OpenGL ES2.
Voir également useHighDefShader.
Documentation sur les propriétés
alphaMultiplier : real
La valeur alpha de chaque texel de la texture du volume est multipliée par cette valeur au moment du rendu. Ceci peut être utilisé pour introduire une transparence uniforme dans le volume. Si preserveOpacity est true, seuls les texels ayant au moins une certaine transparence au départ sont affectés, et les texels totalement opaques ne le sont pas. La valeur ne doit pas être négative. La valeur par défaut est 1.0.
Voir également preserveOpacity.
drawSliceFrames : bool
Si la valeur de cette propriété est true, les cadres des tranches indiqués par les propriétés d'index de tranche seront dessinés autour du volume. Si la valeur est false, aucun cadre de tranche ne sera dessiné. Le dessin des cadres de tranches est indépendant du dessin des tranches, de sorte que vous pouvez afficher le volume complet tout en dessinant les cadres de tranches autour de celui-ci. La valeur par défaut est false.
Voir également sliceIndexX, sliceIndexY, sliceIndexZ, et drawSlices.
drawSlices : bool
Si la valeur de cette propriété est true, les tranches indiquées par les propriétés d'index de tranche seront dessinées au lieu du volume complet. Si la valeur est false, le volume complet sera toujours dessiné. La valeur par défaut est false.
Remarque : les tranches sont toujours dessinées le long des axes de l'élément, de sorte que si l'élément est tourné, les tranches le sont également.
Voir également sliceIndexX, sliceIndexY, et sliceIndexZ.
preserveOpacity : bool
Si la valeur de cette propriété est true, alphaMultiplier n'est appliqué qu'aux texels qui ont déjà une certaine transparence. Si la valeur est false, le multiplicateur est appliqué à la valeur alpha de tous les pixels. La valeur par défaut est true.
Voir également alphaMultiplier.
sliceFrameColor : color
La couleur du cadre de la tranche. La couleur transparente du cadre de la tranche n'est pas prise en charge.
La valeur par défaut est le noir.
Voir aussi drawSliceFrames.
sliceFrameGaps : vector3d
La taille de l'espace d'air laissé entre le volume lui-même et le cadre dans chaque dimension. L'espace peut être différent d'une dimension à l'autre. Les valeurs sont des fractions de l'épaisseur du volume dans la même dimension. Les valeurs ne peuvent pas être négatives.
La valeur par défaut est vector3d(0.01, 0.01, 0.01).
Voir aussi drawSliceFrames.
sliceFrameThicknesses : vector3d
L'épaisseur des cadres de la tranche pour chaque dimension. Les valeurs sont des fractions de l'épaisseur du volume dans la même dimension. Les valeurs ne peuvent pas être négatives.
La valeur par défaut est vector3d(0.01, 0.01, 0.01).
Voir également drawSliceFrames.
sliceFrameWidths : vector3d
La largeur du cadre de la tranche. La largeur peut être différente selon les dimensions, ce qui permet par exemple de ne pas dessiner les cadres sur certains côtés du volume en fixant la valeur de cette dimension à zéro. Les valeurs sont des fractions de l'épaisseur du volume dans la même dimension. Les valeurs ne peuvent pas être négatives.
La valeur par défaut est vector3d(0.01, 0.01, 0.01).
Voir également drawSliceFrames.
sliceIndexX : int
L'index de la dimension x dans les données de texture indiquant la tranche verticale à afficher. Si une dimension est négative, aucune tranche ou cadre de tranche n'est dessiné pour cette dimension. Si toutes les dimensions sont négatives, aucune tranche ou cadre de tranche n'est dessiné et le volume est dessiné normalement. La valeur par défaut est -1.
Voir également QCustom3DVolume::textureData, drawSlices, et drawSliceFrames.
sliceIndexY : int
L'index de la dimension y dans les données de texture indiquant la tranche horizontale à afficher. Si une dimension est négative, aucune tranche ou cadre de tranche n'est dessiné pour cette dimension. Si toutes les dimensions sont négatives, aucune tranche ou cadre de tranche n'est dessiné et le volume est dessiné normalement. La valeur par défaut est -1.
Voir également QCustom3DVolume::textureData, drawSlices, et drawSliceFrames.
sliceIndexZ : int
L'index de la dimension z dans les données de texture indiquant la tranche verticale à afficher. Si une dimension est négative, aucune tranche ou cadre de tranche n'est dessiné pour cette dimension. Si toutes les dimensions sont négatives, aucune tranche ou cadre de tranche n'est dessiné et le volume est dessiné normalement. La valeur par défaut est -1.
Voir également QCustom3DVolume::textureData, drawSlices, et drawSliceFrames.
textureDepth : int
La profondeur de la texture 3D définissant le contenu du volume en pixels. La valeur par défaut est 0.
Remarque : il n'est pas possible de modifier cette propriété à partir de QML, car les données de texture ne peuvent pas être redimensionnées en conséquence.
textureHeight : int
La hauteur de la texture 3D définissant le contenu du volume en pixels. La valeur par défaut est 0.
Remarque : il n'est pas possible de modifier cette propriété à partir de QML, car les données de texture ne peuvent pas être redimensionnées en conséquence.
textureWidth : int
La largeur de la texture 3D définissant le contenu du volume en pixels. La valeur par défaut est 0.
Remarque : il n'est pas possible de modifier cette propriété à partir de QML, car les données de texture ne peuvent pas être redimensionnées en conséquence.
useHighDefShader : bool
Si la valeur de cette propriété est true, un nuanceur haute définition est utilisé pour le rendu du volume. Si la valeur est false, un nuanceur basse définition est utilisé.
Le shader haute définition garantit que chaque texel visible de la texture du volume est échantillonné lors du rendu du volume. Le shader basse définition ne rend qu'une approximation grossière du contenu du volume, mais à une fréquence d'images beaucoup plus élevée. Le shader basse définition ne garantit pas que chaque texel de la texture du volume est échantillonné, ce qui peut entraîner un scintillement si le volume contient des éléments fins distincts.
Remarque : cette valeur n'affecte pas le niveau de détail lors du rendu des tranches du volume.
La valeur par défaut est true.
Documentation sur le signal
alphaMultiplierChanged(float mult)
Ce signal est émis lorsque alphaMultiplier devient mult.
Note : Le gestionnaire correspondant est onAlphaMultiplierChanged.
drawSliceFramesChanged(bool enabled)
Ce signal est émis lorsque drawSliceFrames devient enabled.
Note : Le gestionnaire correspondant est onDrawSliceFramesChanged.
drawSlicesChanged(bool enabled)
Ce signal est émis lorsque drawSlices devient enabled.
Note : Le gestionnaire correspondant est onDrawSlicesChanged.
preserveOpacityChanged(bool enabled)
Ce signal est émis lorsque preserveOpacity devient enabled.
Note : Le gestionnaire correspondant est onPreserveOpacityChanged.
sliceFrameColorChanged(color color)
Ce signal est émis lorsque sliceFrameColor devient color.
Note : Le gestionnaire correspondant est onSliceFrameColorChanged.
sliceFrameGapsChanged(vector3d values)
Ce signal est émis lorsque sliceFrameGaps devient values.
Note : Le gestionnaire correspondant est onSliceFrameGapsChanged.
sliceFrameThicknessesChanged(vector3d values)
Ce signal est émis lorsque sliceFrameThicknesses devient values.
Note : Le gestionnaire correspondant est onSliceFrameThicknessesChanged.
sliceFrameWidthsChanged(vector3d values)
Ce signal est émis lorsque sliceFrameWidths devient values.
Note : Le gestionnaire correspondant est onSliceFrameWidthsChanged.
sliceIndexXChanged(int value)
Ce signal est émis lorsque sliceIndexX devient value.
Note : Le gestionnaire correspondant est onSliceIndexXChanged.
sliceIndexYChanged(int value)
Ce signal est émis lorsque sliceIndexY devient value.
Note : Le gestionnaire correspondant est onSliceIndexYChanged.
sliceIndexZChanged(int value)
Ce signal est émis lorsque sliceIndexZ devient value.
Note : Le gestionnaire correspondant est onSliceIndexZChanged.
textureDepthChanged(int value)
Ce signal est émis lorsque textureDepth devient value.
Note : Le gestionnaire correspondant est onTextureDepthChanged.
textureHeightChanged(int value)
Ce signal est émis lorsque textureHeight devient value.
Note : Le gestionnaire correspondant est onTextureHeightChanged.
textureWidthChanged(int value)
Ce signal est émis lorsque textureWidth devient value.
Note : Le gestionnaire correspondant est onTextureWidthChanged.
useHighDefShaderChanged(bool enabled)
Ce signal est émis lorsque useHighDefShader devient enabled.
Note : Le gestionnaire correspondant est onUseHighDefShaderChanged.
© 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.