Ejemplo n.º 1
0
        } // end of DrawingSystem

        #endregion

        //--------------------------------------------------------------------------------------------------
        // Methods
        //--------------------------------------------------------------------------------------------------

        #region CreateModelVisualization

        /// <summary>
        /// Creates a visualization of a simulation model at a given time. For each control unit
        /// of the model it is checked if a BaseWPFControlUnitVisualizationEngine has been
        /// specified and if so it is used to create the dynamic visualization of the control.
        /// If not nothing is done for that control unit.
        /// </summary>
        /// <param name="currentTime">Time at which model should be visualized</param>
        /// <param name="simModel">Model to visualize</param>
        /// <param name="currentEvents">Currently triggered events in the model</param>
        public void CreateModelVisualization(DateTime currentTime, SimulationModel simModel, IEnumerable <Event> currentEvents)
        {
            AdditionalDynamicVisualization(currentTime);

            foreach (ControlUnit control in SimulationModel.ControlUnits.Values)
            {
                if (VisualizationPerControlUnit.ContainsKey(control))
                {
                    VisualizationPerControlUnit[control].VisualizeDynamicModel(currentTime, SimulationModel, control, currentEvents.Where(p => p.ParentControlUnit == control));
                }
            } // end foreach
        }     // end of CreateModelVisualization
Ejemplo n.º 2
0
        }     // end of CreateModelVisualization

        #endregion

        #region InitializeModelVisualizationAtTime

        // <summary>
        /// Initilializes the visualization, can be at start of simulation (e.g. static visualization), at re-enabling
        /// visualization during a visualization run or re-runs after completion.  For each control unit
        /// of the model it is checked if a BaseWPFControlUnitVisualizationEngine has been
        /// specified and if so it is used to create the static visualization of the control.
        /// If not nothing is done for that control unit.
        /// </summary>
        /// <param name="initializeTime">The time the model is initialized</param>
        /// <param name="simulationModel">The model at the initilization time</param>
        public void InitializeModelVisualizationAtTime(DateTime initializeTime, SimulationModel simulationModel)
        {
            DrawingSystem.ClearSystem();

            AdditionalStaticVisualization(initializeTime);

            foreach (ControlUnit control in SimulationModel.ControlUnits.Values)
            {
                if (VisualizationPerControlUnit.ContainsKey(control))
                {
                    VisualizationPerControlUnit[control].IntializeVisualizationAtTime(initializeTime, SimulationModel, control);
                }
            } // end foreach
        }     // end of InitializeModelVisualizationAtTime