Пример #1
0
        /// <summary>
        /// Возврат по обратной связи
        /// </summary>
        private ProcedureSimulationResult BackLinkReturn(double curTime)
        {
            var newToken = Inputs[0].Tokens.Peek();

            foreach (var input in Inputs)
            {
                input.Tokens.Dequeue();
            }

            foreach (var backlink in BackLinks)
            {
                backlink.End.Inputs[0].Tokens.Enqueue(new Token(newToken.Quality));
            }

            //OnEndModeling();

            var result = new ProcedureSimulationResult
            {
                StartTime     = (StartTime.HasValue) ? StartTime.Value : curTime,
                EndTime       = curTime,
                IsBackLink    = true,
                ResultQuality = newToken.Quality
            };

            StartTime = null;

            return(result);
        }
Пример #2
0
        /// <summary>
        /// Конец моделирования процедуры
        /// </summary>
        private ProcedureSimulationResult EndModeling(double curTime)
        {
            //var referenceToken = Inputs[0].Tokens.Peek();

            foreach (var input in Inputs)
            {
                input.Tokens.Dequeue();
            }

            foreach (var output in Outputs)
            {
                var newToken = new Token(_targetQuality);

                output.Tokens.Enqueue(newToken);
            }

            OnEndModeling();

            var result = new ProcedureSimulationResult
            {
                StartTime     = (StartTime.HasValue) ? StartTime.Value : curTime,
                EndTime       = curTime,
                IsBackLink    = false,
                StartQuality  = _interQuality,
                ResultQuality = _targetQuality
            };

            StartTime = null;

            return(result);
        }