private void processAccelerometerData(CMAccelerometerData data, NSError error) { if (spiderView == null) { return; } var ax = data.Acceleration.X; var ay = data.Acceleration.Y; var angle = -(nfloat)Math.Atan2(ay, ax); gravity.Angle = angle; if (previousAcceleration.HasValue) { var dx = (nfloat)(ax - previousAcceleration.Value.X); var dy = (nfloat)(ay - previousAcceleration.Value.Y); var direction = new CGVector(dx, dy); var magnitude = (nfloat)Math.Sqrt(dx * dx + dy * dy); if (magnitude > 0.25f) { applyForce(direction, magnitude); } } previousAcceleration = data.Acceleration; }
private void processAccelerometerData(CMAccelerometerData data, NSError error) { if (spiderView == null) { return; } var(ax, ay) = convertXYCoordinate(data.Acceleration.X, data.Acceleration.Y, UIApplication.SharedApplication.StatusBarOrientation); var angle = -(nfloat)Math.Atan2(ay, ax); gravity.Angle = angle; if (previousAcceleration.HasValue) { var(previousX, previousY) = convertXYCoordinate(previousAcceleration.Value.X, previousAcceleration.Value.Y, UIApplication.SharedApplication.StatusBarOrientation); var dx = (nfloat)(ax - previousX); var dy = (nfloat)(ay - previousY); var direction = new CGVector(dx, dy); var magnitude = (nfloat)Math.Sqrt(dx * dx + dy * dy); if (magnitude > 0.25f) { applyForce(direction, magnitude); } } previousAcceleration = data.Acceleration; }
void HandleCMAccelerometerHandler(CMAccelerometerData data, NSError error) { _accelerometerRepository.Add(new Accelerometer() { Timestamp = DateTimeOffset.Now, X = Convert.ToSingle(data.Acceleration.X), Y = Convert.ToSingle(data.Acceleration.Y), Z = Convert.ToSingle(data.Acceleration.Z) }); }
/// <summary> /// Raises the accelerometer changed event. /// </summary> /// <param name="data">Data.</param> /// <param name="error">Error.</param> void OnAccelerometerChanged(CMAccelerometerData data, NSError error) { if (error == null) { OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <VectorReading>(new VectorReading(data.Acceleration.X, data.Acceleration.Y, data.Acceleration.Z))); } else { OnReadingError?.Invoke(this, new DeviceSensorReadingErrorEventArgs(error.Description)); } }
static void DataUpdated(CMAccelerometerData data, NSError error) { if (data == null) { return; } var field = data.Acceleration; var accelData = new AccelerometerData(field.X, field.Y, field.Z); OnChanged(accelData); }
public void Default() { // this would (and did) crash if we called 'init' using (var ad = new CMAccelerometerData()) { Assert.That(ad.Acceleration.X, Is.EqualTo(0.0d), "X"); Assert.That(ad.Acceleration.Y, Is.EqualTo(0.0d), "Y"); Assert.That(ad.Acceleration.Z, Is.EqualTo(0.0d), "Z"); // from CMLogItem // NaN on the simulator, 0.0d on devices - but we just want to ensure we do not crash Assert.That(ad.Timestamp, Is.Not.EqualTo(1.0d), "Timestamp"); } }
private void OnAccelerometerChanged(CMAccelerometerData data, NSError error) { OnSensorValueChanged(new SensorValueChangedEventArgs { ValueType = MotionSensorValueType.Vector, SensorType = MotionSensorType.Accelerometer, Value = new MotionVector() { X = data.Acceleration.X, Y = data.Acceleration.Y, Z = data.Acceleration.Z } }); }
void DataUpdated(CMAccelerometerData data, NSError error) { if (data == null) { return; } #pragma warning disable CA1416 // https://github.com/xamarin/xamarin-macios/issues/14619 var field = data.Acceleration; #pragma warning restore CA1416 var accelData = new AccelerometerData(field.X * -1, field.Y * -1, field.Z * -1); OnChanged(accelData); }
private void ReadingChangedHandler(CMAccelerometerData data, NSError error) { AccelerometerReading reading = new AccelerometerReading(); this.IsDataValid = error == null; if (this.IsDataValid) { this.IsDataValid = true; reading.Acceleration = new Vector3((float)data.Acceleration.X, (float)data.Acceleration.Y, (float)data.Acceleration.Z); reading.Timestamp = DateTime.UtcNow; this.CurrentValue = reading; this.IsDataValid = error == null; } }
private void processAccelerometerData(CMAccelerometerData data, NSError error) { if (spiderView == null) { return; } var(ax, ay) = convertXYCoordinate(data.Acceleration.X, data.Acceleration.Y, UIApplication.SharedApplication.StatusBarOrientation); var angle = -(nfloat)Math.Atan2(ay, ax); gravity.Angle = angle; }
private void OnAccelerometerReadingValueChanged(CMAccelerometerData data, NSError error) { if (this.SensorValueChanged == null) { return; } if (error != null) { return; } this.SensorValueChanged((object)this, new SensorReadingValueChangedEventArgs() { SensorType = SensorType.Accelerometer, ValueType = ValueType.Vector, Value = new SensorVectorValue() { X = data.Acceleration.X, Y = data.Acceleration.Y, Z = data.Acceleration.Z }, }); }
private void AccelerometerHandler(CMAccelerometerData data, NSError error) { readingChanged(data, error); }
void HandleChanged(CMAccelerometerData data, NSError _) { OnChanged(new MotionVector(data.Acceleration.X, data.Acceleration.Y, data.Acceleration.Z)); }
/// <summary> /// Raises the accelerometer changed event. /// </summary> /// <param name="data">Data.</param> /// <param name="error">Error.</param> private void OnAccelerometerChanged(CMAccelerometerData data, NSError error) { if (SensorValueChanged == null) return; SensorValueChanged(this, new SensorValueChangedEventArgs { ValueType = MotionSensorValueType.Vector, SensorType = MotionSensorType.Accelerometer, Value = new MotionVector() { X = data.Acceleration.X, Y = data.Acceleration.Y, Z = data.Acceleration.Z } }); }
private void OnSensorChanged(CMAccelerometerData data, NSError error) { var change = new SensorChange(Math.Abs(data.Acceleration.X * 10), Math.Abs(data.Acceleration.Y * 10), Math.Abs(data.Acceleration.Z * 10));; RaiseChange(change); }
/// <summary> /// Raises the accelerometer changed event. /// </summary> /// <param name="data">Data.</param> /// <param name="error">Error.</param> void OnAccelerometerChanged(CMAccelerometerData data, NSError error) { OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <VectorReading>(new VectorReading(data.Acceleration.X, data.Acceleration.Y, data.Acceleration.Z))); }