AbstractRayCaster QML Type
Eine abstrakte Basisklasse für Raycasting in 3D-Szenen. Mehr...
| Import Statement: | import Qt3D.Render 2.12 |
| In C++: | QAbstractRayCaster |
| Status: | Deprecated |
Dieser Typ ist veraltet. Wir raten dringend davon ab, ihn in neuem Code zu verwenden.
Eigenschaften
- filterMode : enumeration
- hits : array
- runMode : enumeration
Ausführliche Beschreibung
AbstractRayCaster ist eine abstrakte Basisklasse für das Abwerfen von Strahlen in einer 3D-Szene. AbstractRayCaster kann nicht direkt instanziiert werden, sondern nur über seine Unterklassen. QAbstractRayCaster legt gemeinsame Eigenschaften für alle Raycaster fest, wie z. B. den Ausführungsmodus und die Ebenenbehandlung, während die tatsächlichen Details des Raycastings den Unterklassen überlassen bleiben.
Das Raycasting unterscheidet sich vom Picking (unter Verwendung von ` ObjectPicker`) dadurch, dass es keine Mausereignisse zur Auslösung benötigt.
Standardmäßig sind die Instanzen von `AbstractRayCaster` deaktiviert. Bei Aktivierung wird der angegebene Strahl in jedem Frame auf sich überschneidende Objekte geprüft. Die Eigenschaft `AbstractRayCaster.hits` wird mit den Ergebnissen der Strahlverfolgung aktualisiert, auch wenn keine Objekte gefunden werden.
Mit Qt3D.Render::PickingSettings lässt sich der Raycasting-Vorgang steuern, z. B. welche Primitive geprüft 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 Entitäts-Teilgraphen auf das Raycasting 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.
Dokumentation der Eigenschaften
filterMode : enumeration
Enthält den Filtermodus, der festlegt, 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 diesem „ AbstractRayCaster “ hinzugefügt wurden. Dies ist die Standardeinstellung |
AcceptAllMatchingLayers | Entitäten akzeptieren, die auf alle „ Layer “-Objekte verweisen, die diesem hinzugefügt wurden AbstractRayCaster |
DiscardAnyMatchingLayers | Entitäten verwerfen, die auf ein oder mehrere „ Layer “-Objekte verweisen, die zu diesem hinzugefügt wurden AbstractRayCaster |
DiscardAllMatchingLayers | Entitäten verwerfen, die auf alle zu diesem hinzugefügten „ Layer “-Objekte verweisen AbstractRayCaster |
hits : array [read-only]
Speichert die Ergebnisse des letzten Ray-Casting-Tests als Array von JavaScript-Objekten. Die in den Objekten definierten Felder sind im Folgenden beschrieben.
{
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 auch dann, wenn aufeinanderfolgende Tests genau dieselben Ergebnisse (oder leere Ergebnisse) zurückgeben, bei jedem Test eine Änderungsbenachrichtigung ausgegeben wird.
runMode : enumeration
Legt den Ausführungsmodus fest, der bestimmt, 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 | Ray Casting wird einmal ausgeführt, danach deaktiviert sich die Komponente. Dies ist die Standardeinstellung. |
© 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.