Custom3DVolume QML Type
Fügt ein gerendertes Volumenobjekt zu einem Diagramm hinzu. Mehr...
| Import Statement: | import QtDataVisualization 1.11 |
| Since: | QtDataVisualization 1.2 |
| In C++: | QCustom3DVolume |
| Inherits: |
Eigenschaften
- 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
Detaillierte Beschreibung
Ein gerendertes Volumenobjekt ist ein Kasten mit einer 3D-Textur. Für das Volumen werden drei Slicing-Ebenen unterstützt, eine entlang jeder Hauptachse des Volumens.
Das Rendern von Volumenobjekten ist sehr leistungsintensiv, insbesondere wenn das Volumen weitgehend transparent ist, da der Inhalt des Volumens durch Strahlen verfolgt wird. Die Leistung skaliert nahezu linear mit der Anzahl der Pixel, die das Volumen auf dem Bildschirm einnimmt, so dass die Darstellung des Volumens in einer kleineren Ansicht oder die Begrenzung der Zoomstufe des Diagramms einfache Möglichkeiten zur Verbesserung der Leistung sind. Auch die Größe der Volumentextur hat einen großen Einfluss auf die Leistung. Wenn die Framerate wichtiger ist als die pixelgenaue Darstellung des Volumeninhalts, sollten Sie den High-Definition-Shader deaktivieren, indem Sie die Eigenschaft useHighDefShader auf false setzen.
Hinweis: Das Ausfüllen der Volumendaten wäre in der Regel in reinem QML nicht effizient oder praktikabel, daher werden Eigenschaften, die sich direkt darauf beziehen, nicht vollständig von QML unterstützt. Erstellen Sie eine hybride QML/C++-Anwendung, wenn Sie Volumenobjekte mit einer Qt Quick UI verwenden möchten.
Hinweis: Volumetrische Objekte werden nur bei orthografischer Projektion unterstützt.
Hinweis: Volumetrische Objekte verwenden 3D-Texturen, die in OpenGL ES2-Umgebungen nicht unterstützt werden.
Siehe auch AbstractGraph3D::orthoProjection und useHighDefShader.
Dokumentation der Eigenschaften
alphaMultiplier : real
Der Alphawert jedes Texels der Volumentextur wird zur Renderzeit mit diesem Wert multipliziert. Dies kann verwendet werden, um dem Volumen eine einheitliche Transparenz zu verleihen. Wenn preserveOpacity true ist, sind nur Texel betroffen, die zu Beginn zumindest etwas transparent sind, und völlig undurchsichtige Texel sind nicht betroffen. Der Wert darf nicht negativ sein. Der Standardwert ist 1.0.
Siehe auch preserveOpacity.
drawSliceFrames : bool
Wenn der Wert dieser Eigenschaft true ist, werden die Rahmen der Slices, die durch die Slice-Index-Eigenschaften angegeben sind, um das Volumen herum gezeichnet. Wenn der Wert false ist, werden keine Slice-Rahmen gezeichnet. Das Zeichnen von Slice-Rahmen ist unabhängig vom Zeichnen von Slices, so dass Sie das gesamte Volumen anzeigen und trotzdem die Slice-Rahmen um das Volumen herum zeichnen können. Der Standardwert ist false.
Siehe auch sliceIndexX, sliceIndexY, sliceIndexZ, und drawSlices.
drawSlices : bool
Wenn diese Eigenschaft den Wert true hat, werden die durch die Slice-Index-Eigenschaften angegebenen Slices anstelle des gesamten Volumens gezeichnet. Wenn der Wert false lautet, wird immer das gesamte Volumen gezeichnet. Die Standardeinstellung ist false.
Hinweis: Die Slices werden immer entlang der Objektachsen gezeichnet, d. h. wenn das Objekt gedreht wird, werden auch die Slices gedreht.
Siehe auch sliceIndexX, sliceIndexY, und sliceIndexZ.
preserveOpacity : bool
Wenn diese Eigenschaft den Wert true hat, wird alphaMultiplier nur auf Texel angewendet, die bereits eine gewisse Transparenz aufweisen. Wenn der Wert false lautet, wird der Multiplikator auf den Alphawert aller Texel angewandt. Der Standardwert ist true.
Siehe auch alphaMultiplier.
sliceFrameColor : color
Die Farbe des Slice-Rahmens. Die Farbe eines transparenten Slice-Rahmens wird nicht unterstützt.
Der Standardwert ist Schwarz.
Siehe auch drawSliceFrames.
sliceFrameGaps : vector3d
Die Größe des Luftspalts, der zwischen dem Volumen selbst und dem Rahmen in jeder Dimension verbleibt. Der Spalt kann in verschiedenen Dimensionen unterschiedlich sein. Die Werte sind Bruchteile der Volumendicke in der gleichen Dimension. Die Werte können nicht negativ sein.
Der Standardwert ist vector3d(0.01, 0.01, 0.01).
Siehe auch drawSliceFrames.
sliceFrameThicknesses : vector3d
Die Dicke der Schichtrahmen für jede Dimension. Die Werte sind Bruchteile der Volumendicke in derselben Dimension. Die Werte können nicht negativ sein.
Der Standardwert ist vector3d(0.01, 0.01, 0.01).
Siehe auch drawSliceFrames.
sliceFrameWidths : vector3d
Die Breite des Slice-Rahmens. Die Breite kann in verschiedenen Dimensionen unterschiedlich sein, so dass Sie z. B. das Zeichnen der Rahmen an bestimmten Seiten des Volumens auslassen können, indem Sie den Wert für diese Dimension auf Null setzen. Die Werte sind Bruchteile der Volumendicke in derselben Dimension. Die Werte können nicht negativ sein.
Der Standardwert ist vector3d(0.01, 0.01, 0.01).
Siehe auch drawSliceFrames.
sliceIndexX : int
Der Index der x-Dimension in den Texturdaten, der angibt, welcher vertikale Slice angezeigt werden soll. Wenn eine Dimension negativ ist, wird kein Slice oder Slice-Rahmen für diese Dimension gezeichnet. Wenn alle Dimensionen negativ sind, werden keine Slices oder Slicerahmen gezeichnet und das Volumen wird normal gezeichnet. Die Voreinstellung ist -1.
Siehe auch QCustom3DVolume::textureData, drawSlices, und drawSliceFrames.
sliceIndexY : int
Der Index der y-Dimension in den Texturdaten, der angibt, welcher horizontale Slice angezeigt werden soll. Wenn eine Dimension negativ ist, wird kein Slice oder Slice-Rahmen für diese Dimension gezeichnet. Wenn alle Dimensionen negativ sind, werden keine Slices oder Slicerahmen gezeichnet und das Volumen wird normal gezeichnet. Die Voreinstellung ist -1.
Siehe auch QCustom3DVolume::textureData, drawSlices, und drawSliceFrames.
sliceIndexZ : int
Der Index der z-Dimension in den Texturdaten, der angibt, welcher vertikale Slice angezeigt werden soll. Wenn eine Dimension negativ ist, wird kein Slice oder Slice-Rahmen für diese Dimension gezeichnet. Wenn alle Dimensionen negativ sind, werden keine Slices oder Slicerahmen gezeichnet und das Volumen wird normal gezeichnet. Die Voreinstellung ist -1.
Siehe auch QCustom3DVolume::textureData, drawSlices, und drawSliceFrames.
textureDepth : int
Die Tiefe der 3D-Textur, die den Volumeninhalt in Pixeln definiert. Der Standardwert ist 0.
Hinweis: Das Ändern dieser Eigenschaft von QML aus wird nicht unterstützt, da die Texturdaten nicht entsprechend angepasst werden können.
textureHeight : int
Die Höhe der 3D-Textur, die den Volumeninhalt definiert, in Pixeln. Der Standardwert ist 0.
Hinweis: Das Ändern dieser Eigenschaft von QML aus wird nicht unterstützt, da die Texturdaten nicht entsprechend angepasst werden können.
textureWidth : int
Die Breite der 3D-Textur, die den Volumeninhalt definiert, in Pixeln. Der Standardwert ist 0.
Hinweis: Das Ändern dieser Eigenschaft von QML aus wird nicht unterstützt, da die Texturdaten nicht entsprechend angepasst werden können.
useHighDefShader : bool
Wenn der Wert dieser Eigenschaft true ist, wird ein hochauflösender Shader zum Rendern des Volumens verwendet. Wenn der Wert false lautet, wird ein niedrig auflösender Shader verwendet.
Der hochauflösende Shader garantiert, dass jedes sichtbare Texel der Volumentextur beim Rendern des Volumens abgetastet wird. Der Low-Definition-Shader rendert nur eine grobe Annäherung an den Volumeninhalt, aber mit einer viel höheren Bildrate. Der Low-Definition-Shader garantiert nicht, dass jedes Texel der Volumentextur abgetastet wird, so dass es zu Flackern kommen kann, wenn das Volumen ausgeprägte dünne Merkmale enthält.
Hinweis: Dieser Wert hat keinen Einfluss auf den Detailgrad beim Rendern der Slices des Volumens.
Die Standardeinstellung ist true.
© 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.