UNPKG

@osobh/reactar

Version:

AR Library for React Native and Expo

73 lines 2.57 kB
"use strict"; // src/sensors/DeviceTracking.ts Object.defineProperty(exports, "__esModule", { value: true }); exports.DeviceTracking = void 0; const expo_sensors_1 = require("expo-sensors"); class DeviceTracking { constructor() { this.accelerometerSubscription = null; this.gyroscopeSubscription = null; this.deviceMotionSubscription = null; this.magnetometerSubscription = null; this.accelerometerData = null; this.gyroscopeData = null; this.deviceMotionData = null; this.magnetometerData = null; } startAccelerometer(interval = 100) { expo_sensors_1.Accelerometer.setUpdateInterval(interval); this.accelerometerSubscription = expo_sensors_1.Accelerometer.addListener(data => { this.accelerometerData = data; }); } stopAccelerometer() { if (this.accelerometerSubscription) { this.accelerometerSubscription.remove(); this.accelerometerSubscription = null; } } startGyroscope(interval = 100) { expo_sensors_1.Gyroscope.setUpdateInterval(interval); this.gyroscopeSubscription = expo_sensors_1.Gyroscope.addListener(data => { this.gyroscopeData = data; }); } stopGyroscope() { if (this.gyroscopeSubscription) { this.gyroscopeSubscription.remove(); this.gyroscopeSubscription = null; } } startDeviceMotion(interval = 100) { expo_sensors_1.DeviceMotion.setUpdateInterval(interval); this.deviceMotionSubscription = expo_sensors_1.DeviceMotion.addListener(data => { this.deviceMotionData = data; }); } stopDeviceMotion() { if (this.deviceMotionSubscription) { this.deviceMotionSubscription.remove(); this.deviceMotionSubscription = null; } } startMagnetometer(interval = 100) { expo_sensors_1.Magnetometer.setUpdateInterval(interval); this.magnetometerSubscription = expo_sensors_1.Magnetometer.addListener(data => { this.magnetometerData = data; }); } stopMagnetometer() { if (this.magnetometerSubscription) { this.magnetometerSubscription.remove(); this.magnetometerSubscription = null; } } stopAllSensors() { this.stopAccelerometer(); this.stopGyroscope(); this.stopDeviceMotion(); this.stopMagnetometer(); } } exports.DeviceTracking = DeviceTracking; //# sourceMappingURL=DeviceTracking.js.map