Пример #1
0
        /// <summary>
        /// Sets a state and fills the network with water
        /// </summary>
        /// <param name="stateID"></param>
        /// <param name="CurrentTime"></param>
        public void SetState(string stateID, DateTime CurrentTime, IWaterPacket WaterTypeToFillWith)
        {
            this.CurrentTime = CurrentTime;
            StateIds.Add(stateID);
            if (StateIds.Count == 1)
            {
                SimulationStartTime = CurrentTime;
            }

            foreach (IWaterBody IW in _waterBodies)
            {
                IW.SetState(stateID, CurrentTime, WaterTypeToFillWith.DeepClone(IW.Volume));
            }
        }
Пример #2
0
        /// <summary>
        /// Sets the state. Also stores the state. If the state name already exists it will be overwritten
        /// </summary>
        /// <param name="StateName"></param>
        /// <param name="Time"></param>
        /// <param name="WaterInStream"></param>
        public void SetState(string StateName, DateTime Time, IWaterPacket WaterInStream)
        {
            var state = new Tuple <DateTime, IWaterPacket>(Time, WaterInStream.DeepClone());

            if (_states.ContainsKey(StateName))
            {
                _states[StateName] = state;
            }
            else
            {
                _states.Add(StateName, state);
            }

            RestoreState(StateName);
        }
Пример #3
0
        /// <summary>
        /// Sets the state. Also stores the state. I
        /// </summary>
        /// <param name="StateName"></param>
        /// <param name="Time"></param>
        /// <param name="WaterInStream"></param>
        public void SetState(string StateName, DateTime Time, IWaterPacket WaterInStream)
        {
            Queue <IWaterPacket> _water = new Queue <IWaterPacket>();

            _water.Enqueue(WaterInStream.DeepClone());

            Tuple <DateTime, Queue <IWaterPacket> > state = new Tuple <DateTime, Queue <IWaterPacket> >(Time, _water);

            if (_states.ContainsKey(StateName))
            {
                _states[StateName] = state;
            }
            else
            {
                _states.Add(StateName, state);
            }

            RestoreState(StateName);
        }
Пример #4
0
    /// <summary>
    /// Sets the state. Also stores the state. I
    /// </summary>
    /// <param name="StateName"></param>
    /// <param name="Time"></param>
    /// <param name="WaterInStream"></param>
    public void SetState(string StateName, DateTime Time, IWaterPacket WaterInStream)
    {
      Queue<IWaterPacket> _water = new Queue<IWaterPacket>();
      _water.Enqueue(WaterInStream.DeepClone());

      Tuple<DateTime, Queue<IWaterPacket>> state = new Tuple<DateTime, Queue<IWaterPacket>>(Time, _water);

      if (_states.ContainsKey(StateName))
        _states[StateName] = state;
      else
        _states.Add(StateName, state);
      
      RestoreState(StateName);
    }
Пример #5
0
    /// <summary>
    /// Sets a state and fills the network with water
    /// </summary>
    /// <param name="stateID"></param>
    /// <param name="CurrentTime"></param>
    public void SetState(string stateID, DateTime CurrentTime, IWaterPacket WaterTypeToFillWith)
    {
      this.CurrentTime = CurrentTime;
      StateIds.Add(stateID);
      if (StateIds.Count == 1)
        SimulationStartTime = CurrentTime;

      foreach (IWaterBody IW in _waterBodies)
        IW.SetState(stateID, CurrentTime, WaterTypeToFillWith.DeepClone(IW.Volume));
    }
Пример #6
0
    /// <summary>
    /// Sets the state. Also stores the state. If the state name already exists it will be overwritten
    /// </summary>
    /// <param name="StateName"></param>
    /// <param name="Time"></param>
    /// <param name="WaterInStream"></param>
    public void SetState(string StateName, DateTime Time, IWaterPacket WaterInStream)
    {
      var state = new Tuple<DateTime,IWaterPacket>(Time,WaterInStream.DeepClone());

      if (_states.ContainsKey(StateName))
        _states[StateName] = state;
      else
       _states.Add(StateName, state);
  
      RestoreState(StateName);
    }