@wemap/providers 12.10.8 → 12.10.9
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/dist/helpers/CustomMapProvider.d.ts +10 -0
- package/{index.ts → dist/index.d.ts} +0 -14
- package/dist/index.js +1 -3446
- package/dist/index.js.map +1 -1
- package/{src/ProvidersOptions.ts → dist/src/ProvidersOptions.d.ts} +7 -16
- package/dist/src/errors/AskImuOnDesktopError.d.ts +5 -0
- package/dist/src/errors/ContainsIgnoredProviderError.d.ts +5 -0
- package/dist/src/errors/GeolocationApiMissingError.d.ts +5 -0
- package/dist/src/errors/GeolocationPermissionDeniedError.d.ts +5 -0
- package/dist/src/errors/GeolocationPositionUnavailableError.d.ts +5 -0
- package/dist/src/errors/IpResolveServerError.d.ts +5 -0
- package/dist/src/errors/MissingAccelerometerError.d.ts +6 -0
- package/dist/src/errors/MissingArCoreError.d.ts +5 -0
- package/dist/src/errors/MissingGyroscopeError.d.ts +6 -0
- package/dist/src/errors/MissingMagnetometerError.d.ts +5 -0
- package/dist/src/errors/MissingNativeInterfaceError.d.ts +5 -0
- package/dist/src/errors/MissingPoleStarError.d.ts +5 -0
- package/dist/src/errors/MissingSensorError.d.ts +6 -0
- package/dist/src/errors/NoProviderFoundError.d.ts +5 -0
- package/dist/src/events/AvailabilityHelper.d.ts +5 -0
- package/dist/src/events/ProvidersLoggerOld.d.ts +24 -0
- package/dist/src/events/Types.d.ts +34 -0
- package/dist/src/mapmatching/MapMatchingHandler.d.ts +93 -0
- package/dist/src/providers/Constants.d.ts +4 -0
- package/{src/providers/NativeProviders.ts → dist/src/providers/NativeProviders.d.ts} +2 -23
- package/dist/src/providers/Provider.d.ts +64 -0
- package/dist/src/providers/attitude/EkfAttitude.d.ts +41 -0
- package/dist/src/providers/attitude/TurnProvider.d.ts +17 -0
- package/dist/src/providers/attitude/absolute/AbsoluteAttitudeFromBrowserProvider.d.ts +60 -0
- package/dist/src/providers/attitude/absolute/AbsoluteAttitudeProvider.d.ts +44 -0
- package/dist/src/providers/attitude/relative/RelativeAttitudeFromBrowserProvider.d.ts +31 -0
- package/dist/src/providers/attitude/relative/RelativeAttitudeFromEkfProvider.d.ts +26 -0
- package/dist/src/providers/attitude/relative/RelativeAttitudeFromInertialProvider.d.ts +18 -0
- package/dist/src/providers/attitude/relative/RelativeAttitudeProvider.d.ts +25 -0
- package/dist/src/providers/imu/AccelerometerProvider.d.ts +11 -0
- package/dist/src/providers/imu/GyroscopeProvider.d.ts +11 -0
- package/dist/src/providers/imu/HighRotationsProvider.d.ts +15 -0
- package/dist/src/providers/imu/ImuProvider.d.ts +34 -0
- package/dist/src/providers/imu/MagnetometerCalibrationProvider.d.ts +11 -0
- package/dist/src/providers/inclination/InclinationFromAccProvider.d.ts +18 -0
- package/dist/src/providers/inclination/InclinationFromRelativeAttitudeProvider.d.ts +19 -0
- package/dist/src/providers/inclination/InclinationProvider.d.ts +18 -0
- package/dist/src/providers/legacy/helpers/HeadingUnlocker.d.ts +12 -0
- package/dist/src/providers/legacy/helpers/ThugDetector.d.ts +8 -0
- package/dist/src/providers/others/CameraNativeProvider.d.ts +11 -0
- package/dist/src/providers/others/CameraProjectionMatrixProvider.d.ts +11 -0
- package/dist/src/providers/position/absolute/AbsolutePositionProvider.d.ts +35 -0
- package/dist/src/providers/position/absolute/GnssWifiProvider.d.ts +28 -0
- package/dist/src/providers/position/absolute/IpProvider.d.ts +16 -0
- package/dist/src/providers/position/absolute/PoleStarProvider.d.ts +14 -0
- package/dist/src/providers/position/relative/GeoRelativePositionFromArCoreProvider.d.ts +17 -0
- package/dist/src/providers/position/relative/GeoRelativePositionProvider.d.ts +12 -0
- package/dist/src/providers/position/relative/PdrProvider.d.ts +15 -0
- package/dist/src/providers/steps/StepDetectionLadetto.d.ts +15 -0
- package/dist/src/providers/steps/StepDetectionMinMaxPeaks.d.ts +19 -0
- package/dist/src/providers/steps/StepDetectionMinMaxPeaks2.d.ts +27 -0
- package/dist/src/providers/steps/StepDetectionMinMaxPeaks3.d.ts +24 -0
- package/dist/src/providers/steps/StepProvider.d.ts +36 -0
- package/dist/src/providers/steps/StraightLineProvider.d.ts +21 -0
- package/dist/src/providers/vision/ArCoreProvider.d.ts +50 -0
- package/dist/src/providers/vision/BarcodeProvider.d.ts +11 -0
- package/dist/src/providers/vision/vps/ImageRelocalization.d.ts +11 -0
- package/dist/src/providers/vision/vps/RelativeRotationCalc.d.ts +10 -0
- package/dist/src/providers/vision/vps/VpsMetadata.d.ts +33 -0
- package/dist/src/providers/vision/vps/VpsProvider.d.ts +45 -0
- package/dist/src/providers/vision/vps/VpsRequest.d.ts +18 -0
- package/dist/src/providers/vision/vps/VpsResponse.d.ts +15 -0
- package/dist/src/smoothers/AttitudeSmoother.d.ts +23 -0
- package/dist/src/smoothers/PositionSmoother.d.ts +21 -0
- package/package.json +16 -12
- package/src/errors/AskImuOnDesktopError.ts +0 -10
- package/src/errors/ContainsIgnoredProviderError.ts +0 -10
- package/src/errors/GeolocationApiMissingError.ts +0 -10
- package/src/errors/GeolocationPermissionDeniedError.ts +0 -10
- package/src/errors/GeolocationPositionUnavailableError.ts +0 -10
- package/src/errors/IpResolveServerError.ts +0 -10
- package/src/errors/MissingAccelerometerError.ts +0 -11
- package/src/errors/MissingArCoreError.ts +0 -10
- package/src/errors/MissingGyroscopeError.ts +0 -11
- package/src/errors/MissingMagnetometerError.ts +0 -9
- package/src/errors/MissingNativeInterfaceError.ts +0 -11
- package/src/errors/MissingPoleStarError.ts +0 -10
- package/src/errors/MissingSensorError.ts +0 -15
- package/src/errors/NoProviderFoundError.ts +0 -10
- package/src/events/AvailabilityHelper.spec.ts +0 -30
- package/src/events/AvailabilityHelper.ts +0 -28
- package/src/events/ProvidersLoggerOld.ts +0 -87
- package/src/events/Types.ts +0 -18
- package/src/mapmatching/MapMatchingHandler.spec.ts +0 -142
- package/src/mapmatching/MapMatchingHandler.ts +0 -540
- package/src/providers/Constants.ts +0 -5
- package/src/providers/FakeProvider.spec.ts +0 -49
- package/src/providers/Provider.spec.ts +0 -113
- package/src/providers/Provider.ts +0 -244
- package/src/providers/attitude/EkfAttitude.spec.ts +0 -115
- package/src/providers/attitude/EkfAttitude.ts +0 -233
- package/src/providers/attitude/TurnProvider.ts +0 -58
- package/src/providers/attitude/absolute/AbsoluteAttitudeFromBrowserProvider.ts +0 -267
- package/src/providers/attitude/absolute/AbsoluteAttitudeProvider.ts +0 -268
- package/src/providers/attitude/relative/RelativeAttitudeFromBrowserProvider.ts +0 -84
- package/src/providers/attitude/relative/RelativeAttitudeFromEkfProvider.ts +0 -89
- package/src/providers/attitude/relative/RelativeAttitudeFromInertialProvider.ts +0 -66
- package/src/providers/attitude/relative/RelativeAttitudeProvider.ts +0 -70
- package/src/providers/imu/AccelerometerProvider.ts +0 -28
- package/src/providers/imu/GyroscopeProvider.ts +0 -27
- package/src/providers/imu/HighRotationsProvider.ts +0 -49
- package/src/providers/imu/ImuProvider.ts +0 -110
- package/src/providers/imu/MagnetometerCalibrationProvider.ts +0 -21
- package/src/providers/inclination/InclinationFromAccProvider.ts +0 -57
- package/src/providers/inclination/InclinationFromRelativeAttitudeProvider.ts +0 -51
- package/src/providers/inclination/InclinationProvider.ts +0 -59
- package/src/providers/legacy/helpers/HeadingUnlocker.spec.ts +0 -53
- package/src/providers/legacy/helpers/HeadingUnlocker.ts +0 -44
- package/src/providers/legacy/helpers/ThugDetector.ts +0 -30
- package/src/providers/others/CameraNativeProvider.ts +0 -29
- package/src/providers/others/CameraProjectionMatrixProvider.ts +0 -25
- package/src/providers/position/absolute/AbsolutePositionProvider.spec.ts +0 -31
- package/src/providers/position/absolute/AbsolutePositionProvider.ts +0 -277
- package/src/providers/position/absolute/GnssWifiProvider.ts +0 -126
- package/src/providers/position/absolute/GnssWifiProviders.spec.ts +0 -90
- package/src/providers/position/absolute/IpProvider.ts +0 -47
- package/src/providers/position/absolute/PoleStarProvider.ts +0 -88
- package/src/providers/position/relative/GeoRelativePositionFromArCoreProvider.ts +0 -82
- package/src/providers/position/relative/GeoRelativePositionProvider.ts +0 -35
- package/src/providers/position/relative/PdrProvider.ts +0 -107
- package/src/providers/steps/StepDetectionLadetto.ts +0 -67
- package/src/providers/steps/StepDetectionMinMaxPeaks.ts +0 -70
- package/src/providers/steps/StepDetectionMinMaxPeaks2.ts +0 -99
- package/src/providers/steps/StepDetectionMinMaxPeaks3.ts +0 -192
- package/src/providers/steps/StepProvider.ts +0 -151
- package/src/providers/steps/StraightLineProvider.ts +0 -69
- package/src/providers/vision/ArCoreProvider.ts +0 -184
- package/src/providers/vision/BarcodeProvider.ts +0 -28
- package/src/providers/vision/vps/ImageRelocalization.ts +0 -98
- package/src/providers/vision/vps/RelativeRotationCalc.ts +0 -58
- package/src/providers/vision/vps/VpsMetadata.ts +0 -63
- package/src/providers/vision/vps/VpsProvider.ts +0 -251
- package/src/providers/vision/vps/VpsRequest.ts +0 -29
- package/src/providers/vision/vps/VpsResponse.ts +0 -43
- package/src/providers/vision/vps/VpsSchema.json +0 -90
- package/src/smoothers/AttitudeSmoother.ts +0 -110
- package/src/smoothers/PositionSmoother.spec.ts +0 -53
- package/src/smoothers/PositionSmoother.ts +0 -96
- package/tsconfig.json +0 -3
- package/vite.config.ts +0 -4
- /package/{src/providers/ProviderState.ts → dist/src/providers/ProviderState.d.ts} +0 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { default as Provider } from '../../Provider.js';
|
|
2
|
+
import { RelativeAttitude } from '../../../events/Types.js';
|
|
3
|
+
declare class RelativeAttitudeFromInertial extends Provider<RelativeAttitude> {
|
|
4
|
+
/**
|
|
5
|
+
* default relative attitude drift in rad.second-1
|
|
6
|
+
*/
|
|
7
|
+
static DEFAULT_DRIFT: number;
|
|
8
|
+
_highRotationsProviderId?: number;
|
|
9
|
+
listenerId?: number;
|
|
10
|
+
provider?: Provider<RelativeAttitude>;
|
|
11
|
+
getName: () => string;
|
|
12
|
+
availability(): import('../../../events/AvailabilityHelper.js').AvailabilityPromise;
|
|
13
|
+
start(): void;
|
|
14
|
+
_parseEvent(event: RelativeAttitude): void;
|
|
15
|
+
stop(): void;
|
|
16
|
+
}
|
|
17
|
+
declare const _default: RelativeAttitudeFromInertial;
|
|
18
|
+
export default _default;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { default as Provider } from '../../Provider.js';
|
|
2
|
+
import { RelativeAttitude } from '../../../events/Types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Relative attitude provider gives the device attitude in East-North-Up (ENU) frame using
|
|
5
|
+
* browser deviceorientation
|
|
6
|
+
* The provider does not work until an offset is given.
|
|
7
|
+
*/
|
|
8
|
+
declare class RelativeAttitudeProvider extends Provider<RelativeAttitude> {
|
|
9
|
+
arCoreMonitoringId?: number;
|
|
10
|
+
arCoreProviderId?: number;
|
|
11
|
+
inertialProviderId?: number;
|
|
12
|
+
getName: () => string;
|
|
13
|
+
availability: () => import('../../../events/AvailabilityHelper.js').AvailabilityPromise;
|
|
14
|
+
start(): void;
|
|
15
|
+
/**
|
|
16
|
+
* @override
|
|
17
|
+
*/
|
|
18
|
+
stop(): void;
|
|
19
|
+
listenInertial: () => void;
|
|
20
|
+
unlistenInertial: () => void;
|
|
21
|
+
listenArCore: () => void;
|
|
22
|
+
unlistenArCore: () => void;
|
|
23
|
+
}
|
|
24
|
+
declare const _default: RelativeAttitudeProvider;
|
|
25
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { default as Provider } from '../Provider.js';
|
|
2
|
+
import { Acceleration } from '../../events/Types.js';
|
|
3
|
+
declare class AccelerometerProvider extends Provider<Acceleration> {
|
|
4
|
+
private imuProviderId?;
|
|
5
|
+
getName: () => string;
|
|
6
|
+
availability: () => import('../../events/AvailabilityHelper.js').AvailabilityPromise;
|
|
7
|
+
start(): void;
|
|
8
|
+
stop(): void;
|
|
9
|
+
}
|
|
10
|
+
declare const _default: AccelerometerProvider;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { default as Provider } from '../Provider.js';
|
|
2
|
+
import { AngularRate } from '../../events/Types.js';
|
|
3
|
+
declare class GyroscopeProvider extends Provider<AngularRate> {
|
|
4
|
+
private imuProviderId?;
|
|
5
|
+
getName: () => string;
|
|
6
|
+
availability: () => import('../../events/AvailabilityHelper.js').AvailabilityPromise;
|
|
7
|
+
start(): void;
|
|
8
|
+
stop(): void;
|
|
9
|
+
}
|
|
10
|
+
declare const _default: GyroscopeProvider;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { default as Provider } from '../Provider.js';
|
|
2
|
+
import { HighRotation } from '../../events/Types.js';
|
|
3
|
+
declare class HighRotationsProvider extends Provider<HighRotation> {
|
|
4
|
+
static THRESHOLD: number;
|
|
5
|
+
static DELAY_CONSIDERATION: number;
|
|
6
|
+
gyroscopeProviderId?: number;
|
|
7
|
+
getName: () => string;
|
|
8
|
+
availability: () => import('../../events/AvailabilityHelper.js').AvailabilityPromise;
|
|
9
|
+
start(): void;
|
|
10
|
+
stop(): void;
|
|
11
|
+
isInProgress(): boolean;
|
|
12
|
+
private _parseGyroscopeEvent;
|
|
13
|
+
}
|
|
14
|
+
declare const _default: HighRotationsProvider;
|
|
15
|
+
export default _default;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { default as Provider } from '../Provider.js';
|
|
2
|
+
import { default as AskImuOnDesktopError } from '../../errors/AskImuOnDesktopError.js';
|
|
3
|
+
import { Acceleration, AngularRate } from '../../events/Types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Imu (Inertial Measurement Unit) provider retrieve acceleration data
|
|
6
|
+
* and/or angular rate data from inertial sensors.
|
|
7
|
+
*
|
|
8
|
+
* -----------------------------------
|
|
9
|
+
* Overview of compatibilities:
|
|
10
|
+
* -----------------------------------
|
|
11
|
+
*
|
|
12
|
+
* Chrome Android (v72.0.3626): YES (via devicemotion)
|
|
13
|
+
* Safari iOS (v12.0): YES (via devicemotion)
|
|
14
|
+
* Opera Android (v50.2.2426): NO {@link https://developer.mozilla.org/en-US/docs/Web/API/DeviceMotionEvent}
|
|
15
|
+
* Firefox Android (v65.0.1): YES (via devicemotion)
|
|
16
|
+
*
|
|
17
|
+
* -----------------------------------
|
|
18
|
+
*/
|
|
19
|
+
type ImuEvent = {
|
|
20
|
+
readonly acceleration?: Acceleration;
|
|
21
|
+
readonly angularRate?: AngularRate;
|
|
22
|
+
};
|
|
23
|
+
declare class ImuProvider extends Provider<ImuEvent> {
|
|
24
|
+
getName: () => string;
|
|
25
|
+
availability(): Promise<void> | Promise<AskImuOnDesktopError>;
|
|
26
|
+
start(): void;
|
|
27
|
+
stop(): void;
|
|
28
|
+
/**
|
|
29
|
+
* devicemotion callback
|
|
30
|
+
*/
|
|
31
|
+
private parseDeviceMotionEvent;
|
|
32
|
+
}
|
|
33
|
+
declare const _default: ImuProvider;
|
|
34
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { default as Provider } from '../Provider.js';
|
|
2
|
+
import { MagnetometerNeedCalibration } from '../../events/Types.js';
|
|
3
|
+
declare class MagnetometerCalibrationProvider extends Provider<MagnetometerNeedCalibration> {
|
|
4
|
+
getName: () => string;
|
|
5
|
+
availability: () => import('../../events/AvailabilityHelper.js').AvailabilityPromise;
|
|
6
|
+
constructor();
|
|
7
|
+
start(): void;
|
|
8
|
+
stop(): void;
|
|
9
|
+
}
|
|
10
|
+
declare const _default: MagnetometerCalibrationProvider;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { default as Provider } from '../Provider.js';
|
|
2
|
+
import { Inclination } from '../../events/Types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Inclination provider gives the inclination of the device using Imu Sensor
|
|
5
|
+
* For example, when the top of the device is pointing the sky, inclination = Math.PI/2
|
|
6
|
+
* when the device is layed on a table, inclination = 0
|
|
7
|
+
* This provider use window.orientation to return a result in function of screen orientation
|
|
8
|
+
*/
|
|
9
|
+
declare class InclinationFromAccProvider extends Provider<Inclination> {
|
|
10
|
+
providerId?: number;
|
|
11
|
+
getName: () => string;
|
|
12
|
+
availability: () => import('../../events/AvailabilityHelper.js').AvailabilityPromise;
|
|
13
|
+
start(): void;
|
|
14
|
+
stop(): void;
|
|
15
|
+
private onAccelerometerEvent;
|
|
16
|
+
}
|
|
17
|
+
declare const _default: InclinationFromAccProvider;
|
|
18
|
+
export default _default;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Quaternion_t } from '@wemap/maths';
|
|
2
|
+
import { default as Provider } from '../Provider.js';
|
|
3
|
+
import { Inclination } from '../../events/Types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Inclination provider gives the inclination of the device using Relative Attitude
|
|
6
|
+
* For example, when the top of the device is pointing the sky, inclination = Math.PI/2
|
|
7
|
+
* when the device is layed on a table, inclination = 0
|
|
8
|
+
* This provider use window.orientation to return a result in function of screen orientation
|
|
9
|
+
*/
|
|
10
|
+
declare class InclinationFromRelativeAttitudeProvider extends Provider<Inclination> {
|
|
11
|
+
providerId?: number;
|
|
12
|
+
getName: () => string;
|
|
13
|
+
availability: () => import('../../events/AvailabilityHelper.js').AvailabilityPromise;
|
|
14
|
+
start(): void;
|
|
15
|
+
stop(): void;
|
|
16
|
+
enuQuatToInclination(q: Quaternion_t): number;
|
|
17
|
+
}
|
|
18
|
+
declare const _default: InclinationFromRelativeAttitudeProvider;
|
|
19
|
+
export default _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { default as Provider } from '../Provider.js';
|
|
2
|
+
import { Inclination } from '../../events/Types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Inclination provider gives the inclination of the device using Imu Sensor
|
|
5
|
+
* For example, when the top of the device is pointing the sky, inclination = Math.PI/2
|
|
6
|
+
* when the device is layed on a table, inclination = 0
|
|
7
|
+
* This provider use window.orientation to return a result in function of screen orientation
|
|
8
|
+
*/
|
|
9
|
+
declare class InclinationProvider extends Provider<Inclination> {
|
|
10
|
+
provider?: Provider<Inclination>;
|
|
11
|
+
providerId?: number;
|
|
12
|
+
getName: () => string;
|
|
13
|
+
availability(): import('../../events/AvailabilityHelper.js').AvailabilityPromise;
|
|
14
|
+
start(): Promise<void>;
|
|
15
|
+
stop(): void;
|
|
16
|
+
}
|
|
17
|
+
declare const _default: InclinationProvider;
|
|
18
|
+
export default _default;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HeadingUnlocker is designed to block Pdr Step Detection until user is aiming in the right direction
|
|
3
|
+
*/
|
|
4
|
+
declare class HeadingUnlocker {
|
|
5
|
+
static LO_ANGLE: number;
|
|
6
|
+
locked: boolean;
|
|
7
|
+
waitingOrientation: number | null;
|
|
8
|
+
unlock(): void;
|
|
9
|
+
lock(waitingOrientation: number): void;
|
|
10
|
+
feedHeading(heading: number): boolean;
|
|
11
|
+
}
|
|
12
|
+
export default HeadingUnlocker;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Vector3_t } from '@wemap/maths';
|
|
2
|
+
declare class ThugDetector {
|
|
3
|
+
static MIN_TIME_BETWEEN_DETECTIONS: number;
|
|
4
|
+
static EXT_ACC_NORM_THRESHOLD: number;
|
|
5
|
+
lastDetectionTimestamp: number;
|
|
6
|
+
compute(timestamp: number, acceleration: Vector3_t): boolean;
|
|
7
|
+
}
|
|
8
|
+
export default ThugDetector;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { default as Provider } from '../Provider.js';
|
|
2
|
+
import { CameraNativeState } from '../../events/Types.js';
|
|
3
|
+
declare class CameraNativeProvider extends Provider<CameraNativeState> {
|
|
4
|
+
providerId?: number;
|
|
5
|
+
getName: () => string;
|
|
6
|
+
availability: () => Promise<void>;
|
|
7
|
+
start(): void;
|
|
8
|
+
stop(): void;
|
|
9
|
+
}
|
|
10
|
+
declare const _default: CameraNativeProvider;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { default as Provider } from '../Provider.js';
|
|
2
|
+
import { CameraProjectionMatrix } from '../../events/Types.js';
|
|
3
|
+
declare class CameraProjectionMatrixProvider extends Provider<CameraProjectionMatrix> {
|
|
4
|
+
providerId?: number;
|
|
5
|
+
getName: () => string;
|
|
6
|
+
availability: () => import('../../events/AvailabilityHelper.js').AvailabilityPromise;
|
|
7
|
+
start(): void;
|
|
8
|
+
stop(): void;
|
|
9
|
+
}
|
|
10
|
+
declare const _default: CameraProjectionMatrixProvider;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { GeoRelativePosition } from '@wemap/geo';
|
|
2
|
+
import { default as Provider } from '../../Provider.js';
|
|
3
|
+
import { AbsolutePosition } from '../../../events/Types.js';
|
|
4
|
+
declare class AbsolutePositionProvider extends Provider<AbsolutePosition> {
|
|
5
|
+
static ACCURACY_RELOC_RATIO: number;
|
|
6
|
+
static USE_MM_FOR_FEED: boolean;
|
|
7
|
+
_polestarProviderId?: number;
|
|
8
|
+
_vpsProviderId?: number;
|
|
9
|
+
_gnssWifiProviderId?: number;
|
|
10
|
+
_relativePositionProviderId?: number;
|
|
11
|
+
_mapMatchingHandlerId?: number;
|
|
12
|
+
useAllAbsolutePositions: boolean;
|
|
13
|
+
_waitUntilNextVpsPosition: boolean;
|
|
14
|
+
_lastPolestarFix: number | null;
|
|
15
|
+
getName: () => string;
|
|
16
|
+
availability(): import('../../../events/AvailabilityHelper.js').AvailabilityPromise;
|
|
17
|
+
start(): void;
|
|
18
|
+
/**
|
|
19
|
+
* @override
|
|
20
|
+
*/
|
|
21
|
+
stop(): void;
|
|
22
|
+
private _shouldTakeIntoAccountNewAbsolutePosition;
|
|
23
|
+
/**
|
|
24
|
+
* @returns if input position is used by the system (true = used, false = discarded)
|
|
25
|
+
*/
|
|
26
|
+
private _onAbsolutePosition;
|
|
27
|
+
/**
|
|
28
|
+
* @returns if input position is used by the system (true = used, false = discarded)
|
|
29
|
+
*/
|
|
30
|
+
_onRelativePosition(relativeEvent: GeoRelativePosition): boolean;
|
|
31
|
+
feed(data: AbsolutePosition): void;
|
|
32
|
+
getBestPositionEvent(...absolutePositionEvents: (AbsolutePosition | null)[]): AbsolutePosition | null;
|
|
33
|
+
}
|
|
34
|
+
declare const _default: AbsolutePositionProvider;
|
|
35
|
+
export default _default;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { default as GeolocationApiMissingError } from '../../../errors/GeolocationApiMissingError.js';
|
|
2
|
+
import { default as Provider } from '../../Provider.js';
|
|
3
|
+
import { AbsolutePosition } from '../../../events/Types.js';
|
|
4
|
+
/**
|
|
5
|
+
* GnssWifiProvider is a provider based on navigator.geolocation.
|
|
6
|
+
* This API does not allow us to know if the position returned is provided
|
|
7
|
+
* by Wifi Fingerprinting algorithms or by GNSS. That is why the name is
|
|
8
|
+
* "GnssWifi".
|
|
9
|
+
*/
|
|
10
|
+
declare class GnssWifiProvider extends Provider<AbsolutePosition> {
|
|
11
|
+
static DEFAULT_DISCARD_POSITIONS_ABOVE: number;
|
|
12
|
+
discardPositionsAbove: number;
|
|
13
|
+
enableHighAccuracy: boolean;
|
|
14
|
+
geoLocationId?: number;
|
|
15
|
+
getName: () => string;
|
|
16
|
+
get positionOptions(): {
|
|
17
|
+
enableHighAccuracy: boolean;
|
|
18
|
+
timeout: number;
|
|
19
|
+
maximumAge: number;
|
|
20
|
+
};
|
|
21
|
+
availability(): Promise<void> | Promise<GeolocationApiMissingError>;
|
|
22
|
+
start(): void;
|
|
23
|
+
stop(): void;
|
|
24
|
+
private onNewPosition;
|
|
25
|
+
onPositionError: (error: GeolocationPositionError) => void;
|
|
26
|
+
}
|
|
27
|
+
declare const _default: GnssWifiProvider;
|
|
28
|
+
export default _default;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { default as Provider } from '../../Provider.js';
|
|
2
|
+
import { AbsolutePosition } from '../../../events/Types.js';
|
|
3
|
+
/**
|
|
4
|
+
* GnssWifiProvider is a provider based on navigator.geolocation.
|
|
5
|
+
* This API does not allow us to know if the position returned is provided
|
|
6
|
+
* by Wifi Fingerprinting algorithms or by GNSS. That is why the name is
|
|
7
|
+
* "GnssWifi".
|
|
8
|
+
*/
|
|
9
|
+
declare class IpProvider extends Provider<AbsolutePosition> {
|
|
10
|
+
getName: () => string;
|
|
11
|
+
availability: () => Promise<void>;
|
|
12
|
+
start(): Promise<void>;
|
|
13
|
+
stop(): void;
|
|
14
|
+
}
|
|
15
|
+
declare const _default: IpProvider;
|
|
16
|
+
export default _default;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { default as Provider } from '../../Provider.js';
|
|
2
|
+
import { AbsolutePosition } from '../../../events/Types.js';
|
|
3
|
+
declare class PoleStarProvider extends Provider<AbsolutePosition> {
|
|
4
|
+
getName: () => string;
|
|
5
|
+
constructor();
|
|
6
|
+
availability(): Promise<void> | Promise<Error>;
|
|
7
|
+
setApiKey(apiKey: string): void;
|
|
8
|
+
start(): void;
|
|
9
|
+
stop(): void;
|
|
10
|
+
get nativeProvider(): import('../../NativeProviders.js').NativePoleStar;
|
|
11
|
+
addMethodsToNativeJsProvider(): void;
|
|
12
|
+
}
|
|
13
|
+
declare const _default: PoleStarProvider;
|
|
14
|
+
export default _default;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { GeoRelativePosition, RelativePosition } from '@wemap/geo';
|
|
2
|
+
import { default as Provider } from '../../Provider.js';
|
|
3
|
+
import { ArCoreEvent } from '../../vision/ArCoreProvider.js';
|
|
4
|
+
import { AbsoluteAttitude, RelativeAttitude } from '../../../events/Types.js';
|
|
5
|
+
declare class GeoRelativePositionFromArCoreProvider extends Provider<GeoRelativePosition> {
|
|
6
|
+
absoluteAttitudeProviderId?: number;
|
|
7
|
+
arCoreProviderId?: number;
|
|
8
|
+
absoluteAttitudeEvent?: AbsoluteAttitude;
|
|
9
|
+
getName: () => string;
|
|
10
|
+
availability(): import('../../../events/AvailabilityHelper.js').AvailabilityPromise;
|
|
11
|
+
start(): void;
|
|
12
|
+
stop(): void;
|
|
13
|
+
onArCoreEvents: (event: ArCoreEvent) => void;
|
|
14
|
+
compute(relativePosition: RelativePosition, relativeAttitude: RelativeAttitude, absoluteAttitude: AbsoluteAttitude): void;
|
|
15
|
+
}
|
|
16
|
+
declare const _default: GeoRelativePositionFromArCoreProvider;
|
|
17
|
+
export default _default;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { GeoRelativePosition } from '@wemap/geo';
|
|
2
|
+
import { default as Provider } from '../../Provider.js';
|
|
3
|
+
declare class GeoRelativePositionProvider extends Provider<GeoRelativePosition> {
|
|
4
|
+
providerId?: number;
|
|
5
|
+
geoRelativeProvider?: Provider<GeoRelativePosition>;
|
|
6
|
+
getName: () => string;
|
|
7
|
+
availability(): import('../../../events/AvailabilityHelper.js').AvailabilityPromise;
|
|
8
|
+
start(): Promise<void>;
|
|
9
|
+
stop(): void;
|
|
10
|
+
}
|
|
11
|
+
declare const _default: GeoRelativePositionProvider;
|
|
12
|
+
export default _default;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { GeoRelativePosition } from '@wemap/geo';
|
|
2
|
+
import { default as Provider } from '../../Provider.js';
|
|
3
|
+
declare class PdrProvider extends Provider<GeoRelativePosition> {
|
|
4
|
+
private absoluteAttitudeProviderId?;
|
|
5
|
+
private stepDetectionProviderId?;
|
|
6
|
+
private attitudeEvent?;
|
|
7
|
+
private misalignmentError;
|
|
8
|
+
getName: () => string;
|
|
9
|
+
availability(): import('../../../events/AvailabilityHelper.js').AvailabilityPromise;
|
|
10
|
+
start(): void;
|
|
11
|
+
stop(): void;
|
|
12
|
+
private onStepEvent;
|
|
13
|
+
}
|
|
14
|
+
declare const _default: PdrProvider;
|
|
15
|
+
export default _default;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Vector3_t } from '@wemap/maths';
|
|
2
|
+
declare class StepDetectionLadetto {
|
|
3
|
+
static MIN_TIME_BETWEEN_STEPS: number;
|
|
4
|
+
static MAX_FRENQUENCY: number;
|
|
5
|
+
static MIN_FRENQUENCY: number;
|
|
6
|
+
static VERTICAL_ACC_POSITIVE_PEAK_THRESHOLD: number;
|
|
7
|
+
frequency: number;
|
|
8
|
+
lastVerticalAcc: number;
|
|
9
|
+
maxAcceleration: number;
|
|
10
|
+
lastStepTimestamp: number;
|
|
11
|
+
compute(timestamp: number, linearAcc: Vector3_t): boolean;
|
|
12
|
+
get lastStepSize(): number;
|
|
13
|
+
get speed(): number;
|
|
14
|
+
}
|
|
15
|
+
export default StepDetectionLadetto;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Vector3_t } from '@wemap/maths';
|
|
2
|
+
declare class StepDetectionMinMaxPeaks {
|
|
3
|
+
static WINDOW_TIME: number;
|
|
4
|
+
static MIN_TIME_BETWEEN_STEPS: number;
|
|
5
|
+
static MAX_FRENQUENCY: number;
|
|
6
|
+
static MIN_FRENQUENCY: number;
|
|
7
|
+
static VERTICAL_ACC_POSITIVE_PEAK_THRESHOLD: number;
|
|
8
|
+
static VERTICAL_ACC_NEGATIVE_PEAK_THRESHOLD: number;
|
|
9
|
+
frequency: number;
|
|
10
|
+
lastStepTimestamp: number;
|
|
11
|
+
slidingWindow: {
|
|
12
|
+
timestamp: number;
|
|
13
|
+
verticalAcc: number;
|
|
14
|
+
}[];
|
|
15
|
+
compute(timestamp: number, linearAcc: Vector3_t): boolean;
|
|
16
|
+
get lastStepSize(): number;
|
|
17
|
+
get speed(): number;
|
|
18
|
+
}
|
|
19
|
+
export default StepDetectionMinMaxPeaks;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Vector3_t } from '@wemap/maths';
|
|
2
|
+
declare class StepDetectionMinMaxPeaks2 {
|
|
3
|
+
static WINDOW_TIME: number;
|
|
4
|
+
static MIN_TIME_BETWEEN_STEPS: number;
|
|
5
|
+
static MAX_FRENQUENCY: number;
|
|
6
|
+
static MIN_FRENQUENCY: number;
|
|
7
|
+
static VERTICAL_ACC_POSITIVE_PEAK_THRESHOLD: number;
|
|
8
|
+
static VERTICAL_ACC_NEGATIVE_PEAK_THRESHOLD: number;
|
|
9
|
+
frequency: number;
|
|
10
|
+
influence: number;
|
|
11
|
+
slidingWindow: {
|
|
12
|
+
timestamp: number;
|
|
13
|
+
verticalAcc: number;
|
|
14
|
+
}[];
|
|
15
|
+
lastStepTimestamp: number;
|
|
16
|
+
previousVerticalAcc: number;
|
|
17
|
+
compute(timestamp: number, linearAcc: Vector3_t, angularRate: Vector3_t): boolean;
|
|
18
|
+
get lastStepSize(): number;
|
|
19
|
+
get speed(): number;
|
|
20
|
+
mean(data: {
|
|
21
|
+
verticalAcc: number;
|
|
22
|
+
}[]): number;
|
|
23
|
+
stddev(data: {
|
|
24
|
+
verticalAcc: number;
|
|
25
|
+
}[]): number;
|
|
26
|
+
}
|
|
27
|
+
export default StepDetectionMinMaxPeaks2;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Vector3_t } from '@wemap/maths';
|
|
2
|
+
declare class StepDetectionMinMaxPeaks3 {
|
|
3
|
+
static WINDOW_TIME: number;
|
|
4
|
+
static MIN_TIME_BETWEEN_STEPS: number;
|
|
5
|
+
static MAX_FRENQUENCY: number;
|
|
6
|
+
static MIN_FRENQUENCY: number;
|
|
7
|
+
static VERTICAL_ACC_POSITIVE_PEAK_THRESHOLD: number;
|
|
8
|
+
static VERTICAL_ACC_NEGATIVE_PEAK_THRESHOLD: number;
|
|
9
|
+
frequency: number;
|
|
10
|
+
influence: number;
|
|
11
|
+
slidingWindow: {
|
|
12
|
+
timestamp: number;
|
|
13
|
+
verticalAcc: number;
|
|
14
|
+
}[];
|
|
15
|
+
lastStepTimestamp: number;
|
|
16
|
+
previousVerticalAcc: number;
|
|
17
|
+
previousHorizontalAcc: number;
|
|
18
|
+
compute(timestamp: number, linearAcc: Vector3_t): boolean;
|
|
19
|
+
get lastStepSize(): number;
|
|
20
|
+
get speed(): number;
|
|
21
|
+
mean(data: number[]): number;
|
|
22
|
+
stddev(data: number[]): number;
|
|
23
|
+
}
|
|
24
|
+
export default StepDetectionMinMaxPeaks3;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Quaternion_t, Vector3_t } from '@wemap/maths';
|
|
2
|
+
import { default as Provider } from '../Provider.js';
|
|
3
|
+
import { Acceleration, AngularRate, RelativeAttitude, Step } from '../../events/Types.js';
|
|
4
|
+
type StepDetectorAlgorithmName = 'ladetto' | 'minMaxPeaks' | 'minMaxPeaks2' | 'minMaxPeaks3';
|
|
5
|
+
type StepDetectorAlgorithm = {
|
|
6
|
+
compute(timestamp: number, linearAcc: Vector3_t, angularRate?: Vector3_t): boolean;
|
|
7
|
+
lastStepSize: number;
|
|
8
|
+
};
|
|
9
|
+
declare class StepProvider extends Provider<Step> {
|
|
10
|
+
static DEFAULT_STEP_SIZE_MULTIPLIER: number;
|
|
11
|
+
static DEFAULT_ALGORITHM: StepDetectorAlgorithmName;
|
|
12
|
+
accelerometerProviderId?: number;
|
|
13
|
+
attitudeProviderId?: number;
|
|
14
|
+
gyroscopeProviderId?: number;
|
|
15
|
+
angularRateEvent?: AngularRate;
|
|
16
|
+
attitudeEvent?: RelativeAttitude;
|
|
17
|
+
numOfSteps: number;
|
|
18
|
+
stepDetector: StepDetectorAlgorithm;
|
|
19
|
+
_stepSizeMultiplier: number;
|
|
20
|
+
_algorithm: StepDetectorAlgorithmName;
|
|
21
|
+
_accValues: Vector3_t[];
|
|
22
|
+
constructor();
|
|
23
|
+
getName: () => string;
|
|
24
|
+
availability(): import('../../events/AvailabilityHelper.js').AvailabilityPromise;
|
|
25
|
+
start(): void;
|
|
26
|
+
stop(): void;
|
|
27
|
+
onAccelerometerEvent: (accelerationEvent: Acceleration) => void;
|
|
28
|
+
static computeLinearAcceleration(quaternion: Quaternion_t, acc: Vector3_t): Vector3_t;
|
|
29
|
+
set stepSizeMultiplier(stepSizeMultiplier: number);
|
|
30
|
+
get stepSizeMultiplier(): number;
|
|
31
|
+
set algorithm(algorithm: StepDetectorAlgorithmName);
|
|
32
|
+
get algorithm(): StepDetectorAlgorithmName;
|
|
33
|
+
}
|
|
34
|
+
export declare function createStepProvider(algorithm: StepDetectorAlgorithmName): StepProvider;
|
|
35
|
+
declare const _default: StepProvider;
|
|
36
|
+
export default _default;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { default as Provider } from '../Provider.js';
|
|
2
|
+
import { StraightLine } from '../../events/Types.js';
|
|
3
|
+
declare class StraightLineProvider extends Provider<StraightLine> {
|
|
4
|
+
static DEFAULT_STEPS_CONSIDERED_FOR_STRAIGHT_LINE: number;
|
|
5
|
+
_turnProviderId?: number;
|
|
6
|
+
_stepProviderId?: number;
|
|
7
|
+
_countSteps: number;
|
|
8
|
+
_stepsConsideredForStraightLine: number;
|
|
9
|
+
getName: () => string;
|
|
10
|
+
availability(): import('../../events/AvailabilityHelper.js').AvailabilityPromise;
|
|
11
|
+
start(): void;
|
|
12
|
+
stop(): void;
|
|
13
|
+
private _onTurn;
|
|
14
|
+
private _onStep;
|
|
15
|
+
isStraight(): boolean;
|
|
16
|
+
get numStepsDetectedFromLastTurn(): number;
|
|
17
|
+
get stepsConsideredForStraightLine(): number;
|
|
18
|
+
set stepsConsideredForStraightLine(stepsConsideredForStraightLine: number);
|
|
19
|
+
}
|
|
20
|
+
declare const _default: StraightLineProvider;
|
|
21
|
+
export default _default;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { RelativePosition } from '@wemap/geo';
|
|
2
|
+
import { default as Provider } from '../Provider.js';
|
|
3
|
+
import { default as MissingArCoreError } from '../../errors/MissingArCoreError.js';
|
|
4
|
+
import { NativeArCore } from '../NativeProviders.js';
|
|
5
|
+
import { Barcode, CameraProjectionMatrix, RelativeAttitude } from '../../events/Types.js';
|
|
6
|
+
export type Payload = [number, ...[number | string]];
|
|
7
|
+
export type ArCoreEvent = Readonly<{
|
|
8
|
+
readonly relativePosition: RelativePosition;
|
|
9
|
+
readonly relativeAttitude: RelativeAttitude;
|
|
10
|
+
readonly cameraProjection?: CameraProjectionMatrix;
|
|
11
|
+
readonly barcode?: Barcode;
|
|
12
|
+
}>;
|
|
13
|
+
declare class ArCoreProvider extends Provider<ArCoreEvent> {
|
|
14
|
+
static Payload: {
|
|
15
|
+
readonly Pose: {
|
|
16
|
+
readonly ref: number;
|
|
17
|
+
readonly size: 7;
|
|
18
|
+
};
|
|
19
|
+
readonly Barcode: {
|
|
20
|
+
readonly ref: number;
|
|
21
|
+
readonly size: 1;
|
|
22
|
+
};
|
|
23
|
+
readonly ProjMat: {
|
|
24
|
+
readonly ref: number;
|
|
25
|
+
readonly size: 16;
|
|
26
|
+
};
|
|
27
|
+
readonly ImageRef: {
|
|
28
|
+
readonly ref: number;
|
|
29
|
+
readonly size: 1;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* default relative attitude drift in rad.second-1
|
|
34
|
+
*/
|
|
35
|
+
static RELATIVE_ATTITUDE_DRIFT: number;
|
|
36
|
+
_nativeProvider?: NativeArCore;
|
|
37
|
+
previousPosition: number[];
|
|
38
|
+
getName: () => string;
|
|
39
|
+
availability(): Promise<void> | Promise<MissingArCoreError>;
|
|
40
|
+
start(): void;
|
|
41
|
+
stop(): void;
|
|
42
|
+
pullDataLoop: () => void;
|
|
43
|
+
parsePayload(payload: Payload): void;
|
|
44
|
+
get nativeProvider(): NativeArCore;
|
|
45
|
+
enableBarcodeScanner(): void;
|
|
46
|
+
disableBarcodeScanner(): void;
|
|
47
|
+
get useCameraNatively(): boolean;
|
|
48
|
+
}
|
|
49
|
+
declare const _default: ArCoreProvider;
|
|
50
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { default as Provider } from '../Provider.js';
|
|
2
|
+
import { Barcode } from '../../events/Types.js';
|
|
3
|
+
declare class BarcodePoleStarProvider extends Provider<Barcode> {
|
|
4
|
+
providerId?: number;
|
|
5
|
+
getName: () => string;
|
|
6
|
+
availability: () => import('../../events/AvailabilityHelper.js').AvailabilityPromise;
|
|
7
|
+
start(): void;
|
|
8
|
+
stop(): void;
|
|
9
|
+
}
|
|
10
|
+
declare const _default: BarcodePoleStarProvider;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Calibration } from '@wemap/camera';
|
|
2
|
+
import { Quaternion_t } from '@wemap/maths/index.js';
|
|
3
|
+
import { CoarsePose } from './VpsMetadata.js';
|
|
4
|
+
import { default as VpsRequest } from './VpsRequest.js';
|
|
5
|
+
import { default as VpsResponse } from './VpsResponse.js';
|
|
6
|
+
declare class ImageRelocalization {
|
|
7
|
+
static _prepareRequest(imageCanvas: HTMLCanvasElement, calibration?: Calibration | null, coarsePose?: CoarsePose | null): VpsRequest;
|
|
8
|
+
static relocalize(endpointUrl: string, imageCanvas: HTMLCanvasElement, calibration?: Calibration | null, coarsePose?: CoarsePose | null, customHeaders?: Record<string, string> | null): Promise<VpsResponse | null>;
|
|
9
|
+
static getHeadingFromQuaternion(quaternion: Quaternion_t): number;
|
|
10
|
+
}
|
|
11
|
+
export default ImageRelocalization;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Attitude } from '@wemap/geo';
|
|
2
|
+
export default class RelativeRotationCalc {
|
|
3
|
+
_providerId?: number;
|
|
4
|
+
_isRunning: boolean;
|
|
5
|
+
_dataOnStart: Attitude | null;
|
|
6
|
+
tickStart(): void;
|
|
7
|
+
tickEnd(): Attitude | null;
|
|
8
|
+
_internalStop(): void;
|
|
9
|
+
release(): void;
|
|
10
|
+
}
|