public override void DefaultValues() { IList <double> elementValue = new List <double> { _defaultValue }; IList <IList <double> > list = new List <IList <double> > { elementValue }; Values = new TimeSpaceValueSet <double>(list); }
private void ProduceOutput(IEnumerable <EngineOutputItem> requiredOutputItems) { foreach (EngineOutputItem engineOutputItem in requiredOutputItems) { if (engineOutputItem.Values == null) { TimeSpaceValueSet <double> defaultValueSet = new TimeSpaceValueSet <double>(); defaultValueSet.Values2D.Add(new List <double> { 0 }); engineOutputItem.Values = defaultValueSet; } double value = (double)engineOutputItem.Values.Values2D[0][0]; value += _deltaT; engineOutputItem.Values.Values2D[0][0] = value; engineOutputItem.TimeSet.SetSingleTimeStamp(_currentTime); } }
public override ITimeSpaceValueSet GetValues(IBaseExchangeItem querySpecifier2) { ITimeSpaceExchangeItem timeSpaceQuery = querySpecifier2 as ITimeSpaceExchangeItem; if (timeSpaceQuery == null) { throw new ArgumentException("querySpecifier must be an ITimeSpaceExchangeItem - add an adaptor"); } if (!(timeSpaceQuery is ITimeSpaceInput)) { throw new OpenMIException("Get Values can only be called with an Input as argument") { Component = Adaptee.Component, Output = this }; } /// Using a _query item in the /// _adaptee.GetValues(_query) /// instead of /// _adaptee.GetValues(this) /// /// Reason: /// The latter would need to set internal /// TimeSet = timeSpaceQuery.TimeSet; /// but then internal Values does not match TimeSet /// (and also the TimeSet is set to override and return _adaptee.TimeSet) // Before uncommenting this, comment out the overidden TimeSet property above //TimeSet = timeSpaceQuery.TimeSet; // Set query time to internal query item _query.TimeSet = timeSpaceQuery.TimeSet; ITimeSpaceValueSet incomingValues = _adaptee.GetValues(_query); TimeSpaceValueSet <double> resultValues = ElementMapper.CreateResultValueSet(incomingValues.TimesCount(), SpatialDefinition.ElementCount); // Transform the values from the adaptee _elementMapper.MapValues(resultValues, incomingValues); return(resultValues); }
public ITimeSpaceValueSet GetValues(IBaseExchangeItem querySpecifier) { ITimeSpaceExchangeItem timeSpaceQuery = querySpecifier as ITimeSpaceExchangeItem; if (timeSpaceQuery == null) { throw new ArgumentException("Must be an ITimeSpaceExchangeItem, add an adaptor", "querySpecifier"); } if (_children.Count == 0) { return(null); // TODO: Or throw an exception? } TimeSpaceValueSet <double> resultSet = ElementMapper.CreateResultValueSet(timeSpaceQuery.TimeSet.Times.Count, this.ElementSet().ElementCount); // Get values from all adaptees/children, and add them together for (int i = 0; i < _children.Count; i++) { _children[i].GetValues(resultSet, querySpecifier); } return(resultSet); }
public override void DefaultValues() { Values = new TimeSpaceValueSet <double>(_defaultValues); }