Beam shear load views have been created;

This commit is contained in:
Evgeny Redikultsev
2025-03-15 21:22:03 +05:00
parent 382ff6ed36
commit e5d33351e2
39 changed files with 765 additions and 42 deletions

View File

@@ -0,0 +1,41 @@
using StructureHelperCommon.Infrastructures.Interfaces;
using StructureHelperCommon.Models.Forces.Logics;
using StructureHelperCommon.Services;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StructureHelperCommon.Models.Forces.BeamShearActions
{
public class BeamShearAxisActionUpdateStrategy : IUpdateStrategy<IBeamShearAxisAction>
{
private IUpdateStrategy<IFactoredCombinationProperty> combinationUpdateStrategy;
public void Update(IBeamShearAxisAction targetObject, IBeamShearAxisAction sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
InitializeStrategies();
targetObject.Name = sourceObject.Name;
targetObject.SupportShearForce = sourceObject.SupportShearForce;
CheckObject.IsNull(targetObject.FactoredCombinationProperty);
CheckObject.IsNull(sourceObject.FactoredCombinationProperty);
combinationUpdateStrategy.Update(targetObject.FactoredCombinationProperty, sourceObject.FactoredCombinationProperty);
CheckObject.IsNull(targetObject.ShearLoads);
targetObject.ShearLoads.Clear();
CheckObject.IsNull(sourceObject.ShearLoads);
foreach (var item in sourceObject.ShearLoads)
{
IBeamShearLoad beamShearLoad = item.Clone() as IBeamShearLoad;
targetObject.ShearLoads.Add(beamShearLoad);
}
}
private void InitializeStrategies()
{
combinationUpdateStrategy ??= new FactoredCombinationPropertyUpdateStrategy();
}
}
}