/// <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); }
/// <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); }