예제 #1
0
        private void SetSoilProfileChartData()
        {
            PipingSoilProfile soilProfile = data.InputParameters.StochasticSoilProfile?.SoilProfile;

            // If necessary, regenerate all soil layer chart data
            if (!ReferenceEquals(currentSoilProfile, soilProfile))
            {
                currentSoilProfile = soilProfile;

                soilProfileChartData.Clear();
                soilLayerChartDataLookup.Clear();
                GetSoilLayers().Select(PipingChartDataFactory.CreateSoilLayerChartData)
                .ForEachElementDo(sl =>
                {
                    soilProfileChartData.Insert(0, sl);
                    soilLayerChartDataLookup.Add(sl);
                });

                PipingChartDataFactory.UpdateSoilProfileChartDataName(soilProfileChartData, currentSoilProfile);
            }

            // Update the areas of all soil layer chart data
            IEnumerable <PipingSoilLayer> soilLayers = GetSoilLayers();

            for (var i = 0; i < soilLayers.Count(); i++)
            {
                ChartMultipleAreaData soilLayerData = soilLayerChartDataLookup[i];

                soilLayerData.Areas = PipingChartDataPointsFactory.CreateSoilLayerAreas(soilLayers.ElementAt(i), currentSoilProfile, data.InputParameters.SurfaceLine);
            }
        }
예제 #2
0
        private void SetSoilProfileChartData()
        {
            soilProfileChartData.Clear();
            soilLayerChartDataLookup.Clear();

            IEnumerable <MacroStabilityInwardsSoilLayer2D> soilLayers = GetSoilLayers().Reverse();

            soilLayers.Select(MacroStabilityInwardsChartDataFactory.CreateSoilLayerChartData)
            .ForEachElementDo(sl =>
            {
                soilProfileChartData.Insert(0, sl);
                soilLayerChartDataLookup.Add(sl);
            });

            MacroStabilityInwardsChartDataFactory.UpdateSoilProfileChartDataName(soilProfileChartData, data?.InputParameters.StochasticSoilProfile?.SoilProfile);
        }
예제 #3
0
        private static void SetWaternetZonesChartData(MacroStabilityInwardsWaternet waternet, MacroStabilityInwardsSurfaceLine surfaceLine,
                                                      ChartDataCollection chartData)
        {
            chartData.Clear();

            foreach (MacroStabilityInwardsPhreaticLine phreaticLine in waternet.PhreaticLines)
            {
                ChartLineData phreaticLineChartData = MacroStabilityInwardsChartDataFactory.CreatePhreaticLineChartData(phreaticLine.Name, true);
                phreaticLineChartData.Points = MacroStabilityInwardsChartDataPointsFactory.CreatePhreaticLinePoints(phreaticLine);
                chartData.Add(phreaticLineChartData);
            }

            foreach (MacroStabilityInwardsWaternetLine waternetLine in waternet.WaternetLines)
            {
                ChartMultipleAreaData waternetLineChartData = MacroStabilityInwardsChartDataFactory.CreateWaternetZoneChartData(waternetLine.Name, true);
                waternetLineChartData.Areas = MacroStabilityInwardsChartDataPointsFactory.CreateWaternetZonePoints(waternetLine, surfaceLine);
                chartData.Add(waternetLineChartData);
            }
        }
예제 #4
0
        public void Clear_Always_RemovesAllItems()
        {
            // Setup
            var item1 = new ChartLineData("test");
            var item2 = new ChartLineData("test");
            var chartDataCollection = new ChartDataCollection("test");

            chartDataCollection.Add(item1);
            chartDataCollection.Add(item2);

            // Precondition
            Assert.AreEqual(2, chartDataCollection.Collection.Count());

            // Call
            chartDataCollection.Clear();

            // Assert
            CollectionAssert.IsEmpty(chartDataCollection.Collection);
        }
        public void DisplayData(Model.StatisticsData statisticData)
        {
            ElectolarWindow.instance.Width  = desiredWindowWidth;
            ElectolarWindow.instance.Height = desiredWindowHeight;

            if (!needRecalculate)
            {
                return;
            }

            //BarChart.ItemsSource = null;
            ChartDataCollection.Clear();
            BarChart.Legends.Clear();
            foreach (var candidateVotes in statisticData.candidateVotes)
            {
                ChartDataCollection.Add(new ChartData()
                {
                    X = 1, Value = candidateVotes.Value, EntryName = candidateVotes.Key.name
                });
            }


            foreach (var partyVotes in statisticData.partyVotes)
            {
                ChartDataCollection.Add(new ChartData()
                {
                    X = 2, Value = partyVotes.Value, EntryName = partyVotes.Key
                });
            }

            ChartDataCollection.Add(new ChartData()
            {
                X = 3, Value = statisticData.invalidVotesNumber, EntryName = "Invalid votes"
            });

            BarChart.ItemsSource = ChartDataCollection;

            needRecalculate = false;
        }
예제 #6
0
        private static void SetWaternetZonesChartData(MacroStabilityInwardsWaternet waternet, ChartDataCollection chartData,
                                                      IDictionary <MacroStabilityInwardsPhreaticLine, ChartLineData> phreaticLineLookup,
                                                      IDictionary <MacroStabilityInwardsWaternetLine, ChartMultipleAreaData> waternetLineLookup)
        {
            chartData.Clear();
            phreaticLineLookup.Clear();
            waternetLineLookup.Clear();

            foreach (MacroStabilityInwardsPhreaticLine phreaticLine in waternet.PhreaticLines)
            {
                ChartLineData phreaticLineChartData = MacroStabilityInwardsChartDataFactory.CreatePhreaticLineChartData(phreaticLine.Name, false);
                chartData.Add(phreaticLineChartData);
                phreaticLineLookup.Add(phreaticLine, phreaticLineChartData);
            }

            foreach (MacroStabilityInwardsWaternetLine waternetLine in waternet.WaternetLines)
            {
                ChartMultipleAreaData waternetLineChartData = MacroStabilityInwardsChartDataFactory.CreateWaternetZoneChartData(waternetLine.Name, false);
                chartData.Add(waternetLineChartData);
                waternetLineLookup.Add(waternetLine, waternetLineChartData);
            }
        }