Auf dieser Seite

Custom3DVolume QML Type

Fügt einem Diagramm ein volumengeneriertes Objekt hinzu. Mehr...

Import Statement: import QtGraphs
In C++: QCustom3DVolume
Inherits:

Custom3DItem

Eigenschaften

Signale

Ausführliche Beschreibung

Ein volumengeneriertes Objekt ist ein Quader mit einer 3D-Textur. Für das Volumen werden drei Schnittebenen unterstützt, jeweils eine entlang jeder Hauptachse des Volumens.

Das Rendern von Volumenobjekten ist sehr rechenintensiv, insbesondere wenn das Volumen weitgehend transparent ist, da der Inhalt des Volumens mittels Raytracing berechnet wird. Die Leistung skaliert nahezu linear mit der Anzahl der Pixel, die das Volumen auf dem Bildschirm einnimmt. Daher sind die Darstellung des Volumens in einer kleineren Ansicht oder die Begrenzung des Zoom-Levels des Diagramms einfache Möglichkeiten, die Leistung zu verbessern. Ebenso haben die Abmessungen der Volumen-Textur einen großen Einfluss auf die Leistung. Wenn die Bildrate wichtiger ist als eine pixelgenaue Darstellung des Volumeninhalts, sollten Sie in Erwägung ziehen, den High-Definition-Shader zu deaktivieren, indem Sie die Eigenschaft „ useHighDefShader “ auf „ false “ setzen.

Hinweis: Das Ausfüllen der Volumendaten wäre aus reinem QML heraus in der Regel weder effizient noch praktikabel, daher werden die damit direkt verbundenen Eigenschaften von QML nicht vollständig unterstützt. Erstellen Sie eine hybride QML/C++-Anwendung, wenn Sie Volumenobjekte mit einer Benutzeroberfläche vom Typ „ Qt Quick “ verwenden möchten.

Hinweis: Volumetrische Objekte verwenden 3D-Texturen, die in OpenGL-ES2-Umgebungen nicht unterstützt werden.

Siehe auch „ useHighDefShader “.

Dokumentation zu den Eigenschaften

alphaMultiplier : real

Der Alpha-Wert jedes Texels der Volumentextur wird zum Zeitpunkt des Renderings mit diesem Wert multipliziert. Dies kann genutzt werden, um eine einheitliche Transparenz im Volumen zu erzeugen. Wenn preserveOpacity auf true gesetzt ist, sind nur Texel betroffen, die von vornherein zumindest eine gewisse Transparenz aufweisen; vollständig undurchsichtige Texel bleiben davon unberührt. Der Wert darf nicht negativ sein. Der Standardwert ist 1.0.

Siehe auch „ preserveOpacity “.

drawSliceFrames : bool

Wenn dieser Eigenschaftswert „ true “ lautet, werden die Rahmen der durch die Schnittindex-Eigenschaften angegebenen Schnitte um das Volumen herum gezeichnet. Lautet er „ false “, werden keine Schnittrahmen gezeichnet. Das Zeichnen von Schnittrahmen erfolgt unabhängig vom Zeichnen der Schnitte, sodass Sie das gesamte Volumen anzeigen und dennoch die Schnittrahmen darum herum zeichnen können. Der Standardwert ist „ false “.

Siehe auch „ sliceIndexX“ , „ sliceIndexY “, „ sliceIndexZ “ und „ drawSlices “.

drawSlices : bool

Wenn dieser Eigenschaftswert auf „ true “ gesetzt ist, werden anstelle des gesamten Volumens die durch die Schnittindex-Eigenschaften angegebenen Schnitte gezeichnet. Bei „ false “ wird immer das gesamte Volumen gezeichnet. Der Standardwert ist „ false “.

Hinweis: Die Schnitte werden immer entlang der Achsen des Elements gezeichnet. Wenn das Element also gedreht wird, werden auch die Schnitte gedreht.

Siehe auch „ sliceIndexX “, „ sliceIndexY “ und „ sliceIndexZ “.

preserveOpacity : bool

Wenn dieser Eigenschaftswert auf „ true “ gesetzt ist, wird „ alphaMultiplier “ nur auf Texel angewendet, die bereits eine gewisse Transparenz aufweisen. Ist der Wert auf „ false “ gesetzt, wird der Multiplikator auf den Alpha-Wert aller Texel angewendet. Die Standardeinstellung ist „ true “.

Siehe auch alphaMultiplier.

sliceFrameColor : color

Die Farbe des Schnittbildrahmens. Transparente Schnittbildrahmenfarben werden nicht unterstützt.

Standardmäßig ist die Farbe Schwarz.

Siehe auch „ drawSliceFrames “.

sliceFrameGaps : vector3d

Die Größe des Luftspalts, der in jeder Dimension zwischen dem Volumen selbst und dem Rahmen verbleibt. Der Spalt kann in den verschiedenen Dimensionen unterschiedlich groß sein. Die Werte sind Bruchteile der Volumendicke in derselben Dimension. Die Werte dürfen nicht negativ sein.

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 dürfen nicht negativ sein.

Standardwert ist „ vector3d(0.01, 0.01, 0.01) “.

Siehe auch „ drawSliceFrames “.

sliceFrameWidths : vector3d

Die Breiten der Schnittlinien. Die Breite kann je nach Dimension unterschiedlich sein, sodass Sie beispielsweise die Darstellung der Schnittlinien an bestimmten Seiten des Volumens unterlassen können, indem Sie den Wert für die jeweilige Dimension auf Null setzen. Die Werte sind Bruchteile der Volumendicke in derselben Dimension. Die Werte dürfen nicht negativ sein.

Standardwert ist „ vector3d(0.01, 0.01, 0.01) “.

Siehe auch „ drawSliceFrames “.

sliceIndexX : int

Der x-Dimensionsindex in den Texturdaten, der angibt, welcher vertikale Schnitt angezeigt werden soll. Wird eine Dimension auf einen negativen Wert gesetzt, wird kein Schnitt bzw. kein Schnittrahmen für diese Dimension gezeichnet. Sind alle Dimensionen negativ, werden keine Schnitte oder Schnittrahmen gezeichnet und das Volumen wird normal dargestellt. Der Standardwert ist „ -1 “.

Siehe auch QCustom3DVolume::textureData, drawSlices und drawSliceFrames.

sliceIndexY : int

Der y-Dimensionsindex in den Texturdaten, der angibt, welche horizontale Schnittfläche angezeigt werden soll. Wird eine Dimension auf einen negativen Wert gesetzt, wird für diese Dimension keine Schnittfläche oder kein Schnittflächenrahmen gezeichnet. Sind alle Dimensionen negativ, werden keine Schnittflächen oder Schnittflächenrahmen gezeichnet und das Volumen wird normal dargestellt. Der Standardwert ist „ -1 “.

Siehe auch QCustom3DVolume::textureData, drawSlices und drawSliceFrames.

sliceIndexZ : int

Der z-Dimensionsindex in den Texturdaten, der angibt, welcher vertikale Schnitt angezeigt werden soll. Wird eine Dimension auf einen negativen Wert gesetzt, wird für diese Dimension kein Schnitt oder Schnittrahmen gezeichnet. Sind alle Dimensionen negativ, werden keine Schnitte oder Schnittrahmen gezeichnet und das Volumen wird normal dargestellt. Der Standardwert ist „ -1 “.

Siehe auch QCustom3DVolume::textureData, drawSlices und drawSliceFrames.

textureDepth : int

Die Tiefe der 3D-Textur, die den Volumengehalt in Pixeln definiert. Der Standardwert ist „ 0 “.

Hinweis: Eine Änderung dieser Eigenschaft über QML wird nicht unterstützt, da die Texturdaten nicht entsprechend angepasst werden können.

textureHeight : int

Die Höhe der 3D-Textur, die den Volumeninhalt in Pixeln definiert. Der Standardwert lautet „ 0 “.

Hinweis: Eine Änderung dieser Eigenschaft über QML wird nicht unterstützt, da die Texturdaten nicht entsprechend in der Größe angepasst werden können.

textureWidth : int

Die Breite der 3D-Textur, die den Volumeninhalt in Pixeln definiert. Der Standardwert lautet „ 0 “.

Hinweis: Eine Änderung dieser Eigenschaft über QML wird nicht unterstützt, da die Texturdaten nicht entsprechend in der Größe angepasst werden können.

useHighDefShader : bool

Wenn dieser Eigenschaftswert „ true “ lautet, wird zum Rendern des Volumens ein Shader mit hoher Auflösung verwendet. Lautet er „ false “, wird ein Shader mit niedriger Auflösung verwendet.

Der Shader mit hoher Auflösung gewährleistet, dass jedes sichtbare Texel der Volumen-Textur beim Rendern des Volumens abgetastet wird. Der Shader mit niedriger Auflösung rendert nur eine grobe Annäherung an den Inhalt des Volumens, dafür jedoch mit einer deutlich höheren Bildrate. Der Shader mit niedriger Auflösung garantiert nicht, dass jedes Texel der Volumen-Textur abgetastet wird; daher kann es zu Flackern kommen, wenn das Volumen ausgeprägte, dünne Strukturen enthält.

Hinweis: Dieser Wert hat keinen Einfluss auf den Detaillierungsgrad beim Rendern der Schnitte des Volumens.

Standardwert ist „ true “.

Signal-Dokumentation

alphaMultiplierChanged(float mult)

Dieses Signal wird ausgelöst, wenn sich alphaMultiplier in mult ändert.

Hinweis: Der entsprechende Handler lautet onAlphaMultiplierChanged.

drawSliceFramesChanged(bool enabled)

Dieses Signal wird ausgelöst, wenn sich drawSliceFrames in enabled ändert.

Hinweis: Der entsprechende Handler lautet onDrawSliceFramesChanged.

drawSlicesChanged(bool enabled)

Dieses Signal wird ausgelöst, wenn sich „ drawSlices “ in „ enabled “ ändert.

Hinweis: Der entsprechende Handler lautet onDrawSlicesChanged.

preserveOpacityChanged(bool enabled)

Dieses Signal wird ausgelöst, wenn sich „ preserveOpacity “ in „ enabled “ ändert.

Hinweis: Der entsprechende Handler lautet onPreserveOpacityChanged.

sliceFrameColorChanged(color color)

Dieses Signal wird ausgelöst, wenn sich „ sliceFrameColor “ in „ color “ ändert.

Hinweis: Der entsprechende Handler lautet onSliceFrameColorChanged.

sliceFrameGapsChanged(vector3d values)

Dieses Signal wird ausgelöst, wenn sich sliceFrameGaps in values ändert.

Hinweis: Der zugehörige Handler lautet onSliceFrameGapsChanged.

sliceFrameThicknessesChanged(vector3d values)

Dieses Signal wird ausgelöst, wenn sich „ sliceFrameThicknesses “ in „ values “ ändert.

Hinweis: Der zugehörige Handler lautet onSliceFrameThicknessesChanged.

sliceFrameWidthsChanged(vector3d values)

Dieses Signal wird ausgelöst, wenn sich sliceFrameWidths in values ändert.

Hinweis: Der entsprechende Handler lautet „ onSliceFrameWidthsChanged “.

sliceIndexXChanged(int value)

Dieses Signal wird ausgelöst, wenn sich sliceIndexX in value ändert.

Hinweis: Der entsprechende Handler lautet onSliceIndexXChanged.

sliceIndexYChanged(int value)

Dieses Signal wird ausgelöst, wenn sich sliceIndexY in value ändert.

Hinweis: Der zugehörige Handler lautet onSliceIndexYChanged.

sliceIndexZChanged(int value)

Dieses Signal wird ausgelöst, wenn sich „ sliceIndexZ “ in „ value “ ändert.

Hinweis: Der entsprechende Handler lautet onSliceIndexZChanged.

textureDepthChanged(int value)

Dieses Signal wird ausgelöst, wenn sich textureDepth in value ändert.

Hinweis: Der entsprechende Handler lautet onTextureDepthChanged.

textureHeightChanged(int value)

Dieses Signal wird ausgelöst, wenn sich „ textureHeight “ in „ value “ ändert.

Hinweis: Der entsprechende Handler lautet onTextureHeightChanged.

textureWidthChanged(int value)

Dieses Signal wird ausgelöst, wenn sich textureWidth in value ändert.

Hinweis: Der entsprechende Handler lautet onTextureWidthChanged.

useHighDefShaderChanged(bool enabled)

Dieses Signal wird ausgelöst, wenn sich „ useHighDefShader “ in „ enabled “ ändert.

Hinweis: Der zugehörige Handler lautet 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.