/// <summary> /// Constructor /// </summary> /// <param name="consumer">Data consumer</param> /// <param name="provider">Time provider</param> /// <param name="processor">Differential equation processor</param> /// <param name="reason">Reason</param> /// <param name="priority">Priority</param> public TimeProviderBackup(IDataConsumer consumer, ITimeMeasureProvider provider, IDifferentialEquationProcessor processor, string reason, int priority) { this.consumer = consumer; collection = consumer.GetDependentCollection(priority); SetTimeProvider(collection, provider, dictionary); CreateMeasurements(priority, null); runtime = consumer.CreateRuntime(reason, priority); this.processor = processor; if (processor != null) { processor.Set(collection); // !!! added to allow buffer processing, as no IDifferentialEquationProcessoris required there } }
/// <summary> /// Constructor /// </summary> /// <param name="consumer">Data consumer</param> /// <param name="provider">Time provider</param> /// <param name="processor">Differential equation processor</param> /// <param name="reason">Reason</param> /// <param name="priority">Priority</param> public TimeProviderBackup(IDataConsumer consumer, ITimeMeasureProvider provider, IDifferentialEquationProcessor processor, string reason, int priority) { this.consumer = consumer; collection = consumer.GetDependentCollection(priority); SetCollectionHolders(); List <object> l = new List <object>(collection.AllComponents); if (!l.Contains(consumer)) { l.Add(consumer); } SetTimeProvider(l, provider, dictionary); CreateMeasurements(priority, null); runtime = consumer.CreateRuntime(reason, priority); if (processor != null) { this.processor = processor; processor.Set(collection); } }