浏览代码

Image Tracker: rename factory

customisations
alemart 9 个月前
父节点
当前提交
d3ce2b341a

+ 1
- 1
demos/hello-babylon/demo.js 查看文件

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

+ 1
- 1
demos/hello-three/demo.js 查看文件

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

+ 1
- 1
demos/hello-webgl/demo.js 查看文件

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

+ 1
- 1
demos/hello-world/demo.js 查看文件

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

+ 23
- 4
docs/api/image-tracker.md 查看文件

4
 
4
 
5
 ## Instantiation
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
 **Returns**
18
 **Returns**
14
 
19
 
17
 **Example**
22
 **Example**
18
 
23
 
19
 ```js
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
 ## Properties
42
 ## Properties
24
 
43
 
25
 ### type
44
 ### type

+ 4
- 4
docs/getting-started/activate-your-webcam.md 查看文件

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

+ 1
- 1
docs/getting-started/next-steps.md 查看文件

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

+ 4
- 4
docs/getting-started/set-up-the-session.md 查看文件

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

+ 2
- 2
docs/getting-started/set-up-the-tracker.md 查看文件

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

+ 1
- 1
plugins/aframe-with-encantar.js 查看文件

913
 
913
 
914
     /* async */ tracker()
914
     /* async */ tracker()
915
     {
915
     {
916
-        const tracker = AR.Tracker.ImageTracker();
916
+        const tracker = AR.Tracker.Image();
917
         const referenceImages = [];
917
         const referenceImages = [];
918
 
918
 
919
         tracker.resolution = this.data.resolution;
919
         tracker.resolution = this.data.resolution;

+ 1
- 0
src/sources/camera-source.ts 查看文件

68
 
68
 
69
     /**
69
     /**
70
      * Constructor
70
      * Constructor
71
+     * @param options
71
      */
72
      */
72
     constructor(options: CameraSourceOptions)
73
     constructor(options: CameraSourceOptions)
73
     {
74
     {

+ 16
- 3
src/trackers/image-tracker/image-tracker.ts 查看文件

48
 import { ImageTrackerTrackingState } from './states/tracking';
48
 import { ImageTrackerTrackingState } from './states/tracking';
49
 import { Nullable, Utils } from '../../utils/utils';
49
 import { Nullable, Utils } from '../../utils/utils';
50
 import { AREventTarget } from '../../utils/ar-events';
50
 import { AREventTarget } from '../../utils/ar-events';
51
-import { DEFAULT_TRACKING_RESOLUTION } from './settings';
52
 import { ImageTrackerEvent, ImageTrackerEventType } from './image-tracker-event';
51
 import { ImageTrackerEvent, ImageTrackerEventType } from './image-tracker-event';
53
 import { SpeedyPoint2 } from 'speedy-vision/types/core/speedy-point';
52
 import { SpeedyPoint2 } from 'speedy-vision/types/core/speedy-point';
54
 import { Viewer } from '../../geometry/viewer';
53
 import { Viewer } from '../../geometry/viewer';
103
 /** A helper */
102
 /** A helper */
104
 const formatSize = (size: SpeedySize) => `${size.width}x${size.height}`;
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
 
149
 
139
     /**
150
     /**
140
      * Constructor
151
      * Constructor
152
+     * @param options
141
      */
153
      */
142
-    constructor()
154
+    constructor(options: ImageTrackerOptions)
143
     {
155
     {
144
         super();
156
         super();
145
 
157
 
161
         this._database = new ReferenceImageDatabase();
173
         this._database = new ReferenceImageDatabase();
162
 
174
 
163
         // user settings
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 查看文件

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

+ 12
- 2
src/trackers/tracker-factory.ts 查看文件

20
  * Tracker factory
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
 import { PointerTracker } from './pointer-tracker/pointer-tracker';
24
 import { PointerTracker } from './pointer-tracker/pointer-tracker';
25
 
25
 
26
 /**
26
 /**
30
 {
30
 {
31
     /**
31
     /**
32
      * Create an Image Tracker
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
     static ImageTracker(): ImageTracker
44
     static ImageTracker(): ImageTracker
35
     {
45
     {
36
-        return new ImageTracker();
46
+        return this.Image();
37
     }
47
     }
38
 
48
 
39
     /**
49
     /**

正在加载...
取消
保存