using StructureHelperCommon.Infrastructures.Enums; using StructureHelperCommon.Infrastructures.Interfaces; using StructureHelperCommon.Models.Forces.Logics; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace StructureHelperCommon.Models.Forces { /// public class FactoredCombinationProperty : IFactoredCombinationProperty { private IUpdateStrategy updateStrategy; /// public Guid Id { get; } /// public CalcTerms CalcTerm { get; set; } = CalcTerms.ShortTerm; /// public LimitStates LimitState { get; set; } = LimitStates.SLS; /// public double LongTermFactor { get; set; } = 1d; /// public double ULSFactor { get; set; } = 1.2d; public FactoredCombinationProperty(Guid id) { Id = id; } public object Clone() { FactoredCombinationProperty factoredCombinationProperty = new(Guid.NewGuid()); updateStrategy ??= new FactoredCombinationPropertyUpdateStrategy(); updateStrategy.Update(factoredCombinationProperty, this); return factoredCombinationProperty; } } }