Bläddra i källkod

Image Tracker: rename factory

customisations
alemart 9 månader sedan
förälder
incheckning
d3ce2b341a

+ 1
- 1
demos/hello-babylon/demo.js Visa fil

@@ -34,7 +34,7 @@ class EnchantedDemo extends ARDemo
34 34
             );
35 35
         }
36 36
 
37
-        const tracker = AR.Tracker.ImageTracker();
37
+        const tracker = AR.Tracker.Image();
38 38
         await tracker.database.add([
39 39
         {
40 40
             name: 'mage',

+ 1
- 1
demos/hello-three/demo.js Visa fil

@@ -108,7 +108,7 @@ class EnchantedDemo extends ARDemo
108 108
             );
109 109
         }
110 110
 
111
-        const tracker = AR.Tracker.ImageTracker();
111
+        const tracker = AR.Tracker.Image();
112 112
         await tracker.database.add([
113 113
         {
114 114
             name: 'mage',

+ 1
- 1
demos/hello-webgl/demo.js Visa fil

@@ -920,7 +920,7 @@ window.addEventListener('load', async function() {
920 920
 
921 921
         //AR.Settings.powerPreference = 'low-power';
922 922
 
923
-        const tracker = AR.Tracker.ImageTracker();
923
+        const tracker = AR.Tracker.Image();
924 924
         await tracker.database.add([{
925 925
             name: 'my-reference-image',
926 926
             image: document.getElementById('my-reference-image')

+ 1
- 1
demos/hello-world/demo.js Visa fil

@@ -18,7 +18,7 @@ async function startARSession()
18 18
         );
19 19
     }
20 20
 
21
-    const tracker = AR.Tracker.ImageTracker();
21
+    const tracker = AR.Tracker.Image();
22 22
     await tracker.database.add([
23 23
     {
24 24
         name: 'mage',

+ 23
- 4
docs/api/image-tracker.md Visa fil

@@ -4,11 +4,16 @@ A [tracker](tracker.md) that tracks images in a video. Images are tracked using
4 4
 
5 5
 ## Instantiation
6 6
 
7
-### AR.Tracker.ImageTracker
7
+### AR.Tracker.Image
8 8
 
9
-`AR.Tracker.ImageTracker(): ImageTracker`
9
+`AR.Tracker.Image(options: object): ImageTracker`
10
+
11
+Instantiate an image tracker with the specified `options`.
12
+
13
+**Arguments**
10 14
 
11
-Instantiate an image tracker.
15
+* `options: object, optional`. An object with the following keys (all are optional):
16
+    * `resolution: Resolution`. The [resolution](resolution.md) of the tracker. Make sure that the [resolution of the video](camera-source.md) is at least as high as this. Suggested values: `"sm"`, `"sm+"`, `"md"`, `"md+"`.
12 17
 
13 18
 **Returns**
14 19
 
@@ -17,9 +22,23 @@ A new image tracker.
17 22
 **Example**
18 23
 
19 24
 ```js
20
-const imageTracker = AR.Tracker.ImageTracker();
25
+const imageTracker = AR.Tracker.Image({
26
+    resolution: "sm"
27
+});
21 28
 ```
22 29
 
30
+### AR.Tracker.ImageTracker
31
+
32
+`AR.Tracker.ImageTracker(): ImageTracker`
33
+
34
+Instantiate an image tracker with default settings.
35
+
36
+*Deprecated since:* 0.4.0. Use `AR.Tracker.Image()` instead.
37
+
38
+**Returns**
39
+
40
+A new image tracker.
41
+
23 42
 ## Properties
24 43
 
25 44
 ### type

+ 4
- 4
docs/getting-started/activate-your-webcam.md Visa fil

@@ -16,7 +16,7 @@ async function startARSession()
16 16
         );
17 17
     }
18 18
 
19
-    const tracker = AR.Tracker.ImageTracker();
19
+    const tracker = AR.Tracker.Image();
20 20
     await tracker.database.add([{
21 21
         name: 'my-reference-image',
22 22
         image: document.getElementById('my-reference-image')
@@ -160,7 +160,7 @@ async function startARSession()
160 160
         );
161 161
     }
162 162
 
163
-    const tracker = AR.Tracker.ImageTracker();
163
+    const tracker = AR.Tracker.Image();
164 164
     await tracker.database.add([{
165 165
         name: 'my-reference-image',
166 166
         image: document.getElementById('my-reference-image')
@@ -206,7 +206,7 @@ async function startARSession()
206 206
         );
207 207
     }
208 208
 
209
-    const tracker = AR.Tracker.ImageTracker();
209
+    const tracker = AR.Tracker.Image();
210 210
     await tracker.database.add([{
211 211
         name: 'my-reference-image',
212 212
         image: document.getElementById('my-reference-image')
@@ -260,7 +260,7 @@ async function startARSession()
260 260
         );
261 261
     }
262 262
 
263
-    const tracker = AR.Tracker.ImageTracker();
263
+    const tracker = AR.Tracker.Image();
264 264
     await tracker.database.add([{
265 265
         name: 'my-reference-image',
266 266
         image: document.getElementById('my-reference-image')

+ 1
- 1
docs/getting-started/next-steps.md Visa fil

@@ -20,7 +20,7 @@ async function startARSession()
20 20
 
21 21
     AR.Settings.powerPreference = 'low-power'; // OPTIONAL
22 22
 
23
-    const tracker = AR.Tracker.ImageTracker();
23
+    const tracker = AR.Tracker.Image();
24 24
     await tracker.database.add([{
25 25
         name: 'my-reference-image',
26 26
         image: document.getElementById('my-reference-image')

+ 4
- 4
docs/getting-started/set-up-the-session.md Visa fil

@@ -39,7 +39,7 @@ window.onload = async function()
39 39
             );
40 40
         }
41 41
 
42
-        const tracker = AR.Tracker.ImageTracker();
42
+        const tracker = AR.Tracker.Image();
43 43
         await tracker.database.add([{
44 44
             name: 'my-reference-image',
45 45
             image: document.getElementById('my-reference-image')
@@ -70,7 +70,7 @@ window.onload = async function()
70 70
             );
71 71
         }
72 72
 
73
-        const tracker = AR.Tracker.ImageTracker();
73
+        const tracker = AR.Tracker.Image();
74 74
         await tracker.database.add([{
75 75
             name: 'my-reference-image',
76 76
             image: document.getElementById('my-reference-image')
@@ -104,7 +104,7 @@ window.onload = async function()
104 104
             );
105 105
         }
106 106
 
107
-        const tracker = AR.Tracker.ImageTracker();
107
+        const tracker = AR.Tracker.Image();
108 108
         await tracker.database.add([{
109 109
             name: 'my-reference-image',
110 110
             image: document.getElementById('my-reference-image')
@@ -167,7 +167,7 @@ async function startARSession()
167 167
         );
168 168
     }
169 169
 
170
-    const tracker = AR.Tracker.ImageTracker();
170
+    const tracker = AR.Tracker.Image();
171 171
     await tracker.database.add([{
172 172
         name: 'my-reference-image',
173 173
         image: document.getElementById('my-reference-image')

+ 2
- 2
docs/getting-started/set-up-the-tracker.md Visa fil

@@ -144,7 +144,7 @@ window.onload = async function()
144 144
             );
145 145
         }
146 146
 
147
-        const tracker = AR.Tracker.ImageTracker();
147
+        const tracker = AR.Tracker.Image();
148 148
     }
149 149
     catch(error) {
150 150
         alert(error.message);
@@ -185,7 +185,7 @@ window.onload = async function()
185 185
             );
186 186
         }
187 187
 
188
-        const tracker = AR.Tracker.ImageTracker();
188
+        const tracker = AR.Tracker.Image();
189 189
         await tracker.database.add([{
190 190
             name: 'my-reference-image',
191 191
             image: document.getElementById('my-reference-image')

+ 1
- 1
plugins/aframe-with-encantar.js Visa fil

@@ -913,7 +913,7 @@ AFRAME.registerComponent('ar-image-tracker', ARComponent({
913 913
 
914 914
     /* async */ tracker()
915 915
     {
916
-        const tracker = AR.Tracker.ImageTracker();
916
+        const tracker = AR.Tracker.Image();
917 917
         const referenceImages = [];
918 918
 
919 919
         tracker.resolution = this.data.resolution;

+ 1
- 0
src/sources/camera-source.ts Visa fil

@@ -68,6 +68,7 @@ export class CameraSource extends VideoSource
68 68
 
69 69
     /**
70 70
      * Constructor
71
+     * @param options
71 72
      */
72 73
     constructor(options: CameraSourceOptions)
73 74
     {

+ 16
- 3
src/trackers/image-tracker/image-tracker.ts Visa fil

@@ -48,7 +48,6 @@ import { ImageTrackerPreTrackingBState } from './states/pre-tracking-b';
48 48
 import { ImageTrackerTrackingState } from './states/tracking';
49 49
 import { Nullable, Utils } from '../../utils/utils';
50 50
 import { AREventTarget } from '../../utils/ar-events';
51
-import { DEFAULT_TRACKING_RESOLUTION } from './settings';
52 51
 import { ImageTrackerEvent, ImageTrackerEventType } from './image-tracker-event';
53 52
 import { SpeedyPoint2 } from 'speedy-vision/types/core/speedy-point';
54 53
 import { Viewer } from '../../geometry/viewer';
@@ -103,6 +102,18 @@ export type ImageTrackerStateName = 'initial' | 'training' | 'scanning' | 'pre-t
103 102
 /** A helper */
104 103
 const formatSize = (size: SpeedySize) => `${size.width}x${size.height}`;
105 104
 
105
+/** Options for instantiating an ImageTracker */
106
+export interface ImageTrackerOptions
107
+{
108
+    /** resolution of the tracker; it helps define the AR screen space */
109
+    resolution?: Resolution;
110
+}
111
+
112
+/** Default options for instantiating an ImageTracker */
113
+const DEFAULT_OPTIONS: Readonly<ImageTrackerOptions> = {
114
+    resolution: 'sm'
115
+};
116
+
106 117
 
107 118
 
108 119
 
@@ -138,8 +149,9 @@ export class ImageTracker extends AREventTarget<ImageTrackerEventType> implement
138 149
 
139 150
     /**
140 151
      * Constructor
152
+     * @param options
141 153
      */
142
-    constructor()
154
+    constructor(options: ImageTrackerOptions)
143 155
     {
144 156
         super();
145 157
 
@@ -161,7 +173,8 @@ export class ImageTracker extends AREventTarget<ImageTrackerEventType> implement
161 173
         this._database = new ReferenceImageDatabase();
162 174
 
163 175
         // user settings
164
-        this._resolution = DEFAULT_TRACKING_RESOLUTION;
176
+        options = Object.assign({}, DEFAULT_OPTIONS, options);
177
+        this._resolution = options.resolution!;
165 178
     }
166 179
 
167 180
     /**

+ 0
- 3
src/trackers/image-tracker/settings.ts Visa fil

@@ -20,9 +20,6 @@
20 20
  * Settings of the Image Tracker
21 21
  */
22 22
 
23
-/** Default tracking resolution */
24
-export const DEFAULT_TRACKING_RESOLUTION = 'sm';
25
-
26 23
 /** Maximum number of keypoints to be stored for each reference image when in the training state */
27 24
 export const TRAIN_MAX_KEYPOINTS = 1024; //512;
28 25
 

+ 12
- 2
src/trackers/tracker-factory.ts Visa fil

@@ -20,7 +20,7 @@
20 20
  * Tracker factory
21 21
  */
22 22
 
23
-import { ImageTracker } from './image-tracker/image-tracker';
23
+import { ImageTracker, ImageTrackerOptions } from './image-tracker/image-tracker';
24 24
 import { PointerTracker } from './pointer-tracker/pointer-tracker';
25 25
 
26 26
 /**
@@ -30,10 +30,20 @@ export class TrackerFactory
30 30
 {
31 31
     /**
32 32
      * Create an Image Tracker
33
+     * @param options
34
+     */
35
+    static Image(options: ImageTrackerOptions = {}): ImageTracker
36
+    {
37
+        return new ImageTracker(options);
38
+    }
39
+
40
+    /**
41
+     * Create an Image Tracker with default settings
42
+     * @deprecated
33 43
      */
34 44
     static ImageTracker(): ImageTracker
35 45
     {
36
-        return new ImageTracker();
46
+        return this.Image();
37 47
     }
38 48
 
39 49
     /**

Laddar…
Avbryt
Spara