//this will then analyze the raw data and parse it into a myo data class //we do not want to make it all automatic because we have different tasks asking for different data private void AnalyzeFromRaw() { Data = new MyoData(); Data.Pose = _poseAnalyzer.Data; Data.Accel = _accelAnalyzer.Data; Data.Gyro = _gyroAnalyzer.Data; Data.Orien = _orienAnalyzer.Data; }
void Update() { lock (_lock) { armSynced = _myoArmSynced; arm = _myoArm; xDirection = _myoXDirection; //Felix /*if (_myoQuaternion != null) * { * transform.localRotation = new Quaternion(_myoQuaternion.Y, _myoQuaternion.Z, -_myoQuaternion.X, -_myoQuaternion.W); * }*/ if (_myoAccelerometer != null) { accelerometer = new Vector3(_myoAccelerometer.Y, _myoAccelerometer.Z, -_myoAccelerometer.X); } if (_myoGyroscope != null) { gyroscope = new Vector3(_myoGyroscope.Y, _myoGyroscope.Z, -_myoGyroscope.X); } //pose = _myoPose; //Felix if (Player != null && Player.Replaying && Player.FrameCount > 0) { MyoData mData = Player.GetCurrentFrame(); pose = mData.Pose; transform.localRotation = mData.Quaternion; if (Player != null && !Player.Focus) { Player.SetFocus(true); } } else { pose = _myoPose; if (armSynced && _myoQuaternion != null) { transform.localRotation = new Quaternion(_myoQuaternion.Y, _myoQuaternion.Z, -_myoQuaternion.X, -_myoQuaternion.W); if (Player != null && !Player.Focus) { Player.SetFocus(true); } } else if (Player != null) { Player.SetFocus(false); } } unlocked = _myoUnlocked; } }