Beispiel #1
0
        public double CalculateCurrentVelocity_TestCases(int Vector1x, int Vector1y, int Vector2x, int Vector2y, int seconds, int milliseconds)
        {
            var      vector1     = new Vector2(Vector1x, Vector1y);
            var      vector2     = new Vector2(Vector2x, Vector2y);
            DateTime timestamp_1 = DateTime.Now;
            DateTime timestamp_2 = timestamp_1.AddSeconds(seconds).AddMilliseconds(milliseconds);

            return(Math.Round(_uut.CalculateCurrentVelocity(vector1, timestamp_1, vector2, timestamp_2), 3));
        }
Beispiel #2
0
        public void AddDataPoint(FTDataPoint new_dp)
        {
            _tag = new_dp.Tag;
            _currentPosition.X = new_dp.X;
            _currentPosition.Y = new_dp.Y;
            _currentAltitude   = new_dp.Altitude;
            _lastUpdated       = new_dp.TimeStamp;

            FTDataPoint previous_dp = _trackDataLog.Count != 0 ? _trackDataLog.First() : null;

            _trackDataLog.AddFirst(new_dp);

            Vector2 previous_position = (previous_dp != null) ? new Vector2(previous_dp.X, previous_dp.Y) : Vector2.Zero;
            Vector2 current_position  = new Vector2(new_dp.X, new_dp.Y);

            _currentVelocity = _velocityCalculator.CalculateCurrentVelocity(
                previous_position,
                previous_dp?.TimeStamp,
                current_position,
                new_dp.TimeStamp
                );
            _currentCourse = _courseCalculator.CalculateCurrentCourse(previous_position, current_position);
        }