Esempio n. 1
0
        private void drTrTimes(ModelControl control)
        {
            string modelName = "";
            int    expNumber = -1;
            IEnumerable <SectionListItem> sections = null;

            control.Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate()
            {
                modelName = control.ModelName;
                expNumber = control.ExperimentNumber;
                sections  = control.Clone.TrTimeSections;
            }));

            string masterModelDir = clerk.GetExperimentModelDirName(modelName, expNumber);
            var    ds             = CreateDataSetFromGroups(masterModelDir);

            var bindings = from s in sections
                           group s by s.No
                           into gr
                           let coords = (from g in gr select new Point[] { g.FromCoord, g.ToCoord }).FirstOrDefault()
                                        select new DataCollectionBindingSource
            {
                MeasureId      = gr.Key,
                Center         = FindCenter(coords),
                Points         = coords,
                AggregatedData = ds.Tables[gr.Key.Value.ToString()],
            };

            control.Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate()
            {
                ModelPlotter.DrawTrTimes(control, bindings);
            }));
        }
Esempio n. 2
0
        private void drCounters(ModelControl control)
        {
            string modelName = "";
            int    expNumber = -1;
            IEnumerable <PointsListItem> points = null;

            control.Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate()
            {
                modelName = control.ModelName;
                expNumber = control.ExperimentNumber;
                points    = control.Clone.CollectionPoints;
            }));

            string masterModelDir = clerk.GetExperimentModelDirName(modelName, expNumber);

            var bindings = from p in points
                           group p by p.MeasurId
                           into gr
                           let coords = (from p in gr select p.Coord)
                                        select new DataCollectionBindingSource
            {
                MeasureId      = gr.Key,
                Center         = FindCenter(coords),
                Points         = coords,
                AggregatedData = CreateTableFromMeasurement(masterModelDir, gr.Key),
            };

            control.Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate()
            {
                ModelPlotter.DrawCounters(control, bindings);
            }));
        }
Esempio n. 3
0
        private void drSections(ModelControl control)
        {
            string modelName = "";
            int    expNumber = -1;

            control.Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate()
            {
                modelName = control.ModelName;
                expNumber = control.ExperimentNumber;
            }));

            string inputFileName = clerk.GetExperimentInputFileName(modelName, expNumber);

            string text = File.ReadAllText(inputFileName);

            var sections = TextProcessor.GetSections(text); //.ToList();

            control.Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate()
            {
                ModelPlotter.DrawSections(control, sections);
            }));
        }
Esempio n. 4
0
        private void drNetwork(ModelControl control)
        {
            string modelName = "";
            int    expNumber = -1;

            control.Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate()
            {
                modelName = control.ModelName;
                expNumber = control.ExperimentNumber;
            }));

            string inputFileName = clerk.GetExperimentInputFileName(modelName, expNumber);
            string text          = File.ReadAllText(inputFileName);

            var links      = TextProcessor.GetLinks(text);
            var connectors = TextProcessor.GetConnectors(text, links.ToArray());

            control.Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate()
            {
                ModelPlotter.DrawLinks(control, links.Union(connectors));
            }));
        }