QCustom3DVolume Class
Die Klasse „QCustom3DVolume“ fügt einem Diagramm ein volumengeneriertes Objekt hinzu. Mehr...
| Header: | #include <QCustom3DVolume> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS DataVisualization) target_link_libraries(mytarget PRIVATE Qt6::DataVisualization) |
| qmake: | QT += datavisualization |
| Seit: | QtDataVisualization 1.2 |
| In QML: | Custom3DVolume |
| Erbt von: | QCustom3DItem |
| Status: | Veraltet |
Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.
Eigenschaften
|
|
Öffentliche Funktionen
| QCustom3DVolume(QObject *parent = nullptr) | |
| QCustom3DVolume(const QVector3D &position, const QVector3D &scaling, const QQuaternion &rotation, int textureWidth, int textureHeight, int textureDepth, QList<uchar> *textureData, QImage::Format textureFormat, const QList<QRgb> &colorTable, QObject *parent = nullptr) | |
| virtual | ~QCustom3DVolume() |
| float | alphaMultiplier() const |
| QList<QRgb> | colorTable() const |
| QList<uchar> * | createTextureData(const QList<QImage *> &images) |
| bool | drawSliceFrames() const |
| bool | drawSlices() const |
| bool | preserveOpacity() const |
| QImage | renderSlice(Qt::Axis axis, int index) |
| void | setAlphaMultiplier(float mult) |
| void | setColorTable(const QList<QRgb> &colors) |
| void | setDrawSliceFrames(bool enable) |
| void | setDrawSlices(bool enable) |
| void | setPreserveOpacity(bool enable) |
| void | setSliceFrameColor(const QColor &color) |
| void | setSliceFrameGaps(const QVector3D &values) |
| void | setSliceFrameThicknesses(const QVector3D &values) |
| void | setSliceFrameWidths(const QVector3D &values) |
| void | setSliceIndexX(int value) |
| void | setSliceIndexY(int value) |
| void | setSliceIndexZ(int value) |
| void | setSliceIndices(int x, int y, int z) |
| void | setSubTextureData(Qt::Axis axis, int index, const QImage &image) |
| void | setSubTextureData(Qt::Axis axis, int index, const uchar *data) |
| void | setTextureData(QList<uchar> *data) |
| void | setTextureDepth(int value) |
| void | setTextureDimensions(int width, int height, int depth) |
| void | setTextureFormat(QImage::Format format) |
| void | setTextureHeight(int value) |
| void | setTextureWidth(int value) |
| void | setUseHighDefShader(bool enable) |
| QColor | sliceFrameColor() const |
| QVector3D | sliceFrameGaps() const |
| QVector3D | sliceFrameThicknesses() const |
| QVector3D | sliceFrameWidths() const |
| int | sliceIndexX() const |
| int | sliceIndexY() const |
| int | sliceIndexZ() const |
| QList<uchar> * | textureData() const |
| int | textureDataWidth() const |
| int | textureDepth() const |
| QImage::Format | textureFormat() const |
| int | textureHeight() const |
| int | textureWidth() const |
| bool | useHighDefShader() const |
Signale
| void | alphaMultiplierChanged(float mult) |
| void | colorTableChanged() |
| void | drawSliceFramesChanged(bool enabled) |
| void | drawSlicesChanged(bool enabled) |
| void | preserveOpacityChanged(bool enabled) |
| void | sliceFrameColorChanged(const QColor &color) |
| void | sliceFrameGapsChanged(const QVector3D &values) |
| void | sliceFrameThicknessesChanged(const QVector3D &values) |
| void | sliceFrameWidthsChanged(const QVector3D &values) |
| void | sliceIndexXChanged(int value) |
| void | sliceIndexYChanged(int value) |
| void | sliceIndexZChanged(int value) |
| void | textureDataChanged(QList<uchar> *data) |
| void | textureDepthChanged(int value) |
| void | textureFormatChanged(QImage::Format format) |
| void | textureHeightChanged(int value) |
| void | textureWidthChanged(int value) |
| void | useHighDefShaderChanged(bool enabled) |
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 leistungsintensiv, 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 Zoomfaktors 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 Betracht ziehen, den High-Definition-Shader zu deaktivieren, indem Sie die Eigenschaft „ useHighDefShader “ auf „ false “ setzen.
Hinweis: Volumetrische Objekte werden nur bei orthogonaler Projektion unterstützt.
Hinweis: Volumetrische Objekte verwenden 3D-Texturen, die in OpenGL ES2-Umgebungen nicht unterstützt werden.
Siehe auch „ QAbstract3DGraph::addCustomItem()“, „ QAbstract3DGraph::orthoProjection “ und „ useHighDefShader “.
Dokumentation zu den Eigenschaften
alphaMultiplier : float
Diese Eigenschaft enthält den Wert, mit dem der Alpha-Wert jedes Texels der Volumen-Textur zum Zeitpunkt des Renderings multipliziert wird.
Diese Eigenschaft kann verwendet 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.0f “.
Zugriffsfunktionen:
| float | alphaMultiplier() const |
| void | setAlphaMultiplier(float mult) |
Benachrichtigungssignal:
| void | alphaMultiplierChanged(float mult) |
Siehe auch preserveOpacity und textureData.
colorTable : QList<QRgb>
Diese Eigenschaft enthält das Array mit den Farben für indizierte Texturformate.
Wenn es sich nicht um ein indiziertes Texturformat handelt, wird dieses Array nicht verwendet und kann leer sein.
Der Standardwert ist „ 0 “.
Zugriffsfunktionen:
| QList<QRgb> | colorTable() const |
| void | setColorTable(const QList<QRgb> &colors) |
Benachrichtigungssignal:
| void | colorTableChanged() |
Siehe auch „ textureData“ , „ setTextureFormat()“ und „ QImage::colorTable()“.
drawSliceFrames : bool
Diese Eigenschaft legt fest, ob um das Volumen herum Schnittrahmen gezeichnet werden.
Wenn der Wert dieser Eigenschaft „ 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 ist unabhängig vom Zeichnen der Schnitte, sodass Sie das gesamte Volumen anzeigen und dennoch die Schnittrahmen darum herum zeichnen können. Dies ist nützlich, wenn Sie mit ` renderSlice()` die Schnitte außerhalb der Grafik selbst anzeigen.
Standardwert ist ` false`.
Zugriffsfunktionen:
| bool | drawSliceFrames() const |
| void | setDrawSliceFrames(bool enable) |
Notifier-Signal:
| void | drawSliceFramesChanged(bool enabled) |
Siehe auch ` sliceIndexX`, ` sliceIndexY`, ` sliceIndexZ`, ` drawSlices` und ` renderSlice()`.
drawSlices : bool
Diese Eigenschaft legt fest, ob anstelle des gesamten Volumens die angegebenen Schnitte gezeichnet werden.
Wenn der Wert dieser Eigenschaft „ true “ lautet, werden anstelle des gesamten Volumens die durch die Schnittindex-Eigenschaften angegebenen Schnitte gezeichnet. Lautet der Wert „ 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.
Zugriffsfunktionen:
| bool | drawSlices() const |
| void | setDrawSlices(bool enable) |
Benachrichtigungssignal:
| void | drawSlicesChanged(bool enabled) |
Siehe auch „ sliceIndexX “, „ sliceIndexY “ und „ sliceIndexZ “.
preserveOpacity : bool
Diese Eigenschaft legt fest, ob der Alpha-Multiplikator auf alle Texel angewendet wird.
Wenn dieser Eigenschaftswert „ true “ lautet, wird „ alphaMultiplier “ nur auf Texel angewendet, die bereits eine gewisse Transparenz aufweisen. Lautet er „ false “, wird der Multiplikator auf den Alpha-Wert aller Texel angewendet. Der Standardwert ist „ true “.
Zugriffsfunktionen:
| bool | preserveOpacity() const |
| void | setPreserveOpacity(bool enable) |
Benachrichtigungssignal:
| void | preserveOpacityChanged(bool enabled) |
Siehe auch alphaMultiplier.
sliceFrameColor : QColor
Diese Eigenschaft legt die Farbe des Schnittrahmens fest.
Transparente Slice-Rahmenfarben werden nicht unterstützt.
Standardmäßig ist die Farbe Schwarz.
Zugriffsfunktionen:
| QColor | sliceFrameColor() const |
| void | setSliceFrameColor(const QColor &color) |
Benachrichtigungssignal:
| void | sliceFrameColorChanged(const QColor &color) |
Siehe auch „ drawSliceFrames “.
sliceFrameGaps : QVector3D
Diese Eigenschaft gibt die Größe des Luftspalts an, 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: QVector3D(0.01, 0.01, 0.01).
Zugriffsfunktionen:
| QVector3D | sliceFrameGaps() const |
| void | setSliceFrameGaps(const QVector3D &values) |
Benachrichtigungssignal:
| void | sliceFrameGapsChanged(const QVector3D &values) |
Siehe auch „ drawSliceFrames “.
sliceFrameThicknesses : QVector3D
Diese Eigenschaft enthält die Dicke der Schnittrahmen für jede Dimension.
Die Werte sind Bruchteile der Volumendicke in derselben Dimension. Die Werte dürfen nicht negativ sein.
Standardwert ist „ QVector3D(0.01, 0.01, 0.01) “.
Zugriffsfunktionen:
| QVector3D | sliceFrameThicknesses() const |
| void | setSliceFrameThicknesses(const QVector3D &values) |
Benachrichtigungssignal:
| void | sliceFrameThicknessesChanged(const QVector3D &values) |
Siehe auch „ drawSliceFrames “.
sliceFrameWidths : QVector3D
Diese Eigenschaft gibt die Breite des Schnittrahmens an.
Die Breite kann je nach Dimension unterschiedlich sein, sodass Sie beispielsweise das Zeichnen der Rahmen an bestimmten Seiten des Volumens unterlassen können, indem Sie den Wert für diese Dimension auf Null setzen. Die Werte sind Bruchteile der Volumendicke in derselben Dimension. Die Werte dürfen nicht negativ sein.
Standardwert: QVector3D(0.01, 0.01, 0.01).
Zugriffsfunktionen:
| QVector3D | sliceFrameWidths() const |
| void | setSliceFrameWidths(const QVector3D &values) |
Benachrichtigungssignal:
| void | sliceFrameWidthsChanged(const QVector3D &values) |
Siehe auch drawSliceFrames.
sliceIndexX : int
Diese Eigenschaft enthält den x-Dimensionsindex in den Texturdaten, der angibt, welcher vertikale Schnitt angezeigt werden soll.
Wird eine Dimension auf einen negativen Wert gesetzt, bedeutet dies, dass für diese Dimension kein Schnitt oder Schnittrahmen gezeichnet wird. Sind alle Dimensionen negativ, werden keine Schnitte oder Schnittrahmen gezeichnet und das Volumen wird normal dargestellt.
Standardwert ist „ -1 “.
Zugriffsfunktionen:
| int | sliceIndexX() const |
| void | setSliceIndexX(int value) |
Benachrichtigungssignal:
| void | sliceIndexXChanged(int value) |
Siehe auch „ textureData “, „ drawSlices “ und „ drawSliceFrames “.
sliceIndexY : int
Diese Eigenschaft enthält den y-Dimensionsindex in den Texturdaten, der angibt, welche horizontale Scheibe angezeigt werden soll.
Wird eine Dimension auf einen negativen Wert gesetzt, bedeutet dies, dass für diese Dimension kein Schnitt oder Schnittrahmen gezeichnet wird. Sind alle Dimensionen negativ, werden keine Schnitte oder Schnittrahmen gezeichnet und das Volumen wird normal dargestellt.
Standardwert ist „ -1 “.
Zugriffsfunktionen:
| int | sliceIndexY() const |
| void | setSliceIndexY(int value) |
Benachrichtigungssignal:
| void | sliceIndexYChanged(int value) |
Siehe auch „ textureData “, „ drawSlices “ und „ drawSliceFrames “.
sliceIndexZ : int
Diese Eigenschaft enthält den Z-Dimension-Index in den Texturdaten, der angibt, welcher vertikale Schnitt angezeigt werden soll.
Wird eine Dimension auf einen negativen Wert gesetzt, bedeutet dies, dass für diese Dimension kein Schnitt oder Schnittrahmen gezeichnet wird. Sind alle Dimensionen negativ, werden keine Schnitte oder Schnittrahmen gezeichnet und das Volumen wird normal dargestellt.
Standardwert ist „ -1 “.
Zugriffsfunktionen:
| int | sliceIndexZ() const |
| void | setSliceIndexZ(int value) |
Benachrichtigungssignal:
| void | sliceIndexZChanged(int value) |
Siehe auch „ textureData “, „ drawSlices “ und „ drawSliceFrames “.
textureData : QList<uchar>*
Diese Eigenschaft enthält das Array mit den Texturdaten in dem unter textureFormat angegebenen Format.
Die Größe dieses Arrays muss mindestens (textureDataWidth * textureHeight * textureDepth * texture format color depth in bytes) betragen.
Eine 3D-Textur wird durch einen Stapel von 2D-Teiltexturen definiert. Jede Teiltextur muss dieselbe Größe haben (textureDataWidth * textureHeight), und die Tiefe des Stapels wird durch die Eigenschaft „ textureDepth “ definiert. Die Daten in jeder 2D-Textur entsprechen den Daten von „ QImage “ mit demselben Format, sodass „ QImage::bits()“ verwendet werden kann, um die Daten für jede Teiltextur bereitzustellen.
Die Eigentumsrechte am neuen Array gehen auf die Instanz „ QCustom3DVolume “ über. Wird ein anderes Array festgelegt, wird das vorherige Array gelöscht. Wird dasselbe Array erneut festgelegt, wird davon ausgegangen, dass der Inhalt des Arrays geändert wurde, und die Grafikdarstellung wird ausgelöst.
Hinweis: Jede Zeile der Daten in der x-Dimension muss 32-Bit-ausgerichtet sein. Wenn ` textureFormat ` auf ` QImage::Format_Indexed8 ` gesetzt ist und der Wert von ` textureWidth ` nicht durch vier teilbar ist, müssen möglicherweise Füllbytes zu jeder Zeile in der x-Dimension von ` data` hinzugefügt werden. Die Funktion ` textureDataWidth()` gibt die Anzahl der Füllbytes zurück. Die Auffüllbytes sollten eine vollständig transparente Farbe angeben, um Darstellungsartefakte zu vermeiden.
Standardwert ist „ 0 “.
Zugriffsfunktionen:
| QList<uchar> * | textureData() const |
| void | setTextureData(QList<uchar> *data) |
Benachrichtigungssignal:
| void | textureDataChanged(QList<uchar> *data) |
Siehe auch „ colorTable“ , „ setTextureFormat()“, „ setSubTextureData()“ und „ textureDataWidth()“.
textureDepth : int
Diese Eigenschaft gibt die Tiefe der 3D-Textur an, die den Voluminhalt in Pixeln definiert.
Standardwert ist „ 0 “.
Hinweis: Der Wert „ textureData “ muss möglicherweise angepasst oder neu erstellt werden, wenn dieser Wert geändert wird. Der Standardwert lautet „ 0 “.
Zugriffsfunktionen:
| int | textureDepth() const |
| void | setTextureDepth(int value) |
Benachrichtigungssignal:
| void | textureDepthChanged(int value) |
Siehe auch „ textureData“ , „ textureWidth “, „ textureHeight “ und „ setTextureFormat()“.
textureHeight : int
Diese Eigenschaft enthält die Höhe der 3D-Textur, die den Volumengehalt in Pixeln definiert.
Standardwert ist „ 0 “.
Hinweis: Der Wert „ textureData “ muss möglicherweise angepasst oder neu erstellt werden, wenn dieser Wert geändert wird. Der Standardwert lautet „ 0 “.
Zugriffsfunktionen:
| int | textureHeight() const |
| void | setTextureHeight(int value) |
Benachrichtigungssignal:
| void | textureHeightChanged(int value) |
Siehe auch „ textureData“ , „ textureWidth “, „ textureDepth “ und „ setTextureFormat()“.
textureWidth : int
Diese Eigenschaft enthält die Breite der 3D-Textur, die den Volumengehalt in Pixeln definiert.
Standardwert ist „ 0 “.
Hinweis: Der Wert „ textureData “ muss möglicherweise angepasst oder neu erstellt werden, wenn dieser Wert geändert wird. Standardwert ist „ 0 “.
Zugriffsfunktionen:
| int | textureWidth() const |
| void | setTextureWidth(int value) |
Benachrichtigungssignal:
| void | textureWidthChanged(int value) |
Siehe auch ` textureData`, ` textureHeight`, ` textureDepth`, ` setTextureFormat()` und ` textureDataWidth()`.
useHighDefShader : bool
Diese Eigenschaft legt fest, ob zum Rendern des Volumens ein Shader mit hoher oder niedriger Auflösung verwendet wird.
Wenn der Wert dieser Eigenschaft „ true “ lautet, wird ein Shader mit hoher Auflösung verwendet. Lautet er „ false “, wird ein Shader mit niedriger Auflösung verwendet.
Der hochauflösende Shader 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 Volumentextur abgetastet wird, sodass es zu Flackern kommen kann, wenn das Volumen ausgeprägte, dünne Strukturen enthält.
Hinweis: Dieser Wert hat keinen Einfluss auf den Detaillierungsgrad beim Rendern der Schichten des Volumens.
Standardwert ist „ true “.
Zugriffsfunktionen:
| bool | useHighDefShader() const |
| void | setUseHighDefShader(bool enable) |
Benachrichtigungssignal:
| void | useHighDefShaderChanged(bool enabled) |
Siehe auch ` renderSlice()`.
Dokumentation zu den Mitgliedsfunktionen
[explicit] QCustom3DVolume::QCustom3DVolume(QObject *parent = nullptr)
Erstellt ein benutzerdefiniertes 3D-Volumen mit dem angegebenen „ parent “.
[explicit] QCustom3DVolume::QCustom3DVolume(const QVector3D &position, const QVector3D &scaling, const QQuaternion &rotation, int textureWidth, int textureHeight, int textureDepth, QList<uchar> *textureData, QImage::Format textureFormat, const QList<QRgb> &colorTable, QObject *parent = nullptr)
Erstellt ein benutzerdefiniertes 3D-Volumen mit den angegebenen Parametern „ position “, „ scaling “, „ rotation “, „ textureWidth “, „ textureHeight “, „ textureDepth “, „ textureData “, „ textureFormat “, „ colorTable “ und dem optionalen Parameter „ parent “.
Siehe auch textureData, setTextureFormat() und colorTable.
[virtual noexcept] QCustom3DVolume::~QCustom3DVolume()
Löscht das benutzerdefinierte 3D-Volumen.
QList<uchar> *QCustom3DVolume::createTextureData(const QList<QImage *> &images)
Erstellt ein neues Texturdaten-Array aus einem Array von „ images “ und legt dieses als „ textureData “ für dieses Volumenobjekt fest. Die Texturabmessungen werden ebenfalls entsprechend den Bild- und Array-Abmessungen festgelegt. Alle Bilder im Array müssen dieselbe Größe haben. Wenn die Bilder nicht alle im Format „ QImage::Format_Indexed8 “ vorliegen, werden alle Texturdaten in das Format „ QImage::Format_ARGB32 “ konvertiert. Liegen die Bilder im Format „ QImage::Format_Indexed8 “ vor, wird der Wert „ colorTable “ für das gesamte Volumen aus dem ersten Bild übernommen.
Gibt einen Zeiger auf das neu erstellte Array zurück.
Siehe auch „ textureData“ , „ textureWidth “, „ textureHeight “, „ textureDepth “ und „ setTextureFormat()“.
QImage QCustom3DVolume::renderSlice(Qt::Axis axis, int index)
Rendert den durch ` index ` angegebenen Ausschnitt entlang der durch ` axis ` angegebenen Achse in ein Bild. Dabei wird das Texturformat dieses Objekts verwendet.
Gibt das gerenderte Bild des Schnitts zurück oder ein Nullbild, wenn ein ungültiger Index angegeben wurde.
Siehe auch setTextureFormat().
void QCustom3DVolume::setSliceIndices(int x, int y, int z)
Eine Hilfsfunktion zum gleichzeitigen Festlegen aller drei Slice-Indizes (x, y und z).
Siehe auch textureData.
void QCustom3DVolume::setSubTextureData(Qt::Axis axis, int index, const QImage &image)
Legt eine einzelne 2D-Teiltextur der 3D-Textur entlang der angegebenen „ axis “ des Volumens fest. Der Parameter „ index “ gibt die einzustellende Teiltextur an. Die Quell image muss in dem durch die Eigenschaft „ textureFormat “ festgelegten Format vorliegen, wenn „ textureFormat “ indiziert ist. Wenn „ textureFormat “ auf „ QImage::Format_ARGB32 “ gesetzt ist, wird das Bild in dieses Format konvertiert. Das Bild muss die Größe des Querschnitts der Volumentextur entlang der angegebenen Achse haben. Die Ausrichtung des Bildes sollte der Ausrichtung des Schnittbildes entsprechen, das durch die Methode „ renderSlice()“ entlang derselben Achse erzeugt wird.
Hinweis: Jede Zeile in x-Richtung der Daten muss 32-Bit-ausgerichtet sein, wenn die y- oder z-Achse als Zielachse gewählt wird. Wenn textureFormat auf QImage::Format_Indexed8 gesetzt ist und der Wert von textureWidth nicht durch vier teilbar ist, müssen möglicherweise Füllbytes zu jeder Zeile in x-Richtung des Bildes hinzugefügt werden, um es korrekt auszurichten. Die Auffüllbytes sollten eine vollständig transparente Farbe anzeigen, um Rendering-Artefakte zu vermeiden. Es ist nicht garantiert, dass „ QImage “ dies automatisch durchführt.
Siehe auch textureData und renderSlice().
void QCustom3DVolume::setSubTextureData(Qt::Axis axis, int index, const uchar *data)
Legt eine einzelne 2D-Teilstruktur der 3D-Textur entlang der angegebenen „ axis “ des Volumens fest. Der Parameter „ index “ gibt die festzulegende Teilstruktur an. Die Textur „ data “ muss das durch die Eigenschaft „ textureFormat “ angegebene Format aufweisen und die Größe des Querschnitts der Volumentextur entlang der angegebenen Achse, multipliziert mit der Farbtiefe des Texturformats in Byte, haben. Es wird erwartet, dass die „ data “ ähnlich angeordnet sind wie die Daten in Bildern, die mit der Methode „ renderSlice()“ entlang derselben Achse erzeugt wurden.
Hinweis: Jede Zeile der Daten in der x-Dimension muss 32-Bit-ausgerichtet sein, wenn die y- oder z-Achse als Zielachse dient. Wenn „ textureFormat “ auf „ QImage::Format_Indexed8 “ gesetzt ist und der Wert von „ textureWidth “ nicht durch vier teilbar ist, müssen möglicherweise Füllbytes zu jeder Zeile der Daten in der x-Dimension des „ data “ hinzugefügt werden, um diese korrekt auszurichten. Die Auffüllbytes sollten eine vollständig transparente Farbe angeben, um Rendering-Artefakte zu vermeiden.
Siehe auch textureData und renderSlice().
void QCustom3DVolume::setTextureDimensions(int width, int height, int depth)
Eine Hilfsfunktion zum gleichzeitigen Festlegen aller drei Texturdimensionen (width, height und depth).
Siehe auch textureData.
void QCustom3DVolume::setTextureFormat(QImage::Format format)
Legt das Format der Eigenschaft „ textureData “ auf „ format “ fest. Derzeit werden nur zwei Formate unterstützt: „ QImage::Format_Indexed8 “ und „ QImage::Format_ARGB32 “. Wenn ein indiziertes Format angegeben wird, muss auch „ colorTable “ festgelegt werden. Der Standardwert ist „ QImage::Format_ARGB32 “.
Siehe auch textureFormat(), colorTable und textureData.
int QCustom3DVolume::textureDataWidth() const
Gibt die tatsächliche Breite der Texturdaten zurück. Wenn das Texturformat „ QImage::Format_Indexed8 “ ist, entspricht dieser Wert dem Wert „ textureWidth “, ausgerichtet auf eine 32-Bit-Grenze. Andernfalls entspricht dieser Wert dem Vierfachen von „ textureWidth “.
QImage::Format QCustom3DVolume::textureFormat() const
Gibt das Format des Wertes der Eigenschaft „ textureData “ zurück.
Siehe auch „ setTextureFormat()“.
[signal] void QCustom3DVolume::textureFormatChanged(QImage::Format format)
Dieses Signal wird ausgegeben, wenn sich der Wert „ format “ von „ textureData “ ändert.
Siehe auch setTextureFormat().
© 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.