@wemap/providers 10.11.0 → 10.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -1,52 +1,19 @@
1
1
  import { Calibration } from "@wemap/camera";
2
2
  import {
3
3
  Attitude, AttitudeJson,
4
+ Coordinates, GeoRelativePosition as GeoRelativePosition_t,
5
+ GraphProjection,
6
+ Network,
7
+ RelativePosition,
4
8
  UserPosition, UserPositionJson
5
9
  } from "@wemap/geo";
6
- import { Quaternion_t } from "@wemap/maths";
10
+ import { Quaternion_t, Vector16_t } from "@wemap/maths";
11
+ import { OsmElement } from "@wemap/osm";
12
+ import { Itinerary } from "@wemap/routers";
7
13
  import { Device } from "@wemap/utils";
8
14
 
9
15
  declare module '@wemap/providers' {
10
16
 
11
- export type EventTypeValue = string;
12
-
13
- export class ProviderEvent<T> {
14
-
15
- dataType: EventTypeValue;
16
- providersStack: string[];
17
- data: T;
18
-
19
- constructor(dataType: EventTypeValue, data: T);
20
- clone(): ProviderEvent<T>;
21
- }
22
-
23
- export class Provider {
24
- static get pname(): string;
25
- get pname(): string;
26
- get eventsType(): EventTypeValue[];
27
- get availability(): Promise<void>;
28
-
29
- addEventListener(onEvents?: () => void, onError?: () => void, startIfNecessary?: boolean): number;
30
- removeEventListener(id: number): void;
31
-
32
- addMonitoringListener(onStarted?: () => void, onStopped?: () => void): number;
33
- removeMonitoringListener(id: number): void;
34
-
35
- get lastEvent(): ProviderEvent<any> | null;
36
- get lastEvents(): ProviderEvent<any>[];
37
- }
38
-
39
- export class AbsolutePositionProvider extends Provider {
40
- get lastEvent(): ProviderEvent<UserPosition> | null;
41
- }
42
- export const AbsolutePosition: AbsolutePositionProvider;
43
-
44
-
45
- export class AbsoluteAttitudeProvider extends Provider {
46
- get lastEvent(): ProviderEvent<Attitude> | null;
47
- }
48
- export const AbsoluteAttitude: AbsoluteAttitudeProvider;
49
-
50
17
  export type CoarsePoseJson = {
51
18
  attitude?: AttitudeJson,
52
19
  position?: UserPositionJson,
@@ -102,6 +69,256 @@ declare module '@wemap/providers' {
102
69
  static fromJson(json: VpsResponseJson): VpsResponse;
103
70
  }
104
71
 
72
+
73
+ export class AttitudeSmoother {
74
+ static ROTATION_SPEED_JUMP_THRESHOLD: number;
75
+ static ROTATION_SPEED_CONVERGENCE: number;
76
+ static HIGH_JUMP_THRESHOLD: number;
77
+ static ROTATION_SPEED_HIGH_JUMP_CONVERGENCE: number;
78
+ static PITCH_UNCERTAINITY_HEADING_THRESHOLD: number;
79
+
80
+ constructor(callback: (attitude: Attitude) => void);
81
+ feed(attitude: Attitude): void;
82
+ }
83
+
84
+ export class PositionSmoother {
85
+ static DEFAULT_FREQUENCY: number;
86
+ static DEFAULT_FLYBY_TIME: number;
87
+
88
+ constructor(callback: (position: UserPosition) => void, frequency?: number);
89
+ feed(newPosition: UserPosition, flyByTime?: number): void;
90
+ clear(): void;
91
+ }
92
+
93
+ export type EventTypeValue = string;
94
+
95
+ export type Acceleration = { timestamp: number; values: [number, number, number]; }
96
+ export type AngularRate = { timestamp: number; values: [number, number, number]; }
97
+ export type HighRotation = { timestamp: number; }
98
+ export type MagnetometerNeedCalibration = { angle: number; }
99
+ export type Turn = { timestamp: number; }
100
+ export type Inclination = number;
101
+ export type Step = { size: number; number: number; }
102
+ export type StraightLine = boolean;
103
+ export type Barcode_t = string;
104
+ export type CameraProjectionMatrix_t = Vector16_t;
105
+ export type CameraNative_t = 'started' | 'stopped';
106
+
107
+
108
+ export class ProviderEvent<T> {
109
+
110
+ dataType: EventTypeValue;
111
+ providersStack: string[];
112
+ data: T;
113
+
114
+ constructor(dataType: EventTypeValue, data: T);
115
+ clone(): ProviderEvent<T>;
116
+ }
117
+
118
+ export type ProvidersOptions_t = {
119
+ useMapMatching: boolean;
120
+ ignoreProviders: string[];
121
+ optionalProviders: string[];
122
+ stopOnError: boolean;
123
+ checkAvailabilityOnStart: boolean;
124
+ get hasPoleStar(): boolean;
125
+ }
126
+ export const ProvidersOptions: ProvidersOptions_t;
127
+
128
+ export class Provider<T> {
129
+ static get pname(): string;
130
+ get pname(): string;
131
+ get eventsType(): EventTypeValue[];
132
+ get availability(): Promise<void>;
133
+
134
+ addEventListener(
135
+ onEvents?: (events: ProviderEvent<T>[]) => void,
136
+ onError?: () => void,
137
+ startIfNecessary?: boolean
138
+ ): number;
139
+ removeEventListener(id: number): void;
140
+
141
+ addMonitoringListener(onStarted?: () => void, onStopped?: () => void): number;
142
+ removeMonitoringListener(id: number): void;
143
+
144
+ get lastEvent(): ProviderEvent<T> | null;
145
+ get lastEvents(): ProviderEvent<T>[];
146
+ }
147
+
148
+ // MapMatchingHandler
149
+ export class MapMatchingHandlerProvider<T> extends Provider<Network<T> | Itinerary> {
150
+ getProjection(
151
+ position: Coordinates,
152
+ useDistance?: boolean,
153
+ useBearing?: boolean
154
+ ): GraphProjection<T> | null;
155
+
156
+ set itinerary(itinerary: Itinerary | null);
157
+ set network(network: Network<T> | null);
158
+ get network(): Network<T> | null;
159
+ get maxDistance(): number;
160
+ set maxDistance(maxDistance: number);
161
+ get minDistance(): number;
162
+ set minDistance(minDistance: number);
163
+ get maxAngleBearing(): number;
164
+ set maxAngleBearing(maxAngleBearing: number);
165
+ get useItineraryStartAsPosition(): boolean;
166
+ set useItineraryStartAsPosition(useItineraryStartAsPosition: boolean);
167
+ get useOrientationMatching(): boolean;
168
+ set useOrientationMatching(useOrientationMatching: boolean);
169
+ get hugeJumpDistance(): number;
170
+ set hugeJumpDistance(hugeJumpDistance: number);
171
+ get disableMMCloseToATurnDistance(): number;
172
+ set disableMMCloseToATurnDistance(disableMMCloseToATurnDistance: number);
173
+ get minStepsBetweenOrientationMatching(): number;
174
+ set minStepsBetweenOrientationMatching(minStepsBetweenOrientationMatching: number);
175
+ get minStepsForOrientationMatching(): number;
176
+ set minStepsForOrientationMatching(minStepsForOrientationMatching: number);
177
+ get lastProjectionsWindowSize(): number;
178
+ set lastProjectionsWindowSize(lastProjectionsWindowSize: number);
179
+ get lastProjectionsEdgeAngleThreshold(): number;
180
+ set lastProjectionsEdgeAngleThreshold(lastProjectionsEdgeAngleThreshold: number);
181
+ }
182
+ export const MapMatchingHandler: MapMatchingHandlerProvider<OsmElement>;
183
+
184
+
185
+ // Imu
186
+ export class ImuProvider extends Provider<Acceleration | AngularRate> { }
187
+ export const Imu: ImuProvider;
188
+
189
+ // Accelerometer
190
+ export class AccelerometerProvider extends Provider<Acceleration> { }
191
+ export const Accelerometer: AccelerometerProvider;
192
+
193
+ // Gyroscope
194
+ export class GyroscopeProvider extends Provider<AngularRate> { }
195
+ export const Gyroscope: GyroscopeProvider;
196
+
197
+ // HighRotationsDetector
198
+ export class HighRotationsDetectorProvider extends Provider<HighRotation> { }
199
+ export const HighRotationsDetector: HighRotationsDetectorProvider;
200
+
201
+ // MagnetometerCalibrationDetector
202
+ export class MagnetometerCalibrationDetectorProvider extends Provider<MagnetometerNeedCalibration> { }
203
+ export const MagnetometerCalibrationDetector: MagnetometerCalibrationDetectorProvider;
204
+
205
+
206
+ // RelativeAttitudeFromBrowser
207
+ export class RelativeAttitudeFromBrowserProvider extends Provider<Attitude> { }
208
+ export const RelativeAttitudeFromBrowser: RelativeAttitudeFromBrowserProvider;
209
+
210
+ // RelativeAttitudeFromEkf
211
+ export class RelativeAttitudeFromEkfProvider extends Provider<Attitude> { }
212
+ export const RelativeAttitudeFromEkf: RelativeAttitudeFromEkfProvider;
213
+
214
+ // RelativeAttitudeFromInertial
215
+ export class RelativeAttitudeFromInertialProvider extends Provider<Attitude> { }
216
+ export const RelativeAttitudeFromInertial: RelativeAttitudeFromInertialProvider;
217
+
218
+ // RelativeAttitude
219
+ export class RelativeAttitudeProvider extends Provider<Attitude> { }
220
+ export const RelativeAttitude: RelativeAttitudeProvider;
221
+
222
+
223
+ // AbsoluteAttitudeFromBrowser
224
+ export class AbsoluteAttitudeFromBrowserProvider extends Provider<Attitude> { }
225
+ export const AbsoluteAttitudeFromBrowser: AbsoluteAttitudeFromBrowserProvider;
226
+
227
+ // AbsoluteAttitude
228
+ export class AbsoluteAttitudeProvider extends Provider<Attitude> {
229
+ feed(data: AbsoluteHeading | Attitude | ProviderEvent<AbsoluteHeading>): void;
230
+ }
231
+ export const AbsoluteAttitude: AbsoluteAttitudeProvider;
232
+
233
+
234
+ // TurnDetector
235
+ export class TurnDetectorProvider extends Provider<Turn> { }
236
+ export const TurnDetector: TurnDetectorProvider;
237
+
238
+
239
+ // InclinationFromAcc
240
+ export class InclinationFromAccProvider extends Provider<Inclination> { }
241
+ export const InclinationFromAcc: InclinationFromAccProvider;
242
+
243
+ // InclinationFromRelativeAttitude
244
+ export class InclinationFromRelativeAttitudeProvider extends Provider<Inclination> { }
245
+ export const InclinationFromRelativeAttitude: InclinationFromRelativeAttitudeProvider;
246
+
247
+ // Inclination
248
+ export class InclinationProvider extends Provider<Inclination> { }
249
+ export const Inclination: InclinationProvider;
250
+
251
+
252
+ // StepDetector
253
+ export class StepDetectorProvider extends Provider<Step> {
254
+ set algorithm(name: StepDetectionAlgorithmName);
255
+ get algorithm(): StepDetectionAlgorithmName;
256
+ set stepSizeMultiplier(stepSizeMultiplier: number);
257
+ get stepSizeMultiplier(): number;
258
+ }
259
+ export const StepDetector: StepDetectorProvider;
260
+
261
+ // StraightLineDetector
262
+ export class StraightLineDetectorProvider extends Provider<StraightLine> {
263
+ get numStepsDetectedFromLastTurn(): number;
264
+ get stepsConsideredForStraightLine(): number;
265
+ set stepsConsideredForStraightLine(stepsConsideredForStraightLine: number);
266
+ }
267
+ export const StraightLineDetector: StraightLineDetectorProvider;
268
+
269
+ // StepDetectionAlgorithms
270
+ export type StepDetectionAlgorithmName = 'ladetto' | 'minMaxPeaks' | 'minMaxPeaks2' | 'minMaxPeaks3';
271
+ export class StepDetectionAlgorithm {
272
+ static WINDOW_TIME: number;
273
+ static MIN_TIME_BETWEEN_STEPS: number;
274
+ static MAX_FRENQUENCY: number;
275
+ static MIN_FRENQUENCY: number;
276
+ static VERTICAL_ACC_POSITIVE_PEAK_THRESHOLD: number;
277
+ static VERTICAL_ACC_NEGATIVE_PEAK_THRESHOLD: number;
278
+ }
279
+ export class StepDetectionMinMaxPeaks2 extends StepDetectionAlgorithm { }
280
+ export class StepDetectionMinMaxPeaks3 extends StepDetectionAlgorithm { }
281
+
282
+
283
+ // Pdr
284
+ export class PdrProvider extends Provider<GeoRelativePosition_t> { }
285
+ export const Pdr: PdrProvider;
286
+
287
+ // GeoRelativePositionFromArCore
288
+ export class GeoRelativePositionFromArCoreProvider extends Provider<GeoRelativePosition_t> { }
289
+ export const GeoRelativePositionFromArCore: GeoRelativePositionFromArCoreProvider;
290
+
291
+ // GeoRelativePosition
292
+ export class GeoRelativePositionProvider extends Provider<GeoRelativePosition_t> { }
293
+ export const GeoRelativePosition: GeoRelativePositionProvider;
294
+
295
+
296
+ // GnssWifi
297
+ export class GnssWifiProvider extends Provider<UserPosition> { }
298
+ export const GnssWifi: GnssWifiProvider;
299
+
300
+ // PoleStar
301
+ export class PoleStarProvider extends Provider<UserPosition> {
302
+ setApiKey(key: string): void;
303
+ }
304
+ export const PoleStar: PoleStarProvider;
305
+
306
+ // Ip
307
+ export class IpProvider extends Provider<UserPosition> { }
308
+ export const Ip: IpProvider;
309
+
310
+ // AbsolutePosition
311
+ export class AbsolutePositionProvider extends Provider<UserPosition> {
312
+ feed(data: UserPosition | ProviderEvent<UserPosition>): void;
313
+ }
314
+ export const AbsolutePosition: AbsolutePositionProvider;
315
+
316
+
317
+ // ArCore
318
+ export class ArCoreProvider extends Provider<RelativePosition | Attitude | CameraProjectionMatrix_t | Barcode_t> { }
319
+ export const ArCore: ArCoreProvider;
320
+
321
+ // ImageRelocalization
105
322
  export class ImageRelocalization {
106
323
 
107
324
  static _prepareRequest(
@@ -118,5 +335,32 @@ declare module '@wemap/providers' {
118
335
 
119
336
  static getHeadingFromQuaternion(quaternion: Quaternion_t): number;
120
337
  }
338
+
339
+ // Vps
340
+ export class VpsProvider extends Provider<UserPosition | Attitude> {
341
+ get endpoint(): string;
342
+ set endpoint(endpoint: string);
343
+ get minInclinationForRequest(): number;
344
+ set minInclinationForRequest(minInclinationForRequest: number);
345
+ get waitTimeMinInclinationForRequest(): number;
346
+ set waitTimeMinInclinationForRequest(waitTimeMinInclinationForRequest: number);
347
+ get useCoarsePose(): boolean;
348
+ set useCoarsePose(useCoarsePose: boolean);
349
+ }
350
+ export const Vps: VpsProvider;
351
+
352
+ // Barcode
353
+ export class BarcodeProvider extends Provider<Barcode_t> { }
354
+ export const Barcode: BarcodeProvider;
355
+
356
+
357
+ // CameraNative
358
+ export class CameraNativeProvider extends Provider<CameraNative_t> { }
359
+ export const CameraNative: CameraNativeProvider;
360
+
361
+ // CameraProjectionMatrix
362
+ export class CameraProjectionMatrixProvider extends Provider<CameraProjectionMatrix_t> { }
363
+ export const CameraProjectionMatrix: CameraProjectionMatrixProvider;
364
+
121
365
  }
122
366
 
package/package.json CHANGED
@@ -8,15 +8,15 @@
8
8
  "Guillaume Pannetier <guillaume.pannetier@getwemap.com>"
9
9
  ],
10
10
  "dependencies": {
11
- "@wemap/camera": "^10.1.0",
12
- "@wemap/geo": "^10.10.0",
11
+ "@wemap/camera": "^10.11.1",
12
+ "@wemap/geo": "^10.11.1",
13
13
  "@wemap/geomagnetism": "^0.1.1",
14
- "@wemap/logger": "^10.0.0",
15
- "@wemap/map": "^10.10.0",
14
+ "@wemap/logger": "^10.11.1",
15
+ "@wemap/map": "^10.11.1",
16
16
  "@wemap/maths": "^10.10.0",
17
- "@wemap/osm": "^10.10.0",
18
- "@wemap/routers": "^10.11.0",
19
- "@wemap/utils": "^10.6.0"
17
+ "@wemap/osm": "^10.11.1",
18
+ "@wemap/routers": "^10.11.1",
19
+ "@wemap/utils": "^10.11.1"
20
20
  },
21
21
  "description": "A package using different geoloc systems",
22
22
  "devDependencies": {
@@ -42,6 +42,6 @@
42
42
  "url": "git+https://github.com/wemap/wemap-modules-js.git"
43
43
  },
44
44
  "type": "module",
45
- "version": "10.11.0",
46
- "gitHead": "2e30d73684ee8a1cefb0fef0df882b86afc2044f"
45
+ "version": "10.11.1",
46
+ "gitHead": "e01001affc1f02f2c847a63de870f63734b98a1c"
47
47
  }
@@ -20,20 +20,10 @@ const ProvidersOptions = {
20
20
  */
21
21
  optionalProviders: [],
22
22
 
23
- /**
24
- * Define the list of EventType that are optionals
25
- * List of {@link EventType}
26
- */
27
- optionalEvents: [],
28
-
29
23
  stopOnError: true,
30
24
 
31
25
  checkAvailabilityOnStart: true,
32
26
 
33
- stepdetectionlocker: true,
34
-
35
- smoother: true,
36
-
37
27
  get hasPoleStar() {
38
28
  return this.optionalProviders.includes('PoleStar');
39
29
  }
@@ -181,6 +181,7 @@ class MapMatchingHandler extends Provider {
181
181
  return this._mapMatching.network;
182
182
  }
183
183
 
184
+ // TODO: rename to setGraphNetwork()
184
185
  /** @type {?Network} */
185
186
  set network(network) {
186
187