Change force tuple calculator result
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using StructureHelperCommon.Models.Forces;
|
||||
using StructureHelperCommon.Models.Sections;
|
||||
using StructureHelperCommon.Models.States;
|
||||
using StructureHelperCommon.Services.Forces;
|
||||
using StructureHelperLogics.NdmCalculations.Analyses.ByForces;
|
||||
|
||||
@@ -8,19 +9,19 @@ namespace StructureHelperLogics.Services.NdmCalculations
|
||||
public static class InterpolateService
|
||||
{
|
||||
static readonly CompressedMemberUpdateStrategy compressedMemberUpdateStrategy = new();
|
||||
public static ForceCalculator InterpolateForceCalculator(ForceCalculator source, InterpolateTuplesResult interpolateTuplesResult)
|
||||
public static ForceCalculator InterpolateForceCalculator(IForceCalculator source, IStateCalcTermPair stateCalcTermPair, InterpolateTuplesResult interpolateTuplesResult)
|
||||
{
|
||||
ForceCalculator calculator = new ForceCalculator();
|
||||
calculator.InputData.LimitStatesList.Clear();
|
||||
calculator.InputData.LimitStatesList.Add(interpolateTuplesResult.StartTuple.LimitState);
|
||||
calculator.InputData.LimitStatesList.Add(stateCalcTermPair.LimitState);
|
||||
calculator.InputData.CalcTermsList.Clear();
|
||||
calculator.InputData.CalcTermsList.Add(interpolateTuplesResult.FinishTuple.CalcTerm);
|
||||
calculator.InputData.CalcTermsList.Add(stateCalcTermPair.CalcTerm);
|
||||
compressedMemberUpdateStrategy.Update(calculator.InputData.CompressedMember, source.InputData.CompressedMember);
|
||||
calculator.InputData.Accuracy = source.InputData.Accuracy;
|
||||
calculator.InputData.Primitives.AddRange(source.InputData.Primitives);
|
||||
calculator.InputData.ForceActions.Clear();
|
||||
calculator.InputData.CheckStrainLimit = source.InputData.CheckStrainLimit;
|
||||
var forceTuples = ForceTupleService.InterpolateDesignTuple(interpolateTuplesResult.FinishTuple, interpolateTuplesResult.StartTuple, interpolateTuplesResult.StepCount);
|
||||
var forceTuples = ForceTupleService.InterpolateTuples(interpolateTuplesResult.StartTuple, interpolateTuplesResult.FinishTuple, interpolateTuplesResult.StepCount);
|
||||
foreach (var forceTuple in forceTuples)
|
||||
{
|
||||
var combination = new ForceCombinationList()
|
||||
@@ -29,7 +30,13 @@ namespace StructureHelperLogics.Services.NdmCalculations
|
||||
SetInGravityCenter = false
|
||||
};
|
||||
combination.DesignForces.Clear();
|
||||
combination.DesignForces.Add(forceTuple);
|
||||
DesignForceTuple designForceTuple = new()
|
||||
{
|
||||
LimitState = stateCalcTermPair.LimitState,
|
||||
CalcTerm = stateCalcTermPair.CalcTerm,
|
||||
ForceTuple = forceTuple,
|
||||
};
|
||||
combination.DesignForces.Add(designForceTuple);
|
||||
combination.ForcePoint.X = 0;
|
||||
combination.ForcePoint.Y = 0;
|
||||
calculator.InputData.ForceActions.Add(combination);
|
||||
|
||||
Reference in New Issue
Block a user