Custom3DItem QML Type
Fügt einem Diagramm ein benutzerdefiniertes Element hinzu. Mehr...
| Import Statement: | import QtGraphs |
| In C++: | QCustom3DItem |
| Inherited By: |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- „Custom3DItem“ ist Teil der „Qt Graphs “-QML-Typen für 3D.
Eigenschaften
- meshFile : string
- position : vector3d
- positionAbsolute : bool
- rotation : quaternion
- rotationAbsolute : bool
(since 6.11) - scaling : vector3d
- scalingAbsolute : bool
- shadowCasting : bool
- textureFile : string
- visible : bool
Signale
- meshFileChanged(string meshFile)
- positionAbsoluteChanged(bool positionAbsolute)
- positionChanged(vector3d position)
- rotationChanged(quaternion rotation)
- scalingAbsoluteChanged(bool scalingAbsolute)
- scalingChanged(vector3d scaling)
- shadowCastingChanged(bool shadowCasting)
- textureFileChanged(string textureFile)
- visibleChanged(bool visible)
Methoden
- void setRotationAxisAndAngle(vector3d axis, real angle)
Ausführliche Beschreibung
Ein benutzerdefiniertes Element verfügt über ein benutzerdefiniertes Netz, eine Position, eine Skalierung, eine Rotation und optional eine Textur.
Dokumentation der Eigenschaften
meshFile : string
Der Name der Mesh-Datei des Elements. Das Element in der Datei muss im Mesh-Format vorliegen. Es wird empfohlen, dass die Mesh-Dateien Scheitelpunkte, Normalen und UV-Koordinaten enthalten.
position : vector3d
Die Position des Elements als „ vector3d “. Der Standardwert ist „ vector3d(0.0, 0.0, 0.0) “.
Die Position des Elements wird je nach Wert der Eigenschaft „ positionAbsolute “ entweder in Datenkoordinaten oder in absoluten Koordinaten angegeben. Bei Verwendung absoluter Koordinaten liegen Werte zwischen „ -1.0...1.0 “ innerhalb der Achsenbereiche.
Hinweis: Elemente , die außerhalb eines Achsenbereichs positioniert sind, werden nicht gerendert, wenn „ positionAbsolute “ auf „ false “ gesetzt ist, es sei denn, es handelt sich um ein „ Custom3DVolume “, das teilweise sichtbar wäre, und „ scalingAbsolute “ ist ebenfalls auf „ false “ gesetzt. In diesem Fall wird der sichtbare Teil des Volumens gerendert.
Siehe auch positionAbsolute und scalingAbsolute.
positionAbsolute : bool
Legt fest, ob die Position von Elementen anhand von Datenkoordinaten oder anhand von absoluten Koordinaten behandelt werden soll. Die Standardeinstellung ist „ false “. Elemente mit absoluten Koordinaten werden immer dargestellt, während Elemente mit Datenkoordinaten nur dann dargestellt werden, wenn sie sich innerhalb der Achsenbereiche befinden.
Siehe auch „ position “.
rotation : quaternion
Die Artikelrotation als „ quaternion “. Standardmäßig ist „ quaternion(0.0, 0.0, 0.0, 0.0) “ eingestellt.
rotationAbsolute : bool [since 6.11]
Legt fest, ob die Drehung von Elementen anhand von Datenwerten oder anhand von absoluten Werten erfolgen soll. Die Standardeinstellung ist „ true “. Elemente mit absoluter Drehung werden unabhängig von der Achse anhand der Standardkoordinaten gedreht. Elemente mit datenbasierter Drehung werden entsprechend den Achsenkoordinaten gedreht.
Diese Eigenschaft wurde in Qt 6.11 eingeführt.
Siehe auch „ rotation “.
scaling : vector3d
Die Skalierung des Elements erfolgt als Typ „ vector3d “. Der Standardwert ist „ vector3d(0.1, 0.1, 0.1) “.
Die Skalierung der Elemente wird je nach Wert der Eigenschaft ` scalingAbsolute ` entweder in Datenwerten oder in absoluten Werten angegeben. Der Standardvektor, der als absolute Werte interpretiert wird, legt das Element auf 10 % der Höhe des Diagramms fest, vorausgesetzt, das Elementgitter ist normalisiert und die Seitenverhältnisse des Diagramms wurden nicht gegenüber den Standardwerten geändert.
Hinweis: Für „ Custom3DLabel “-Elemente oder für benutzerdefinierte Elemente, die in „ polar “-Diagrammen verwendet werden, wirdnur die absolute Skalierung unterstützt.
Hinweis: In Qt 6.8 wurde fälschlicherweise angenommen, dass Modelle standardmäßig auf eine Größe von 1 (-0,5…0,5) skaliert werden, obwohl sie in Wirklichkeit auf die Größe 2 (-1…1) skaliert werden. Aus diesem Grund sind alle benutzerdefinierten Elemente ab Qt 6.9 doppelt so groß wie in Qt 6.8
Siehe auch scalingAbsolute.
scalingAbsolute : bool
Legt fest, ob die Skalierung der Elemente anhand von Datenwerten oder anhand absoluter Werte erfolgen soll. Die Standardeinstellung ist „ true “. Elemente mit absoluter Skalierung werden unabhängig von den Achsenbereichen immer in derselben Größe dargestellt. Elemente mit Datenskalierung ändern ihre sichtbare Größe entsprechend den Achsenbereichen. Wenn „ positionAbsolute “ auf „ true “ gesetzt ist, wird diese Eigenschaft ignoriert und die Skalierung als absoluter Wert interpretiert. Wenn das Element gedreht ist, wird die Datenskalierung auf das ungedrehte Element angewendet. Ebenso wird bei Elementen mit „ Custom3DVolume “ die Bereichsbeschneidung auf das ungedrehte Element angewendet.
Hinweis: Für „ Custom3DLabel “-Elemente oder für benutzerdefinierte Elemente, die in „ polar “-Diagrammen verwendet werden, wirdnur die absolute Skalierung unterstützt.
Hinweis: Das Gitter des benutzerdefinierten Elements muss auf den Bereich [-1 ,1] normiert sein, da die Datenskalierung sonst nicht korrekt ist.
Siehe auch „ scaling “ und „ positionAbsolute “.
shadowCasting : bool
Legt fest, ob für das Element Schatten geworfen werden. Die Standardeinstellung ist „ true “. Bei der Einstellung „ false “ wirft das Element keine Schatten, unabhängig von der Einstellung „ ShadowQuality “.
textureFile : string
Der Name der Texturdatei für das Element. Wird dieser nicht festgelegt, wird eine einfarbige graue Textur verwendet.
Hinweis: Um Speicherplatz zu sparen, wird die aus der Datei geladene „ QImage “ gelöscht, sobald eine Textur erstellt wurde.
visible : bool
Die Sichtbarkeit des Elements. Standardwert ist „ true “.
Signal-Dokumentation
meshFileChanged(string meshFile)
Dieses Signal wird ausgelöst, wenn sich meshFile in meshFile ändert.
Hinweis: Der entsprechende Handler lautet onMeshFileChanged.
positionAbsoluteChanged(bool positionAbsolute)
Dieses Signal wird ausgelöst, wenn sich „ positionAbsolute “ in „ positionAbsolute “ ändert.
Hinweis: Der zugehörige Handler lautet onPositionAbsoluteChanged.
positionChanged(vector3d position)
Dieses Signal wird ausgelöst, wenn sich der Wert von „ position “ auf „ position “ ändert.
Hinweis: Der zugehörige Handler lautet „ onPositionChanged “.
rotationChanged(quaternion rotation)
Dieses Signal wird ausgelöst, wenn sich rotation in rotation ändert.
Hinweis: Der zugehörige Handler lautet onRotationChanged.
scalingAbsoluteChanged(bool scalingAbsolute)
Dieses Signal wird ausgelöst, wenn sich „ scalingAbsolute “ in „ scalingAbsolute “ ändert.
Hinweis: Der zugehörige Handler lautet onScalingAbsoluteChanged.
scalingChanged(vector3d scaling)
Dieses Signal wird ausgelöst, wenn sich scaling in scaling ändert.
Hinweis: Der entsprechende Handler lautet onScalingChanged.
shadowCastingChanged(bool shadowCasting)
Dieses Signal wird ausgelöst, wenn sich shadowCasting in shadowCasting ändert.
Hinweis: Der entsprechende Handler lautet onShadowCastingChanged.
textureFileChanged(string textureFile)
Dieses Signal wird ausgelöst, wenn sich textureFile in textureFile ändert.
Hinweis: Der zugehörige Handler lautet onTextureFileChanged.
visibleChanged(bool visible)
Dieses Signal wird ausgelöst, wenn sich visible in visible ändert.
Hinweis: Der entsprechende Handler ist onVisibleChanged.
Methodendokumentation
void setRotationAxisAndAngle(vector3d axis, real angle)
Eine Hilfsfunktion zur Erzeugung des Rotationsquaternions anhand von axis und angle.
Siehe auch rotation.
© 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.