Templates was added
This commit is contained in:
@@ -14,6 +14,7 @@ using StructureHelperLogics.Models.Materials;
|
||||
using StructureHelperLogics.Models.Materials.Factories;
|
||||
using StructureHelperLogics.NdmCalculations.Triangulations;
|
||||
using StructureHelperLogics.Services;
|
||||
using StructureHelperLogics.Services.NdmCalculations;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -48,19 +49,21 @@ namespace StructureHelper.Windows.MainWindow
|
||||
HeadMaterialRepository.LibMaterials = LibMaterialFactory.GetLibMaterials(code);
|
||||
}
|
||||
|
||||
public IStrainMatrix Calculate(double mx, double my, double nz)
|
||||
{
|
||||
var unitSystem = unitSystemService.GetCurrentSystem();
|
||||
return calculationService.GetPrimitiveStrainMatrix(primitiveRepository.Primitives.Select(x => x.GetNdmPrimitive(unitSystem)).ToArray(), mx, my, nz);
|
||||
}
|
||||
//public IStrainMatrix Calculate(double mx, double my, double nz)
|
||||
//{
|
||||
// var unitSystem = unitSystemService.GetCurrentSystem();
|
||||
// return calculationService.GetPrimitiveStrainMatrix(primitiveRepository.Primitives.Select(x => x.GetNdmPrimitive(unitSystem)).ToArray(),
|
||||
// mx, my, nz,
|
||||
// CalculationProperty.LimitState, CalculationProperty.CalcTerm);
|
||||
//}
|
||||
|
||||
public IEnumerable<INdm> GetNdms()
|
||||
public IEnumerable<INdm> GetNdms(ICalculationProperty calculationProperty)
|
||||
{
|
||||
var unitSystem = unitSystemService.GetCurrentSystem();
|
||||
var ndmPrimitives = primitiveRepository.Primitives.Select(x => x.GetNdmPrimitive(unitSystem)).ToArray();
|
||||
|
||||
//Настройки триангуляции, пока опции могут быть только такие
|
||||
ITriangulationOptions options = new TriangulationOptions { LimiteState = LimitStates.Collapse, CalcTerm = CalcTerms.ShortTerm };
|
||||
ITriangulationOptions options = new TriangulationOptions { LimiteState = calculationProperty.LimitState, CalcTerm = calculationProperty.CalcTerm };
|
||||
|
||||
//Формируем коллекцию элементарных участков для расчета в библитеке (т.е. выполняем триангуляцию)
|
||||
List<INdm> ndmCollection = new List<INdm>();
|
||||
@@ -69,21 +72,21 @@ namespace StructureHelper.Windows.MainWindow
|
||||
return ndmCollection;
|
||||
}
|
||||
|
||||
public ILoaderResults CalculateResult(IEnumerable<INdm> ndmCollection, IForceMatrix forceMatrix)
|
||||
{
|
||||
var loaderData = new LoaderOptions
|
||||
{
|
||||
Preconditions = new Preconditions
|
||||
{
|
||||
ConditionRate = 0.01,
|
||||
MaxIterationCount = 100,
|
||||
StartForceMatrix = forceMatrix
|
||||
},
|
||||
NdmCollection = ndmCollection
|
||||
};
|
||||
var calculator = new Calculator();
|
||||
calculator.Run(loaderData, new CancellationToken());
|
||||
return calculator.Result;
|
||||
}
|
||||
//public ILoaderResults CalculateResult(IEnumerable<INdm> ndmCollection, IForceMatrix forceMatrix)
|
||||
//{
|
||||
// var loaderData = new LoaderOptions
|
||||
// {
|
||||
// Preconditions = new Preconditions
|
||||
// {
|
||||
// ConditionRate = 0.01,
|
||||
// MaxIterationCount = 100,
|
||||
// StartForceMatrix = forceMatrix
|
||||
// },
|
||||
// NdmCollection = ndmCollection
|
||||
// };
|
||||
// var calculator = new Calculator();
|
||||
// calculator.Run(loaderData, new CancellationToken());
|
||||
// return calculator.Result;
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user