From 68b15682bb68ed3ffdf22dcf2c63e6c863e48263 Mon Sep 17 00:00:00 2001 From: Evgeny Redikultsev Date: Sun, 14 Dec 2025 17:40:53 +0500 Subject: [PATCH] Add steel Material --- .../Infrastructure/Enums/MaterialType.cs | 11 +- .../UI/Resources/Materials.xaml | 8 ++ .../Libraries/LoaderCalculator.dll | Bin 103936 -> 105984 bytes .../CrossSections/CrossSectionView.xaml | 5 + .../Materials/HeadMaterialView.xaml.cs | 22 ++-- .../Materials/HeadMaterialViewModel.cs | 4 + .../Materials/MaterialsViewModel.cs | 10 ++ .../Infrastructures/Enums/CodeTypes.cs | 1 + .../Models/Codes/Factories/CodeFactory.cs | 9 +- .../Models/Codes/ICodeEntity.cs | 5 - .../Factories/MaterialLogicsFactory.cs | 7 + .../Models/Materials/IMaterialLogicOptions.cs | 4 - .../Libraries/ConcreteMaterialEntity.cs | 7 +- .../Libraries/Factories/FRFactorsFactory.cs | 5 - .../Libraries/Factories/LibMaterialFactory.cs | 116 ++++++++++++++-- .../Factories/SteelDiagramPropertyFactory.cs | 97 ++++++++++++++ .../Libraries/FiberMaterialEntity.cs | 32 ----- .../Libraries/IFiberMaterialEntity.cs | 16 --- .../Materials/Libraries/ILibMaterialEntity.cs | 2 +- .../ISteelDiagramAbsoluteProperty.cs | 22 ++++ .../Libraries/ISteelDiagramProperty.cs | 34 +++++ .../ISteelDiagramRelativeProperty.cs | 18 +++ .../Libraries/ISteelMaterialEntity.cs | 11 ++ .../Libraries/ISteelMaterialLogicOption.cs | 11 ++ .../Libraries/LibMaterialPepository.cs | 10 ++ .../Logics/SteelMaterialBuilderLogic.cs | 116 ++++++++++++++++ ...elRelativeToAbsoluteDiagramConvertLogic.cs | 54 ++++++++ .../Libraries/ReinforcementMaterialEntity.cs | 2 +- .../Libraries/SteelDiagramAbsoluteProperty.cs | 31 +++++ .../Libraries/SteelDiagramRelativeProperty.cs | 17 +++ .../Libraries/SteelMaterialEntity.cs | 28 ++++ .../Libraries/SteelMaterialLogicOption.cs | 18 +++ .../Materials/MaterialCommonOptionLogic.cs | 2 +- .../Models/Materials/MaterialLogicOption.cs | 18 +++ .../Materials/ReinforcementByBuilderLogic.cs | 1 - .../Factories/HeadMaterialFactory.cs | 51 +++++-- .../Models/Materials/ISteelLibMaterial.cs | 12 ++ .../Logics/ConcreteLibUpdateStrategy.cs | 5 +- .../Logics/GetSteelLoaderMaterialLogic.cs | 63 +++++++++ .../Logics/HelperMaterialUpdateStrategy.cs | 41 +++--- .../Logics/SteelLibMaterialUpdateStrategy.cs | 34 +++++ .../Materials/ReinforcementLibMaterial.cs | 26 +--- .../Models/Materials/SteelLibMaterial.cs | 89 +++++++++++++ ...ativeToAbsoluteDiagramConvertLogicTests.cs | 124 ++++++++++++++++++ 44 files changed, 1047 insertions(+), 152 deletions(-) create mode 100644 StructureHelperCommon/Models/Materials/Libraries/Factories/SteelDiagramPropertyFactory.cs delete mode 100644 StructureHelperCommon/Models/Materials/Libraries/FiberMaterialEntity.cs delete mode 100644 StructureHelperCommon/Models/Materials/Libraries/IFiberMaterialEntity.cs create mode 100644 StructureHelperCommon/Models/Materials/Libraries/ISteelDiagramAbsoluteProperty.cs create mode 100644 StructureHelperCommon/Models/Materials/Libraries/ISteelDiagramProperty.cs create mode 100644 StructureHelperCommon/Models/Materials/Libraries/ISteelDiagramRelativeProperty.cs create mode 100644 StructureHelperCommon/Models/Materials/Libraries/ISteelMaterialEntity.cs create mode 100644 StructureHelperCommon/Models/Materials/Libraries/ISteelMaterialLogicOption.cs create mode 100644 StructureHelperCommon/Models/Materials/Libraries/Logics/SteelMaterialBuilderLogic.cs create mode 100644 StructureHelperCommon/Models/Materials/Libraries/Logics/SteelRelativeToAbsoluteDiagramConvertLogic.cs create mode 100644 StructureHelperCommon/Models/Materials/Libraries/SteelDiagramAbsoluteProperty.cs create mode 100644 StructureHelperCommon/Models/Materials/Libraries/SteelDiagramRelativeProperty.cs create mode 100644 StructureHelperCommon/Models/Materials/Libraries/SteelMaterialEntity.cs create mode 100644 StructureHelperCommon/Models/Materials/Libraries/SteelMaterialLogicOption.cs create mode 100644 StructureHelperCommon/Models/Materials/MaterialLogicOption.cs create mode 100644 StructureHelperLogics/Models/Materials/ISteelLibMaterial.cs create mode 100644 StructureHelperLogics/Models/Materials/Logics/GetSteelLoaderMaterialLogic.cs create mode 100644 StructureHelperLogics/Models/Materials/Logics/SteelLibMaterialUpdateStrategy.cs create mode 100644 StructureHelperLogics/Models/Materials/SteelLibMaterial.cs create mode 100644 StructureHelperTests/UnitTests/MaterialTests/SteelRelativeToAbsoluteDiagramConvertLogicTests.cs diff --git a/StructureHelper/Infrastructure/Enums/MaterialType.cs b/StructureHelper/Infrastructure/Enums/MaterialType.cs index 19b6550..21a6abb 100644 --- a/StructureHelper/Infrastructure/Enums/MaterialType.cs +++ b/StructureHelper/Infrastructure/Enums/MaterialType.cs @@ -8,10 +8,11 @@ namespace StructureHelper.Infrastructure.Enums { internal enum MaterialType { - Concrete, - Reinforcement, - Elastic, - CarbonFiber, - GlassFiber + Concrete = 0, + Reinforcement = 1, + Elastic = 2, + CarbonFiber = 3, + GlassFiber = 4, + Steel = 5 } } diff --git a/StructureHelper/Infrastructure/UI/Resources/Materials.xaml b/StructureHelper/Infrastructure/UI/Resources/Materials.xaml index 72b5407..8577d54 100644 --- a/StructureHelper/Infrastructure/UI/Resources/Materials.xaml +++ b/StructureHelper/Infrastructure/UI/Resources/Materials.xaml @@ -163,4 +163,12 @@ + + + +