public void PointInDirection(List <IMyGyro> gyros, MatrixD reference, Vector3D direction, Vector3D up) { double yaw, pitch, roll; GyroUtils.DirectionToPitchYawRoll(reference, direction, up, out yaw, out pitch, out roll); double timeSinceLast = (ingameTime.Time - lastTime).TotalSeconds; lastTime = ingameTime.Time; yaw = yawPid.NextValue(yaw, timeSinceLast); pitch = pitchPid.NextValue(pitch, timeSinceLast); roll = rollPid.NextValue(roll, timeSinceLast); GyroUtils.ApplyGyroOverride(gyros, reference, pitch, yaw, roll, onlyUpdateOne); }