AbstractRayCaster QML Type
Eine abstrakte Basisklasse für Ray Casting in 3D-Szenen. Mehr...
Import Statement: | import Qt3D.Render 2.8 |
In C++: | QAbstractRayCaster |
Status: | Deprecated |
Eigenschaften
- filterMode : enumeration
- hits : array
- runMode : enumeration
Detaillierte Beschreibung
AbstractRayCaster ist eine abstrakte Basisklasse für den Strahlenwurf in eine 3D-Szene. AbstractRayCaster kann nicht direkt instanziert werden, sondern nur über seine Unterklassen. QAbstractRayCaster spezifiziert gemeinsame Eigenschaften für alle Ray-Caster, wie z.B. Run-Mode und Layer-Handling, während die eigentlichen Details des Ray-Castings den Unterklassen überlassen werden.
Ray-Casting unterscheidet sich vom Picking (mit ObjectPicker) dadurch, dass es keine Mausereignisse zum Auslösen benötigt.
In der Voreinstellung sind die Instanzen von AbstractRayCaster deaktiviert. Wenn sie aktiviert sind, wird der angegebene Strahl bei jedem Frame auf sich schneidende Objekte getestet. Die Eigenschaft AbstractRayCaster.hits wird mit den Ergebnissen des Strahlen-Castings aktualisiert, auch wenn keine Objekte gefunden werden.
Die Qt3D.Render::PickingSettings können verwendet werden, um das Ray-Casting zu steuern, z.B. welche Primitive getestet werden und wie die Ergebnisse zurückgegeben werden.
Darüber hinaus können Qt3D.Render::Layer-Komponenten verwendet werden, um zu steuern, wie Entitäten oder Untergraphen von Entitäten auf das Ray-Casting reagieren.
Hinweis: Von AbstractRayCaster abgeleitete Komponenten sollten nicht von mehreren Entitäten gemeinsam genutzt werden.
Siehe auch Qt3D.Render::RayCaster, Qt3D.Render::ScreenRayCaster, Qt3D.Render::ObjectPicker, Qt3D.Render::PickingSettings, und Qt3D.Render::NoPicking.
Eigenschaft Dokumentation
filterMode : enumeration |
Enthält den Filtermodus, der angibt, welche Entitäten für Ray-Casting-Tests ausgewählt werden sollen.
Der Standardwert ist AbstractRayCaster.AcceptMatchingLayers
.
Konstante | Beschreibung |
---|---|
AcceptAnyMatchingLayers | Akzeptiert Entitäten, die auf ein oder mehrere Layer Objekte verweisen, die zu diesem AbstractRayCaster hinzugefügt wurden. Dies ist der Standardwert |
AcceptAllMatchingLayers | Akzeptiere Entitäten, die auf alle Layer Objekte verweisen, die zu dieser Seite hinzugefügt wurden. AbstractRayCaster |
DiscardAnyMatchingLayers | Verwirft Entitäten, die auf ein oder mehrere Layer Objekte verweisen, die zu dieser Seite hinzugefügt wurden. AbstractRayCaster |
DiscardAllMatchingLayers | Verwerfen von Objekten, die auf alle Layer Objekte verweisen, die diesem Objekt hinzugefügt wurden AbstractRayCaster |
hits : array |
Enthält die Ergebnisse des letzten Ray-Casting-Tests in Form eines Arrays von Javascript-Objekten. Die Felder auf die Objekte definiert sind unten definiert.
{ type // enum value of RayCasterHit.HitType entity // entity that was intersected distance // distance from ray origin to intersection localIntersection.x: // coordinate of intersection in the entity's coordinate system localIntersection.y localIntersection.z worldIntersection.x // coordinate of intersection in the model's coordinate system worldIntersection.y worldIntersection.z primitiveIndex // index of the primitive (triangle, line, point) that was intersected; // (undefined if the picking mode is set to bounding volume) vertex1Index // index of the first point of the triangle or line that was intersected // (undefined if the picking mode is set to bounding volume or points) vertex2Index // index of the second point of the triangle or line that was intersected // (undefined if the picking mode is set to bounding volume or points) vertex3Index // index of the second point of the triangle that was intersected // (undefined if the picking mode is set to bounding volume, points or lines) }
Beachten Sie, dass selbst wenn aufeinanderfolgende Tests genau die gleichen Ergebnisse (oder leere Ergebnisse) zurückgeben, wird eine Änderungsmeldung bei jedem Test ausgegeben werden.
runMode : enumeration |
Enthält den Ausführungsmodus, der steuert, wie oft Ray-Casting-Tests durchgeführt werden.
Konstante | Beschreibung |
---|---|
Continuous | Ray Casting wird bei jedem Frame durchgeführt, solange die Komponente aktiviert ist. |
SingleShot | Das Ray-Casting wird einmal durchgeführt, dann schaltet sich die Komponente ab. Dies ist die Voreinstellung |
© 2025 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.