diff --git a/StructureHelper/Windows/CalculationWindows/CalculatorsViews/CrackDiagramLogic.cs b/StructureHelper/Windows/CalculationWindows/CalculatorsViews/CrackDiagramLogic.cs index b514987..ea03e2b 100644 --- a/StructureHelper/Windows/CalculationWindows/CalculatorsViews/CrackDiagramLogic.cs +++ b/StructureHelper/Windows/CalculationWindows/CalculatorsViews/CrackDiagramLogic.cs @@ -22,6 +22,8 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews internal class CrackDiagramLogic : ILongProcessLogic { static readonly CrackForceCalculator calculator = new(); + private ITriangulatePrimitiveLogic triangulateLogic; + private List ValidTupleList { get; set; } ArrayParameter arrayParameter; private IEnumerable TupleList { get; set; } @@ -102,7 +104,14 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews calculator.EndTuple = validTupleList[i].DesignForceTuple.ForceTuple; var limitState = validTupleList[i].DesignForceTuple.LimitState; var calcTerm = validTupleList[i].DesignForceTuple.CalcTerm; - var ndms = NdmPrimitivesService.GetNdms(ndmPrimitives, limitState, calcTerm); + triangulateLogic = new TriangulatePrimitiveLogic() + { + Primitives = ndmPrimitives, + LimitState = limitState, + CalcTerm = calcTerm, + TraceLogger = TraceLogger + }; + var ndms = triangulateLogic.GetNdms(); calculator.NdmCollection = ndms; calculator.Run(); var result = (CrackForceResult)calculator.Result; diff --git a/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/ShowCrackResultLogic.cs b/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/ShowCrackResultLogic.cs index 04445c5..f03902b 100644 --- a/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/ShowCrackResultLogic.cs +++ b/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/ShowCrackResultLogic.cs @@ -18,6 +18,7 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews.ForceCalcu internal class ShowCrackResultLogic { private CrackForceCalculator calculator; + private ITriangulatePrimitiveLogic triangulateLogic; public static GeometryNames GeometryNames => ProgramSetting.GeometryNames; public LimitStates LimitState { get; set; } @@ -42,7 +43,13 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews.ForceCalcu calculator.TraceLogger = new ShiftTraceLogger(); calculator.StartTuple = startDesignTuple; calculator.EndTuple = finishDesignTuple; - calculator.NdmCollection = NdmPrimitivesService.GetNdms(ndmPrimitives, LimitState, CalcTerm); + triangulateLogic = new TriangulatePrimitiveLogic() + { + Primitives = ndmPrimitives, + LimitState = LimitState, + CalcTerm = CalcTerm + }; + calculator.NdmCollection = triangulateLogic.GetNdms(); calculator.Run(); var result = (CrackForceResult)calculator.Result; if (result.IsValid) diff --git a/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/ShowCrackWidthLogic.cs b/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/ShowCrackWidthLogic.cs index 0a69aed..19c324a 100644 --- a/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/ShowCrackWidthLogic.cs +++ b/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/ShowCrackWidthLogic.cs @@ -19,14 +19,14 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews.ForceCalcu internal void Show() { - var inputData = new CrackWidthCalculatorInputData() + var inputData = new TupleCrackInputData() { //LimitState = LimitState, //CalcTerm = CalcTerm, LongTermTuple = ForceTuple, NdmPrimitives = ndmPrimitives }; - var calculator = new CrackWidthCalculator() { InputData = inputData }; + var calculator = new TupleCrackCalculator() { InputData = inputData }; calculator.Run(); var result = calculator.Result; diff --git a/StructureHelper/Windows/MainWindow/CrossSectionModel.cs b/StructureHelper/Windows/MainWindow/CrossSectionModel.cs index 95488a7..874a705 100644 --- a/StructureHelper/Windows/MainWindow/CrossSectionModel.cs +++ b/StructureHelper/Windows/MainWindow/CrossSectionModel.cs @@ -1,4 +1,5 @@ using LoaderCalculator; +using LoaderCalculator.Data.Materials.MaterialBuilders; using LoaderCalculator.Data.Matrix; using LoaderCalculator.Data.Ndms; using LoaderCalculator.Data.ResultData; @@ -9,6 +10,7 @@ using StructureHelper.Services.Primitives; using StructureHelper.UnitSystem; using StructureHelper.UnitSystem.Systems; using StructureHelperCommon.Infrastructures.Enums; +using StructureHelperCommon.Models; using StructureHelperCommon.Services.Units; using StructureHelperLogics.Models.Calculations.CalculationProperties; using StructureHelperLogics.Models.CrossSections; @@ -26,6 +28,8 @@ namespace StructureHelper.Windows.MainWindow { public class CrossSectionModel { + private ITriangulatePrimitiveLogic triangulateLogic; + public ICrossSection Section { get; private set; } private IPrimitiveRepository primitiveRepository; public IHeadMaterialRepository HeadMaterialRepository { get; } @@ -52,7 +56,13 @@ namespace StructureHelper.Windows.MainWindow public IEnumerable GetNdms(ICalculationProperty calculationProperty) { var ndmPrimitives = Section.SectionRepository.Primitives; - return NdmPrimitivesService.GetNdms(ndmPrimitives, calculationProperty.LimitState, calculationProperty.CalcTerm); + triangulateLogic = new TriangulatePrimitiveLogic() + { + Primitives = ndmPrimitives, + LimitState = calculationProperty.LimitState, + CalcTerm = calculationProperty.CalcTerm + }; + return triangulateLogic.GetNdms(); ////Настройки триангуляции, пока опции могут быть только такие //ITriangulationOptions options = new TriangulationOptions { LimiteState = calculationProperty.LimitState, CalcTerm = calculationProperty.CalcTerm }; diff --git a/StructureHelper/Windows/MainWindow/CrossSectionView.xaml b/StructureHelper/Windows/MainWindow/CrossSectionView.xaml index 4d78355..ac8b107 100644 --- a/StructureHelper/Windows/MainWindow/CrossSectionView.xaml +++ b/StructureHelper/Windows/MainWindow/CrossSectionView.xaml @@ -201,7 +201,7 @@ -