From a0a25f183a493261af27520f1ea595dfc3ebfc18 Mon Sep 17 00:00:00 2001 From: Evgeny Redikultsev Date: Sat, 29 Mar 2025 21:45:49 +0500 Subject: [PATCH] Add beam shear calculator view --- .../UI/Resources/Materials.xaml | 30 +++----- StructureHelper/StructureHelper.csproj.user | 24 ++++++ .../BeamShears/BeamShearActionView.xaml | 4 +- .../BeamShears/BeamShearActionsViewModel.cs | 4 +- .../BeamShearCalculatorInputDataViewModel.cs | 37 +++++++++ .../BeamShears/BeamShearCalculatorView.xaml | 40 ++++++++++ .../BeamShearCalculatorView.xaml.cs | 19 +++++ .../BeamShearCalculatorViewModel.cs | 24 ++++-- .../BeamShearCalculatorsViewModel.cs | 6 +- .../BeamShears/BeamShearSectionsViewModel.cs | 66 +++++++++++++--- .../Windows/BeamShears/BeamShearView.xaml | 5 +- .../BeamShears/BeamStirrupsViewModel.cs | 71 ++++++++++-------- .../Windows/BeamShears/SectionView.xaml | 48 ++++++++++++ .../Windows/BeamShears/SectionView.xaml.cs | 24 ++++++ .../Windows/BeamShears/SectionViewModel.cs | 51 +++++++++++++ .../BeamShears/StirrupByDensityView.xaml | 2 +- .../BeamShears/StirrupByDensityView.xaml.cs | 13 +--- .../BeamShears/StirrupByRebarView.xaml | 48 ++++++++++++ .../BeamShears/StirrupByRebarView.xaml.cs | 36 +++++++++ .../BeamShears/StirrupByRebarViewModel.cs | 70 +++++++++++++++++ .../Materials/ConcreteViewModel.cs | 26 ++----- .../Materials/ElasticViewModel.cs | 0 .../Materials/FRViewModel.cs | 0 .../Materials/HeadMaterialView.xaml.cs | 20 ++--- .../Materials/HeadMaterialViewModel.cs | 29 +++---- .../Materials/HeadMaterialsViewModel.cs | 16 +--- .../Materials/HelperMaterialViewModel.cs | 0 .../Materials/LibMaterialViewModel.cs | 60 +++++++-------- .../Materials/MaterialsViewModel.cs | 0 .../Materials/PartialFactorsViewModel.cs | 0 .../Materials/ReinforcementViewModel.cs | 21 ++++++ .../Materials/SafetyFactorsViewModel.cs | 13 +--- .../PrimitivePropertiesView.xaml | 16 +--- .../Materials/ReinforcementSelector.xaml | 12 +++ .../Materials/ReinforcementSelector.xaml.cs | 28 +++++++ .../Factories/SourceTargetFactory.cs | 10 +++ .../Materials/ReinforcementViewModel.cs | 33 -------- .../Windows/ViewModels/SelectItemVM.cs | 9 ++- .../Interfaces/IHasBeamShearActions.cs | 3 +- .../Factories/BeamShearActionFactory.cs | 4 +- .../BeamShearCalculatorInputData.cs | 4 +- .../BeamShears/BeamShearCalculatorLogic.cs | 4 +- .../Models/BeamShears/BeamShearRepository.cs | 60 +-------------- .../Models/BeamShears/BeamShearSection.cs | 14 +++- .../Factories/BeamShearTemplatesFactory.cs | 9 ++- .../Models/BeamShears/IBeamShearSection.cs | 2 +- .../BeamShears/IHasBeamShearSections.cs | 3 +- .../Models/BeamShears/IHasStirrups.cs | 1 - .../Models/BeamShears/IStirrup.cs | 8 +- ...upByUniformRebar.cs => IStirrupByRebar.cs} | 4 +- .../BeamShearRepositoryAddUpdateStrategy.cs | 4 +- .../Logics/BeamShearRepositoryService.cs | 52 +++++++++++++ .../Logics/BeamShearSectionUpdateStrategy.cs | 37 +++++++++ .../BeamShearStrengthByStirrupDensityLogic.cs | 8 +- .../CheckBeamShearCalculatorInputDataLogic.cs | 4 +- .../Logics/StirrupBaseUpdateStrategy.cs | 7 +- .../Logics/StirrupByDensityUpdateStrategy.cs | 2 +- ...StirrupByRebarToDensityConvertStrategy.cs} | 19 ++--- ...egy.cs => StirrupByRebarUpdateStrategy.cs} | 8 +- .../Logics/StirrupUpdateStrategy.cs | 10 +-- .../Models/BeamShears/StirrupByDensity.cs | 12 +-- .../Models/BeamShears/StirrupByRebar.cs | 75 +++++++++++++++++++ .../BeamShears/StirrupByUniformRebar.cs | 38 ---------- .../BeamShears/StirrupUpdateStrategy.cs | 23 ------ .../Models/Materials/ConcreteLibMaterial.cs | 15 ++-- .../Factories/ConcreteLibMaterialFactory.cs | 49 ++++++++++++ .../Factories/HeadMaterialFactory.cs | 19 +---- .../CrossSections/RCs/MaterialLogic.cs | 7 -- .../Primitives/IEllipseNdmPrimitive.cs | 5 -- ...iformRebarToDensityConvertStrategyTests.cs | 8 +- .../MaterialTests/MaterialStrengthTest.cs | 8 +- 71 files changed, 969 insertions(+), 472 deletions(-) create mode 100644 StructureHelper/Windows/BeamShears/BeamShearCalculatorInputDataViewModel.cs create mode 100644 StructureHelper/Windows/BeamShears/BeamShearCalculatorView.xaml create mode 100644 StructureHelper/Windows/BeamShears/BeamShearCalculatorView.xaml.cs create mode 100644 StructureHelper/Windows/BeamShears/SectionView.xaml create mode 100644 StructureHelper/Windows/BeamShears/SectionView.xaml.cs create mode 100644 StructureHelper/Windows/BeamShears/SectionViewModel.cs create mode 100644 StructureHelper/Windows/BeamShears/StirrupByRebarView.xaml create mode 100644 StructureHelper/Windows/BeamShears/StirrupByRebarView.xaml.cs create mode 100644 StructureHelper/Windows/BeamShears/StirrupByRebarViewModel.cs rename StructureHelper/Windows/{ViewModels => MainWindow}/Materials/ConcreteViewModel.cs (51%) rename StructureHelper/Windows/{ViewModels => MainWindow}/Materials/ElasticViewModel.cs (100%) rename StructureHelper/Windows/{ViewModels => MainWindow}/Materials/FRViewModel.cs (100%) rename StructureHelper/Windows/{ViewModels => MainWindow}/Materials/HeadMaterialViewModel.cs (74%) rename StructureHelper/Windows/{ViewModels => MainWindow}/Materials/HeadMaterialsViewModel.cs (95%) rename StructureHelper/Windows/{ViewModels => MainWindow}/Materials/HelperMaterialViewModel.cs (100%) rename StructureHelper/Windows/{ViewModels => MainWindow}/Materials/LibMaterialViewModel.cs (85%) rename StructureHelper/Windows/{ViewModels => MainWindow}/Materials/MaterialsViewModel.cs (100%) rename StructureHelper/Windows/{ViewModels => MainWindow}/Materials/PartialFactorsViewModel.cs (100%) create mode 100644 StructureHelper/Windows/MainWindow/Materials/ReinforcementViewModel.cs rename StructureHelper/Windows/{ViewModels => MainWindow}/Materials/SafetyFactorsViewModel.cs (79%) create mode 100644 StructureHelper/Windows/UserControls/Materials/ReinforcementSelector.xaml create mode 100644 StructureHelper/Windows/UserControls/Materials/ReinforcementSelector.xaml.cs delete mode 100644 StructureHelper/Windows/ViewModels/Materials/ReinforcementViewModel.cs rename StructureHelperLogics/Models/BeamShears/{IStirrupByUniformRebar.cs => IStirrupByRebar.cs} (90%) create mode 100644 StructureHelperLogics/Models/BeamShears/Logics/BeamShearRepositoryService.cs create mode 100644 StructureHelperLogics/Models/BeamShears/Logics/BeamShearSectionUpdateStrategy.cs rename StructureHelperLogics/Models/BeamShears/{ => Logics}/BeamShearStrengthByStirrupDensityLogic.cs (95%) rename StructureHelperLogics/Models/BeamShears/{StirrupByUniformRebarToDensityConvertStrategy.cs => Logics/StirrupByRebarToDensityConvertStrategy.cs} (69%) rename StructureHelperLogics/Models/BeamShears/Logics/{StirrupByUniformRebarUpdateStrategy.cs => StirrupByRebarUpdateStrategy.cs} (75%) create mode 100644 StructureHelperLogics/Models/BeamShears/StirrupByRebar.cs delete mode 100644 StructureHelperLogics/Models/BeamShears/StirrupByUniformRebar.cs delete mode 100644 StructureHelperLogics/Models/BeamShears/StirrupUpdateStrategy.cs create mode 100644 StructureHelperLogics/Models/Materials/Factories/ConcreteLibMaterialFactory.cs diff --git a/StructureHelper/Infrastructure/UI/Resources/Materials.xaml b/StructureHelper/Infrastructure/UI/Resources/Materials.xaml index 5cd1ae1..72b5407 100644 --- a/StructureHelper/Infrastructure/UI/Resources/Materials.xaml +++ b/StructureHelper/Infrastructure/UI/Resources/Materials.xaml @@ -7,16 +7,7 @@ - - - + @@ -28,8 +19,11 @@ - - + + @@ -113,12 +107,12 @@ - - - - - - + + + + + + - +