Exemple #1
0
        public void GivenChartMultipleLineDataSeries_WhenUpdatedAfterChartMultipleLineDataLinesChanged_ChartMultipleLineDataSeriesLinesChanged()
        {
            // Given
            var chartMultipleLineData = new ChartMultipleLineData("Test name")
            {
                Lines = new[]
                {
                    new[]
                    {
                        new Point2D(1.1, 2.2)
                    }
                }
            };

            var chartMultipleLineDataSeries = new ChartMultipleLineDataSeries(chartMultipleLineData);

            IEnumerable <DataPoint>[] drawnLines = chartMultipleLineDataSeries.Lines.ToArray();

            // When
            chartMultipleLineData.Lines = new[]
            {
                new[]
                {
                    new Point2D(3.3, 4.4)
                }
            };
            chartMultipleLineDataSeries.Update();

            // Then
            CollectionAssert.AreNotEqual(drawnLines, chartMultipleLineDataSeries.Lines);
        }
        /// <summary>
        /// Creates a new instance of <see cref="WaveConditionsInputView"/>.
        /// </summary>
        /// <param name="calculation">The calculation to show in the view.</param>
        /// <param name="getHydraulicBoundaryLocationCalculationFunc">The <see cref="Func{TResult}"/> for obtaining the <see cref="HydraulicBoundaryLocationCalculation"/>.</param>
        /// <param name="inputViewStyle">The style which should be applied to the <see cref="ChartLineData"/>.</param>
        /// <exception cref="ArgumentNullException">Thrown when any input parameter is <c>null</c>.</exception>
        public WaveConditionsInputView(ICalculation <WaveConditionsInput> calculation,
                                       Func <HydraulicBoundaryLocationCalculation> getHydraulicBoundaryLocationCalculationFunc,
                                       IWaveConditionsInputViewStyle inputViewStyle)
        {
            if (calculation == null)
            {
                throw new ArgumentNullException(nameof(calculation));
            }

            if (getHydraulicBoundaryLocationCalculationFunc == null)
            {
                throw new ArgumentNullException(nameof(getHydraulicBoundaryLocationCalculationFunc));
            }

            if (inputViewStyle == null)
            {
                throw new ArgumentNullException(nameof(inputViewStyle));
            }

            InitializeComponent();

            this.getHydraulicBoundaryLocationCalculationFunc = getHydraulicBoundaryLocationCalculationFunc;

            calculationObserver      = new Observer(UpdateChartTitle);
            calculationInputObserver = new Observer(UpdateCalculationInput);
            hydraulicBoundaryLocationCalculationObserver = new Observer(UpdateChartData);

            this.calculation = calculation;

            calculationObserver.Observable      = calculation;
            calculationInputObserver.Observable = calculation.InputParameters;
            hydraulicBoundaryLocationCalculationObserver.Observable = getHydraulicBoundaryLocationCalculationFunc();

            chartDataCollection               = new ChartDataCollection(RiskeerCommonFormsResources.Calculation_Input);
            foreshoreChartData                = RiskeerChartDataFactory.CreateForeshoreGeometryChartData();
            lowerBoundaryRevetmentChartData   = WaveConditionsChartDataFactory.CreateLowerRevetmentBoundaryChartData(inputViewStyle.RevetmentLineColor);
            upperBoundaryRevetmentChartData   = WaveConditionsChartDataFactory.CreateUpperRevetmentBoundaryChartData(inputViewStyle.RevetmentLineColor);
            lowerBoundaryWaterLevelsChartData = WaveConditionsChartDataFactory.CreateLowerWaterLevelsBoundaryChartData();
            upperBoundaryWaterLevelsChartData = WaveConditionsChartDataFactory.CreateUpperWaterLevelsBoundaryChartData();
            assessmentLevelChartData          = WaveConditionsChartDataFactory.CreateAssessmentLevelChartData();
            waterLevelsChartData              = WaveConditionsChartDataFactory.CreateWaterLevelsChartData();
            revetmentBaseChartData            = WaveConditionsChartDataFactory.CreateRevetmentBaseChartData(inputViewStyle.RevetmentLineColor);
            revetmentChartData                = WaveConditionsChartDataFactory.CreateRevetmentChartData(inputViewStyle.RevetmentLineColor);

            chartDataCollection.Add(foreshoreChartData);
            chartDataCollection.Add(lowerBoundaryRevetmentChartData);
            chartDataCollection.Add(upperBoundaryRevetmentChartData);
            chartDataCollection.Add(lowerBoundaryWaterLevelsChartData);
            chartDataCollection.Add(upperBoundaryWaterLevelsChartData);
            chartDataCollection.Add(assessmentLevelChartData);
            chartDataCollection.Add(waterLevelsChartData);
            chartDataCollection.Add(revetmentBaseChartData);
            chartDataCollection.Add(revetmentChartData);

            SetChartData();

            chartControl.Data = chartDataCollection;
            UpdateChartTitle();
        }
Exemple #3
0
        public void CreateTangentLinesChartData_ReturnsChartMultipleLineData()
        {
            // Call
            ChartMultipleLineData data = MacroStabilityInwardsChartDataFactory.CreateTangentLinesChartData();

            // Assert
            CollectionAssert.IsEmpty(data.Lines);
            Assert.AreEqual("Tangentlijnen", data.Name);
            AssertEqualStyle(data.Style, Color.Green, 1, ChartLineDashStyle.Dash);
        }
        public void CreateWaterLevelsChartData_ReturnsEmptyChartMultipleLineDataWithExpectedStyling()
        {
            // Call
            ChartMultipleLineData data = WaveConditionsChartDataFactory.CreateWaterLevelsChartData();

            // Assert
            CollectionAssert.IsEmpty(data.Lines);
            Assert.AreEqual("Waterstanden in berekening", data.Name);
            AssertEqualStyle(data.Style, Color.DarkTurquoise, 3, ChartLineDashStyle.DashDotDot);
        }
Exemple #5
0
        /// <summary>
        /// Creates a new instance of <see cref="ChartMultipleLineDataSeries"/>.
        /// </summary>
        /// <param name="chartMultipleLineData">The <see cref="ChartMultipleLineData"/>
        /// which the chart multiple line data series is based upon.</param>
        /// <exception cref="ArgumentNullException">Thrown when <paramref name="chartMultipleLineData"/>
        /// is <c>null</c>.</exception>
        public ChartMultipleLineDataSeries(ChartMultipleLineData chartMultipleLineData)
        {
            if (chartMultipleLineData == null)
            {
                throw new ArgumentNullException(nameof(chartMultipleLineData));
            }

            this.chartMultipleLineData = chartMultipleLineData;

            Update();
        }
        public void Constructor_Always_CreatesNewInstanceOfDefaultStyle()
        {
            // Setup
            var dataA = new ChartMultipleLineData("test data");

            // Call
            var dataB = new ChartMultipleLineData("test data");

            // Assert
            Assert.AreNotSame(dataA.Style, dataB.Style);
        }
        public void Lines_SetValidNewValue_GetsNewValue()
        {
            // Setup
            var data  = new ChartMultipleLineData("test data");
            var lines = new List <Point2D[]>();

            // Call
            data.Lines = lines;

            // Assert
            Assert.AreSame(lines, data.Lines);
        }
Exemple #8
0
 private static void SetChartMultipleLineDataTestProperties(ChartMultipleLineData chartMultipleLineData)
 {
     chartMultipleLineData.Name      = "Another name";
     chartMultipleLineData.IsVisible = false;
     chartMultipleLineData.Lines     = new[]
     {
         new[]
         {
             new Point2D(1.1, 2.2)
         }
     };
 }
        public void Constructor_ExpectedValues()
        {
            // Call
            var data = new ChartMultipleLineData("test data");

            // Assert
            Assert.IsInstanceOf <ChartData>(data);
            CollectionAssert.IsEmpty(data.Lines);
            Assert.AreEqual(Color.Black, data.Style.Color);
            Assert.AreEqual(2, data.Style.Width);
            Assert.AreEqual(ChartLineDashStyle.Solid, data.Style.DashStyle);
            Assert.IsFalse(data.Style.IsEditable);
        }
        public void Lines_SetNullValue_ThrowsArgumentNullException()
        {
            // Setup
            var data = new ChartMultipleLineData("test data");

            // Call
            TestDelegate test = () => data.Lines = null;

            // Assert
            const string expectedMessage = "The collection of point arrays cannot be null.";

            TestHelper.AssertThrowsArgumentExceptionAndTestMessage <ArgumentNullException>(test, expectedMessage);
        }
        public void Constructor_WithStyle_ExpectedValue()
        {
            // Setup
            var style = new ChartLineStyle();

            // Call
            var data = new ChartMultipleLineData("test data", style);

            // Assert
            Assert.AreEqual("test data", data.Name);
            CollectionAssert.IsEmpty(data.Lines);
            Assert.IsInstanceOf <ChartData>(data);
            Assert.AreSame(style, data.Style);
        }
 /// <summary>
 /// Asserts whether <paramref name="actual"/> corresponds to <paramref name="tangentLines"/>
 /// and <paramref name="surfaceLine"/>.
 /// </summary>
 /// <param name="tangentLines">The original tangent line Y-coordinates.</param>
 /// <param name="surfaceLine">The original surface line.</param>
 /// <param name="actual">The actual <see cref="ChartMultipleLineData"/>.</param>
 /// <exception cref="AssertionException">Thrown when <paramref name="actual"/>
 /// does not correspond to <paramref name="tangentLines"/> and <paramref name="surfaceLine"/>.
 /// </exception>
 private static void AssertTangentLinesChartData(IEnumerable <RoundedDouble> tangentLines,
                                                 MacroStabilityInwardsSurfaceLine surfaceLine,
                                                 ChartMultipleLineData actual)
 {
     CollectionAssert.IsNotEmpty(actual.Lines);
     RoundedDouble[] tangentLinesArray = tangentLines.ToArray();
     for (var i = 0; i < tangentLinesArray.Length; i++)
     {
         var expectedPoints = new[]
         {
             new Point2D(surfaceLine.LocalGeometry.First().X, tangentLinesArray[i]),
             new Point2D(surfaceLine.LocalGeometry.Last().X, tangentLinesArray[i])
         };
         CollectionAssert.AreEqual(expectedPoints, actual.Lines.ElementAt(i));
     }
 }
Exemple #13
0
        public void Constructor_Always_PropertiesHaveExpectedAttributesValues(bool isStyleEditable)
        {
            // Setup
            var chartLineData = new ChartMultipleLineData("Test", new ChartLineStyle
            {
                IsEditable = isStyleEditable
            });

            // Call
            var properties = new ChartMultipleLineDataProperties
            {
                Data = chartLineData
            };

            // Assert
            PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties);

            Assert.AreEqual(6, dynamicProperties.Count);

            const string styleCategory = "Stijl";

            PropertyDescriptor colorProperty = dynamicProperties[colorPropertyIndex];

            Assert.IsInstanceOf <ColorTypeConverter>(colorProperty.Converter);
            PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(colorProperty,
                                                                            styleCategory,
                                                                            "Kleur",
                                                                            "De kleur van de lijnen waarmee deze gegevensreeks wordt weergegeven.",
                                                                            !isStyleEditable);

            PropertyDescriptor widthProperty = dynamicProperties[widthPropertyIndex];

            PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(widthProperty,
                                                                            styleCategory,
                                                                            "Lijndikte",
                                                                            "De dikte van de lijnen waarmee deze gegevensreeks wordt weergegeven.",
                                                                            !isStyleEditable);

            PropertyDescriptor styleProperty = dynamicProperties[stylePropertyIndex];

            Assert.IsInstanceOf <EnumTypeConverter>(styleProperty.Converter);
            PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(styleProperty,
                                                                            styleCategory,
                                                                            "Lijnstijl",
                                                                            "De stijl van de lijnen waarmee deze gegevensreeks wordt weergegeven.",
                                                                            !isStyleEditable);
        }
Exemple #14
0
        public void ConvertSeriesProperties_ChartLineStyleSetWithDifferentStrokeWidths_AppliesStyleToSeries(int width)
        {
            // Setup
            var converter          = new ChartMultipleLineDataConverter();
            var multipleLineSeries = new MultipleLineSeries();
            var data = new ChartMultipleLineData("test", new ChartLineStyle
            {
                Color     = Color.Red,
                Width     = width,
                DashStyle = ChartLineDashStyle.Solid
            });

            // Call
            converter.ConvertSeriesProperties(data, multipleLineSeries);

            // Assert
            Assert.AreEqual(width, multipleLineSeries.StrokeThickness);
        }
Exemple #15
0
        public void ConvertSeriesProperties_ChartLineStyleSetWithDifferentStrokeColors_AppliesStyleToSeries(KnownColor color)
        {
            // Setup
            var   converter          = new ChartMultipleLineDataConverter();
            var   multipleLineSeries = new MultipleLineSeries();
            Color expectedColor      = Color.FromKnownColor(color);
            var   data = new ChartMultipleLineData("test", new ChartLineStyle
            {
                Color     = expectedColor,
                Width     = 3,
                DashStyle = ChartLineDashStyle.Solid
            });

            // Call
            converter.ConvertSeriesProperties(data, multipleLineSeries);

            // Assert
            Assert.AreEqual(OxyColor.FromArgb(expectedColor.A, expectedColor.R, expectedColor.G, expectedColor.B), multipleLineSeries.Color);
        }
Exemple #16
0
        public void ConvertSeriesProperties_ChartLineStyleSetWithDifferentDashStyles_AppliesStyleToSeries(ChartLineDashStyle dashStyle, LineStyle expectedLineStyle)
        {
            // Setup
            var converter          = new ChartMultipleLineDataConverter();
            var multipleLineSeries = new MultipleLineSeries();
            var data = new ChartMultipleLineData("test", new ChartLineStyle
            {
                Color     = Color.Red,
                Width     = 3,
                DashStyle = dashStyle
            });

            // Call
            converter.ConvertSeriesProperties(data, multipleLineSeries);

            // Assert
            Assert.AreEqual(expectedLineStyle, multipleLineSeries.LineStyle);
            Assert.IsNull(multipleLineSeries.Dashes);
        }
Exemple #17
0
        public void Constructor_ChartMultipleLineDataWithTestProperties_ChartMultipleLineDataSeriesCreatedAccordingly()
        {
            // Setup
            var chartMultipleLineData = new ChartMultipleLineData("Test name", new ChartLineStyle
            {
                Color     = color,
                Width     = 3,
                DashStyle = ChartLineDashStyle.Dash
            });

            SetChartMultipleLineDataTestProperties(chartMultipleLineData);

            // Call
            var chartMultipleLineDataSeries = new ChartMultipleLineDataSeries(chartMultipleLineData);

            // Assert
            Assert.IsInstanceOf <MultipleLineSeries>(chartMultipleLineDataSeries);
            Assert.IsInstanceOf <IChartDataSeries>(chartMultipleLineDataSeries);
            AssertChartMultipleLineDataSeriesTestProperties(chartMultipleLineDataSeries);
        }
Exemple #18
0
        public void SetProperties_IndividualProperties_UpdateDataAndNotifyObservers()
        {
            // Setup
            const int numberOfChangedProperties = 3;
            var       mocks    = new MockRepository();
            var       observer = mocks.StrictMock <IObserver>();

            observer.Expect(o => o.UpdateObserver()).Repeat.Times(numberOfChangedProperties);
            mocks.ReplayAll();

            var chartLineData = new ChartMultipleLineData("Test", new ChartLineStyle
            {
                Color     = Color.AliceBlue,
                Width     = 3,
                DashStyle = ChartLineDashStyle.Solid
            });

            chartLineData.Attach(observer);

            var properties = new ChartMultipleLineDataProperties
            {
                Data = chartLineData
            };

            Color     newColor = Color.Blue;
            const int newWidth = 6;
            const ChartLineDashStyle newDashStyle = ChartLineDashStyle.DashDot;

            // Call
            properties.Color     = newColor;
            properties.Width     = newWidth;
            properties.DashStyle = newDashStyle;

            // Assert
            Assert.AreEqual(newColor, chartLineData.Style.Color);
            Assert.AreEqual(newWidth, chartLineData.Style.Width);
            Assert.AreEqual(newDashStyle, chartLineData.Style.DashStyle);
            mocks.VerifyAll();
        }
Exemple #19
0
        public void Update_ChartMultipleLineDataWithTestProperties_ChartMultipleLineDataSeriesUpdatedAccordingly()
        {
            // Setup
            var chartMultipleLineData = new ChartMultipleLineData("Test name", new ChartLineStyle
            {
                Color     = color,
                Width     = 3,
                DashStyle = ChartLineDashStyle.Dash
            });
            var chartMultipleLineDataSeries = new ChartMultipleLineDataSeries(chartMultipleLineData);

            SetChartMultipleLineDataTestProperties(chartMultipleLineData);

            // Precondition
            AssertChartMultipleLineDataSeriesDefaultProperties(chartMultipleLineDataSeries);

            // Call
            chartMultipleLineDataSeries.Update();

            // Assert
            AssertChartMultipleLineDataSeriesTestProperties(chartMultipleLineDataSeries);
        }
Exemple #20
0
        public void Data_SetNewChartLineDataInstance_ReturnCorrectPropertyValues()
        {
            // Setup
            Color     color = Color.Aqua;
            const int width = 4;
            const ChartLineDashStyle dashStyle = ChartLineDashStyle.DashDot;

            var chartLineData = new ChartMultipleLineData("Test", new ChartLineStyle
            {
                Color     = color,
                Width     = width,
                DashStyle = dashStyle
            });
            var properties = new ChartMultipleLineDataProperties();

            // Call
            properties.Data = chartLineData;

            // Assert
            Assert.AreEqual(color, properties.Color);
            Assert.AreEqual(width, properties.Width);
            Assert.AreEqual(dashStyle, properties.DashStyle);
        }
        public void OnDrop_ChartDataMovedToPositionOutsideRange_ThrowsException(int position)
        {
            // Setup
            var observer = mocks.StrictMock <IObserver>();

            mocks.ReplayAll();

            var chartData1          = new ChartLineData("line");
            var chartData2          = new ChartAreaData("area");
            var chartData3          = new ChartPointData("point");
            var chartData4          = new ChartMultipleAreaData("multiple area");
            var chartData5          = new ChartMultipleLineData("multiple line");
            var chartDataCollection = new ChartDataCollection("test");

            chartDataCollection.Add(chartData1);
            chartDataCollection.Add(chartData2);
            chartDataCollection.Add(chartData3);
            chartDataCollection.Add(chartData4);
            chartDataCollection.Add(chartData5);

            chartDataCollection.Attach(observer);
            chartLegendView.Data = chartDataCollection;

            ChartDataContext context           = GetContext(chartData1);
            ChartDataContext collectionContext = GetContext(chartDataCollection);

            chartDataCollection.Attach(observer);

            using (var treeViewControl = new TreeViewControl())
            {
                // Call
                void Call() => info.OnDrop(context, collectionContext, collectionContext, position, treeViewControl);

                // Assert
                Assert.Throws <ArgumentOutOfRangeException>(Call);
            }
        }
Exemple #22
0
        public void ConvertSeriesItems_ChartMultipleLineDataWithRandomLineData_ConvertsAllLinesToMultipleLineSeries()
        {
            // Setup
            var converter          = new ChartMultipleLineDataConverter();
            var multipleLineSeries = new MultipleLineSeries();
            var random             = new Random(21);
            int randomCount        = random.Next(5, 10);

            var points1 = new Collection <Point2D>();
            var points2 = new Collection <Point2D>();

            for (var i = 0; i < randomCount; i++)
            {
                points1.Add(new Point2D(random.NextDouble(), random.NextDouble()));
                points2.Add(new Point2D(random.NextDouble(), random.NextDouble()));
            }

            var lines = new List <Point2D[]>
            {
                points1.ToArray(),
                points2.ToArray()
            };

            var lineData = new ChartMultipleLineData("test data")
            {
                Lines = lines
            };

            // Call
            converter.ConvertSeriesData(lineData, multipleLineSeries);

            // Assert
            Assert.AreEqual(2, multipleLineSeries.Lines.Count);
            CollectionAssert.AreEqual(lines.ElementAt(0).Select(t => new DataPoint(t.X, t.Y)), multipleLineSeries.Lines[0]);
            CollectionAssert.AreEqual(lines.ElementAt(1).Select(t => new DataPoint(t.X, t.Y)), multipleLineSeries.Lines[1]);
        }
Exemple #23
0
        /// <summary>
        /// Creates a new instance of <see cref="MacroStabilityInwardsInputView"/>.
        /// </summary>
        /// <param name="data">The calculation to show the input for.</param>
        /// <param name="generalInput">General calculation parameters that are the same across all calculations.</param>
        /// <param name="assessmentSection">The assessment section the calculation belongs to.</param>
        /// <param name="getHydraulicBoundaryLocationCalculationFunc">The <see cref="Func{TResult}"/> for
        /// obtaining the hydraulic boundary location calculation.</param>
        /// <exception cref="ArgumentNullException">Thrown when any input parameter is <c>null</c>.</exception>
        public MacroStabilityInwardsInputView(MacroStabilityInwardsCalculationScenario data,
                                              GeneralMacroStabilityInwardsInput generalInput,
                                              IAssessmentSection assessmentSection,
                                              Func <HydraulicBoundaryLocationCalculation> getHydraulicBoundaryLocationCalculationFunc)
        {
            if (data == null)
            {
                throw new ArgumentNullException(nameof(data));
            }

            if (generalInput == null)
            {
                throw new ArgumentNullException(nameof(generalInput));
            }

            if (assessmentSection == null)
            {
                throw new ArgumentNullException(nameof(assessmentSection));
            }

            if (getHydraulicBoundaryLocationCalculationFunc == null)
            {
                throw new ArgumentNullException(nameof(getHydraulicBoundaryLocationCalculationFunc));
            }

            this.data         = data;
            this.generalInput = generalInput;
            this.getHydraulicBoundaryLocationCalculationFunc = getHydraulicBoundaryLocationCalculationFunc;

            InitializeComponent();

            calculationObserver = new Observer(UpdateChartTitle)
            {
                Observable = data
            };

            calculationInputObserver = new Observer(UpdateViewData)
            {
                Observable = data.InputParameters
            };

            hydraulicLocationCalculationObserver = new Observer(UpdateViewData)
            {
                Observable = getHydraulicBoundaryLocationCalculationFunc()
            };

            failureMechanismContributionObserver = new Observer(UpdateViewData)
            {
                Observable = assessmentSection.FailureMechanismContribution
            };

            chartDataCollection            = new ChartDataCollection(RiskeerCommonFormsResources.Calculation_Input);
            soilProfileChartData           = RiskeerChartDataFactory.CreateSoilProfileChartData();
            surfaceLineChartData           = RiskeerChartDataFactory.CreateSurfaceLineChartData();
            surfaceLevelInsideChartData    = MacroStabilityInwardsChartDataFactory.CreateSurfaceLevelInsideChartData();
            ditchPolderSideChartData       = RiskeerChartDataFactory.CreateDitchPolderSideChartData();
            bottomDitchPolderSideChartData = RiskeerChartDataFactory.CreateBottomDitchPolderSideChartData();
            bottomDitchDikeSideChartData   = RiskeerChartDataFactory.CreateBottomDitchDikeSideChartData();
            ditchDikeSideChartData         = RiskeerChartDataFactory.CreateDitchDikeSideChartData();
            dikeToeAtPolderChartData       = RiskeerChartDataFactory.CreateDikeToeAtPolderChartData();
            shoulderTopInsideChartData     = MacroStabilityInwardsChartDataFactory.CreateShoulderTopInsideChartData();
            shoulderBaseInsideChartData    = MacroStabilityInwardsChartDataFactory.CreateShoulderBaseInsideChartData();
            dikeTopAtPolderChartData       = MacroStabilityInwardsChartDataFactory.CreateDikeTopAtPolderChartData();
            dikeToeAtRiverChartData        = RiskeerChartDataFactory.CreateDikeToeAtRiverChartData();
            dikeTopAtRiverChartData        = MacroStabilityInwardsChartDataFactory.CreateDikeTopAtRiverChartData();
            surfaceLevelOutsideChartData   = MacroStabilityInwardsChartDataFactory.CreateSurfaceLevelOutsideChartData();
            tangentLinesData              = MacroStabilityInwardsChartDataFactory.CreateTangentLinesChartData();
            leftGridChartData             = MacroStabilityInwardsChartDataFactory.CreateLeftGridChartData();
            rightGridChartData            = MacroStabilityInwardsChartDataFactory.CreateRightGridChartData();
            waternetZonesExtremeChartData = MacroStabilityInwardsChartDataFactory.CreateWaternetZonesExtremeChartDataCollection();
            waternetZonesDailyChartData   = MacroStabilityInwardsChartDataFactory.CreateWaternetZonesDailyChartDataCollection();

            chartDataCollection.Add(soilProfileChartData);
            chartDataCollection.Add(surfaceLineChartData);
            chartDataCollection.Add(surfaceLevelInsideChartData);
            chartDataCollection.Add(ditchPolderSideChartData);
            chartDataCollection.Add(bottomDitchPolderSideChartData);
            chartDataCollection.Add(bottomDitchDikeSideChartData);
            chartDataCollection.Add(ditchDikeSideChartData);
            chartDataCollection.Add(dikeToeAtPolderChartData);
            chartDataCollection.Add(shoulderTopInsideChartData);
            chartDataCollection.Add(shoulderBaseInsideChartData);
            chartDataCollection.Add(dikeTopAtPolderChartData);
            chartDataCollection.Add(dikeToeAtRiverChartData);
            chartDataCollection.Add(dikeTopAtRiverChartData);
            chartDataCollection.Add(surfaceLevelOutsideChartData);
            chartDataCollection.Add(tangentLinesData);
            chartDataCollection.Add(leftGridChartData);
            chartDataCollection.Add(rightGridChartData);
            chartDataCollection.Add(waternetZonesExtremeChartData);
            chartDataCollection.Add(waternetZonesDailyChartData);

            soilLayerChartDataLookup = new List <ChartMultipleAreaData>();

            SetChartData();

            chartControl.Data = chartDataCollection;

            UpdateChartTitle();
            UpdateTableData();
        }
Exemple #24
0
        /// <summary>
        /// Creates a new instance of <see cref="MacroStabilityInwardsOutputChartControl"/>.
        /// </summary>
        /// <param name="data">The calculation to show the output for.</param>
        /// <param name="generalInput">General calculation parameters that are the same across all calculations.</param>
        /// <param name="getNormativeAssessmentLevelFunc"><see cref="Func{TResult}"/> for obtaining the normative assessment level.</param>
        /// <exception cref="ArgumentNullException">Thrown when any input parameter is <c>null</c>.</exception>
        public MacroStabilityInwardsOutputChartControl(MacroStabilityInwardsCalculationScenario data,
                                                       GeneralMacroStabilityInwardsInput generalInput,
                                                       Func <RoundedDouble> getNormativeAssessmentLevelFunc)
        {
            if (data == null)
            {
                throw new ArgumentNullException(nameof(data));
            }

            if (generalInput == null)
            {
                throw new ArgumentNullException(nameof(generalInput));
            }

            if (getNormativeAssessmentLevelFunc == null)
            {
                throw new ArgumentNullException(nameof(getNormativeAssessmentLevelFunc));
            }

            this.data         = data;
            this.generalInput = generalInput;
            this.getNormativeAssessmentLevelFunc = getNormativeAssessmentLevelFunc;

            InitializeComponent();

            chartDataCollection            = new ChartDataCollection(RiskeerCommonFormsResources.CalculationOutput_DisplayName);
            soilProfileChartData           = RiskeerChartDataFactory.CreateSoilProfileChartData();
            surfaceLineChartData           = RiskeerChartDataFactory.CreateSurfaceLineChartData();
            surfaceLevelInsideChartData    = MacroStabilityInwardsChartDataFactory.CreateSurfaceLevelInsideChartData();
            ditchPolderSideChartData       = RiskeerChartDataFactory.CreateDitchPolderSideChartData();
            bottomDitchPolderSideChartData = RiskeerChartDataFactory.CreateBottomDitchPolderSideChartData();
            bottomDitchDikeSideChartData   = RiskeerChartDataFactory.CreateBottomDitchDikeSideChartData();
            ditchDikeSideChartData         = RiskeerChartDataFactory.CreateDitchDikeSideChartData();
            dikeToeAtPolderChartData       = RiskeerChartDataFactory.CreateDikeToeAtPolderChartData();
            shoulderTopInsideChartData     = MacroStabilityInwardsChartDataFactory.CreateShoulderTopInsideChartData();
            shoulderBaseInsideChartData    = MacroStabilityInwardsChartDataFactory.CreateShoulderBaseInsideChartData();
            dikeTopAtPolderChartData       = MacroStabilityInwardsChartDataFactory.CreateDikeTopAtPolderChartData();
            dikeToeAtRiverChartData        = RiskeerChartDataFactory.CreateDikeToeAtRiverChartData();
            dikeTopAtRiverChartData        = MacroStabilityInwardsChartDataFactory.CreateDikeTopAtRiverChartData();
            surfaceLevelOutsideChartData   = MacroStabilityInwardsChartDataFactory.CreateSurfaceLevelOutsideChartData();
            waternetZonesExtremeChartData  = MacroStabilityInwardsChartDataFactory.CreateWaternetZonesExtremeChartDataCollection();
            waternetZonesDailyChartData    = MacroStabilityInwardsChartDataFactory.CreateWaternetZonesDailyChartDataCollection();
            tangentLinesChartData          = MacroStabilityInwardsChartDataFactory.CreateTangentLinesChartData();
            leftGridChartData          = MacroStabilityInwardsChartDataFactory.CreateLeftGridChartData();
            rightGridChartData         = MacroStabilityInwardsChartDataFactory.CreateRightGridChartData();
            slipPlaneChartData         = MacroStabilityInwardsChartDataFactory.CreateSlipPlaneChartData();
            leftCircleRadiusChartData  = MacroStabilityInwardsChartDataFactory.CreateActiveCircleRadiusChartData();
            rightCircleRadiusChartData = MacroStabilityInwardsChartDataFactory.CreatePassiveCircleRadiusChartData();
            slicesChartData            = MacroStabilityInwardsSliceChartDataFactory.CreateSlicesChartData();

            sliceParametersChartDataCollection = MacroStabilityInwardsSliceChartDataFactory.CreateSliceParametersChartDataCollection();
            sliceCohesionChartData             = MacroStabilityInwardsSliceChartDataFactory.CreateCohesionChartData();
            sliceEffectiveStressChartData      = MacroStabilityInwardsSliceChartDataFactory.CreateEffectiveStressChartData();
            sliceTotalPorePressureChartData    = MacroStabilityInwardsSliceChartDataFactory.CreateTotalPorePressureChartData();
            sliceWeightChartData = MacroStabilityInwardsSliceChartDataFactory.CreateWeightChartData();
            slicePiezometricPorePressureChartData = MacroStabilityInwardsSliceChartDataFactory.CreatePiezometricPorePressureChartData();
            slicePorePressureChartData            = MacroStabilityInwardsSliceChartDataFactory.CreatePorePressureChartData();
            sliceVerticalPorePressureChartData    = MacroStabilityInwardsSliceChartDataFactory.CreateVerticalPorePressureChartData();
            sliceHorizontalPorePressureChartData  = MacroStabilityInwardsSliceChartDataFactory.CreateHorizontalPorePressureChartData();
            sliceOverConsolidationRatioChartData  = MacroStabilityInwardsSliceChartDataFactory.CreateOverConsolidationRatioChartData();
            slicePopChartData          = MacroStabilityInwardsSliceChartDataFactory.CreatePopChartData();
            sliceNormalStressChartData = MacroStabilityInwardsSliceChartDataFactory.CreateNormalStressChartData();
            sliceShearStressChartData  = MacroStabilityInwardsSliceChartDataFactory.CreateShearStressChartData();
            sliceLoadStressChartData   = MacroStabilityInwardsSliceChartDataFactory.CreateLoadStressChartData();

            chartDataCollection.Add(soilProfileChartData);
            chartDataCollection.Add(surfaceLineChartData);
            chartDataCollection.Add(surfaceLevelInsideChartData);
            chartDataCollection.Add(ditchPolderSideChartData);
            chartDataCollection.Add(bottomDitchPolderSideChartData);
            chartDataCollection.Add(bottomDitchDikeSideChartData);
            chartDataCollection.Add(ditchDikeSideChartData);
            chartDataCollection.Add(dikeToeAtPolderChartData);
            chartDataCollection.Add(shoulderTopInsideChartData);
            chartDataCollection.Add(shoulderBaseInsideChartData);
            chartDataCollection.Add(dikeTopAtPolderChartData);
            chartDataCollection.Add(dikeToeAtRiverChartData);
            chartDataCollection.Add(dikeTopAtRiverChartData);
            chartDataCollection.Add(surfaceLevelOutsideChartData);
            chartDataCollection.Add(waternetZonesExtremeChartData);
            chartDataCollection.Add(waternetZonesDailyChartData);
            chartDataCollection.Add(tangentLinesChartData);
            chartDataCollection.Add(leftGridChartData);
            chartDataCollection.Add(rightGridChartData);
            chartDataCollection.Add(slicesChartData);
            chartDataCollection.Add(slipPlaneChartData);
            chartDataCollection.Add(leftCircleRadiusChartData);
            chartDataCollection.Add(rightCircleRadiusChartData);

            chartDataCollection.Add(sliceParametersChartDataCollection);
            sliceParametersChartDataCollection.Add(sliceLoadStressChartData);
            sliceParametersChartDataCollection.Add(sliceShearStressChartData);
            sliceParametersChartDataCollection.Add(sliceNormalStressChartData);
            sliceParametersChartDataCollection.Add(slicePopChartData);
            sliceParametersChartDataCollection.Add(sliceOverConsolidationRatioChartData);
            sliceParametersChartDataCollection.Add(sliceHorizontalPorePressureChartData);
            sliceParametersChartDataCollection.Add(sliceVerticalPorePressureChartData);
            sliceParametersChartDataCollection.Add(slicePorePressureChartData);
            sliceParametersChartDataCollection.Add(slicePiezometricPorePressureChartData);
            sliceParametersChartDataCollection.Add(sliceWeightChartData);
            sliceParametersChartDataCollection.Add(sliceTotalPorePressureChartData);
            sliceParametersChartDataCollection.Add(sliceEffectiveStressChartData);
            sliceParametersChartDataCollection.Add(sliceCohesionChartData);

            soilLayerChartDataLookup = new List <ChartMultipleAreaData>();

            phreaticLineExtremeLookup = new Dictionary <MacroStabilityInwardsPhreaticLine, ChartLineData>();
            phreaticLineDailyLookup   = new Dictionary <MacroStabilityInwardsPhreaticLine, ChartLineData>();
            waternetLineExtremeLookup = new Dictionary <MacroStabilityInwardsWaternetLine, ChartMultipleAreaData>();
            waternetLineDailyLookup   = new Dictionary <MacroStabilityInwardsWaternetLine, ChartMultipleAreaData>();

            UpdateChartData();

            chartControl.Data = chartDataCollection;
        }