diff --git a/FieldVisualizer/ViewModels/FieldViewerViewModels/FieldViewerViewModel.cs b/FieldVisualizer/ViewModels/FieldViewerViewModels/FieldViewerViewModel.cs index ceddfa4..4f16ce6 100644 --- a/FieldVisualizer/ViewModels/FieldViewerViewModels/FieldViewerViewModel.cs +++ b/FieldVisualizer/ViewModels/FieldViewerViewModels/FieldViewerViewModel.cs @@ -54,11 +54,19 @@ namespace FieldVisualizer.ViewModels.FieldViewerViewModels { primitiveSet = value; OnPropertyChanged(nameof(PrimitiveSet)); + AreaTotal = primitiveSet is null ? 0 : primitiveSet.ValuePrimitives.Sum(x => x.Area); + OnPropertyChanged(nameof(AreaTotal)); + AreaNeg = primitiveSet is null ? 0 : primitiveSet.ValuePrimitives.Where(x => x.Value < 0d).Sum(x => x.Area); + OnPropertyChanged(nameof(AreaNeg)); + AreaZero = primitiveSet is null ? 0 : primitiveSet.ValuePrimitives.Where(x => x.Value == 0d).Sum(x => x.Area); + OnPropertyChanged(nameof(AreaZero)); + AreaPos = primitiveSet is null ? 0 : primitiveSet.ValuePrimitives.Where(x => x.Value > 0d).Sum(x => x.Area); + OnPropertyChanged(nameof(AreaPos)); SumTotal = primitiveSet is null ? 0 : primitiveSet.ValuePrimitives.Sum(x => x.Value); OnPropertyChanged(nameof(SumTotal)); - SumNeg = primitiveSet is null ? 0 : primitiveSet.ValuePrimitives.Where(x => x.Value < 0).Sum(x => x.Value); + SumNeg = primitiveSet is null ? 0 : primitiveSet.ValuePrimitives.Where(x => x.Value < 0d).Sum(x => x.Value); OnPropertyChanged(nameof(SumNeg)); - SumPos = primitiveSet is null ? 0 : primitiveSet.ValuePrimitives.Where(x => x.Value > 0).Sum(x => x.Value); + SumPos = primitiveSet is null ? 0 : primitiveSet.ValuePrimitives.Where(x => x.Value > 0d).Sum(x => x.Value); OnPropertyChanged(nameof(SumPos)); } @@ -122,6 +130,10 @@ namespace FieldVisualizer.ViewModels.FieldViewerViewModels } } } + public double AreaTotal { get; private set; } + public double AreaNeg { get; private set; } + public double AreaZero { get; private set; } + public double AreaPos { get; private set; } public double SumTotal { get; private set;} public double SumNeg { get; private set; } public double SumPos { get; private set; } diff --git a/FieldVisualizer/Windows/UserControls/FieldViewer.xaml b/FieldVisualizer/Windows/UserControls/FieldViewer.xaml index 23fdb96..0fbb914 100644 --- a/FieldVisualizer/Windows/UserControls/FieldViewer.xaml +++ b/FieldVisualizer/Windows/UserControls/FieldViewer.xaml @@ -52,6 +52,14 @@ + + + + + + + + diff --git a/Libraries/LoaderCalculator.dll b/Libraries/LoaderCalculator.dll index db17b24..5e7cddf 100644 Binary files a/Libraries/LoaderCalculator.dll and b/Libraries/LoaderCalculator.dll differ diff --git a/StructureHelperLogics/Models/Materials/ElasticMaterial.cs b/StructureHelperLogics/Models/Materials/ElasticMaterial.cs index f7b4e8d..9a6b509 100644 --- a/StructureHelperLogics/Models/Materials/ElasticMaterial.cs +++ b/StructureHelperLogics/Models/Materials/ElasticMaterial.cs @@ -15,7 +15,17 @@ namespace StructureHelperLogics.Models.Materials public IMaterial GetLoaderMaterial(LimitStates limitState, CalcTerms calcTerm) { - throw new NotImplementedException(); + IMaterial material = new Material(); + material.InitModulus = Modulus; + IEnumerable parameters = new List() { Modulus}; + material.DiagramParameters = parameters; + material.Diagram = GetStress; + return material; + } + + private double GetStress (IEnumerable parameters, double strain) + { + return parameters.First() * strain; } public object Clone() diff --git a/Windows/CalculationWindows/CalculationPropertyWindow/CalculationPropertyView.xaml b/Windows/CalculationWindows/CalculationPropertyWindow/CalculationPropertyView.xaml index 1165519..91e7987 100644 --- a/Windows/CalculationWindows/CalculationPropertyWindow/CalculationPropertyView.xaml +++ b/Windows/CalculationWindows/CalculationPropertyWindow/CalculationPropertyView.xaml @@ -24,8 +24,12 @@ - - + + + + + + @@ -46,7 +50,7 @@ - + @@ -64,7 +68,7 @@ - + diff --git a/Windows/MainWindow/MainView.xaml b/Windows/MainWindow/MainView.xaml index 77ff00f..6725caa 100644 --- a/Windows/MainWindow/MainView.xaml +++ b/Windows/MainWindow/MainView.xaml @@ -48,6 +48,7 @@