Parcourir la source

Add conversion routines

customisations
alemart il y a 10 mois
Parent
révision
719e495514

+ 45
- 3
plugins/aframe-with-encantar.js Voir le fichier

@@ -38,12 +38,54 @@ const ARBaseSystem = () => ({
38 38
     viewer: null,
39 39
 
40 40
     /**
41
-     * Pointer-based input in the current frame (touch, mouse, pen...)
42
-     * You need a PointerTracker in your session in order to use these
43
-     * @type {TrackablePointer[]}
41
+     * Pointer-based input (current frame)
42
+     * Make sure to add a PointerTracker to your session in order to use these
43
+     * @returns {TrackablePointer[]}
44 44
      */
45 45
     pointers: [],
46 46
 
47
+    /**
48
+     * Convert an AR Vector2 to a THREE Vector2
49
+     * @param {Vector2} v
50
+     * @returns {THREE.Vector2}
51
+     */
52
+    convertVector2(v)
53
+    {
54
+        return new THREE.Vector2(v.x, v.y);
55
+    },
56
+
57
+    /**
58
+     * Convert an AR Vector3 to a THREE Vector3
59
+     * @param {Vector3} v
60
+     * @returns {THREE.Vector3}
61
+     */
62
+    convertVector3(v)
63
+    {
64
+        return new THREE.Vector3(v.x, v.y, v.z);
65
+    },
66
+
67
+    /**
68
+     * Convert an AR Quaternion to a THREE Quaternion
69
+     * @param {Quaternion} q
70
+     * @returns {THREE.Quaternion}
71
+     */
72
+    convertQuaternion(q)
73
+    {
74
+        return new THREE.Quaternion(q.x, q.y, q.z, q.w);
75
+    },
76
+
77
+    /**
78
+     * Convert an AR Ray to a THREE Ray
79
+     * @param {Ray} r
80
+     * @returns {THREE.Ray}
81
+     */
82
+    convertRay(r)
83
+    {
84
+        const origin = this.convertVector3(r.origin);
85
+        const direction = this.convertVector3(r.direction);
86
+        return new THREE.Ray(origin, direction);
87
+    },
88
+
47 89
 });
48 90
 
49 91
 /**

+ 44
- 2
plugins/babylon-with-encantar.js Voir le fichier

@@ -92,8 +92,8 @@ class ARSystem
92 92
     }
93 93
 
94 94
     /**
95
-     * Pointer-based input in the current frame (touch, mouse, pen...)
96
-     * You need a PointerTracker in your session in order to use these
95
+     * Pointer-based input (current frame)
96
+     * Make sure to add a PointerTracker to your session in order to use these
97 97
      * @returns {TrackablePointer[]}
98 98
      */
99 99
     get pointers()
@@ -139,6 +139,48 @@ class ARSystem
139 139
     }
140 140
 
141 141
     /**
142
+     * Convert an AR Vector2 to a BABYLON Vector2
143
+     * @param {Vector2} v
144
+     * @returns {BABYLON.Vector2}
145
+     */
146
+    convertVector2(v)
147
+    {
148
+        return new BABYLON.Vector2(v.x, v.y);
149
+    }
150
+
151
+    /**
152
+     * Convert an AR Vector3 to a BABYLON Vector3
153
+     * @param {Vector3} v
154
+     * @returns {BABYLON.Vector3}
155
+     */
156
+    convertVector3(v)
157
+    {
158
+        return new BABYLON.Vector3(v.x, v.y, v.z);
159
+    }
160
+
161
+    /**
162
+     * Convert an AR Quaternion to a BABYLON Quaternion
163
+     * @param {Quaternion} q
164
+     * @returns {BABYLON.Quaternion}
165
+     */
166
+    convertQuaternion(q)
167
+    {
168
+        return new BABYLON.Quaternion(q.x, q.y, q.z, q.w);
169
+    }
170
+
171
+    /**
172
+     * Convert an AR Ray to a BABYLON Ray
173
+     * @param {Ray} r
174
+     * @returns {BABYLON.Ray}
175
+     */
176
+    convertRay(r)
177
+    {
178
+        const origin = this.convertVector3(r.origin);
179
+        const direction = this.convertVector3(r.direction);
180
+        return new BABYLON.Ray(origin, direction);
181
+    }
182
+
183
+    /**
142 184
      * Constructor
143 185
      */
144 186
     constructor()

+ 44
- 2
plugins/three-with-encantar.js Voir le fichier

@@ -92,8 +92,8 @@ class ARSystem
92 92
     }
93 93
 
94 94
     /**
95
-     * Pointer-based input in the current frame (touch, mouse, pen...)
96
-     * You need a PointerTracker in your session in order to use these
95
+     * Pointer-based input (current frame)
96
+     * Make sure to add a PointerTracker to your session in order to use these
97 97
      * @returns {TrackablePointer[]}
98 98
      */
99 99
     get pointers()
@@ -139,6 +139,48 @@ class ARSystem
139 139
     }
140 140
 
141 141
     /**
142
+     * Convert an AR Vector2 to a THREE Vector2
143
+     * @param {Vector2} v
144
+     * @returns {THREE.Vector2}
145
+     */
146
+    convertVector2(v)
147
+    {
148
+        return new THREE.Vector2(v.x, v.y);
149
+    }
150
+
151
+    /**
152
+     * Convert an AR Vector3 to a THREE Vector3
153
+     * @param {Vector3} v
154
+     * @returns {THREE.Vector3}
155
+     */
156
+    convertVector3(v)
157
+    {
158
+        return new THREE.Vector3(v.x, v.y, v.z);
159
+    }
160
+
161
+    /**
162
+     * Convert an AR Quaternion to a THREE Quaternion
163
+     * @param {Quaternion} q
164
+     * @returns {THREE.Quaternion}
165
+     */
166
+    convertQuaternion(q)
167
+    {
168
+        return new THREE.Quaternion(q.x, q.y, q.z, q.w);
169
+    }
170
+
171
+    /**
172
+     * Convert an AR Ray to a THREE Ray
173
+     * @param {Ray} r
174
+     * @returns {THREE.Ray}
175
+     */
176
+    convertRay(r)
177
+    {
178
+        const origin = this.convertVector3(r.origin);
179
+        const direction = this.convertVector3(r.direction);
180
+        return new THREE.Ray(origin, direction);
181
+    }
182
+
183
+    /**
142 184
      * Constructor
143 185
      */
144 186
     constructor()

Chargement…
Annuler
Enregistrer