From 30a90c4be7044cfe9c7b46b39404e56c60941750 Mon Sep 17 00:00:00 2001
From: Percen <21pesi1bif@hft-stuttgart.de>
Date: Sat, 14 Dec 2024 15:32:48 +0000
Subject: [PATCH] Update public/index.html

---
 public/index.html | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/public/index.html b/public/index.html
index 9a7a476..1582b18 100644
--- a/public/index.html
+++ b/public/index.html
@@ -30,6 +30,8 @@
     let currentModel = null;
     let scene;
     let camera;
+    let hitTestSource;
+    let hitTestResults = [];
 
     async function activateXR() {
       const canvas = document.createElement('canvas');
@@ -68,7 +70,7 @@
       session.updateRenderState({ baseLayer: new XRWebGLLayer(session, gl) });
       const referenceSpace = await session.requestReferenceSpace('local');
       const viewerSpace = await session.requestReferenceSpace('viewer');
-      const hitTestSource = await session.requestHitTestSource({ space: viewerSpace });
+      hitTestSource = await session.requestHitTestSource({ space: viewerSpace });
 
       session.requestAnimationFrame(onXRFrame);
 
@@ -87,14 +89,14 @@
           camera.projectionMatrix.fromArray(view.projectionMatrix);
           camera.updateMatrixWorld(true);
 
-          const hitTestResults = frame.getHitTestResults(hitTestSource);
+          hitTestResults = frame.getHitTestResults(hitTestSource);
           if (hitTestResults.length > 0) {
             const hitPose = hitTestResults[0].getPose(referenceSpace);
             reticle.visible = true;
             reticle.position.set(hitPose.transform.position.x, hitPose.transform.position.y, hitPose.transform.position.z);
             reticle.updateMatrixWorld(true);
 
-            // Das Modell an die Reticle-Position setzen
+            // Das Modell an der Reticle-Position platzieren
             if (currentModel) {
               currentModel.position.set(hitPose.transform.position.x, hitPose.transform.position.y, hitPose.transform.position.z);
             }
@@ -119,14 +121,11 @@
       startY = event.touches[0].clientY;
     });
 
-    document.body.addEventListener('touchmove', (event) => {
-      // Die Bewegungsposition des Fingers (optional)
-      endX = event.touches[0].clientX;
-      endY = event.touches[0].clientY;
-    });
-
     document.body.addEventListener('touchend', (event) => {
       // Berechne die Distanz in der X- und Y-Richtung
+      endX = event.changedTouches[0].clientX;
+      endY = event.changedTouches[0].clientY;
+
       let deltaX = endX - startX;
       let deltaY = endY - startY;
 
-- 
GitLab