Files
StructureHelper/StructureHelperCommon/Models/Forces/BeamShearActions/ConcentratedForceUpdateStrategy.cs
2025-03-23 21:24:22 +05:00

26 lines
987 B
C#

using StructureHelperCommon.Infrastructures.Interfaces;
using StructureHelperCommon.Services;
namespace StructureHelperCommon.Models.Forces.BeamShearActions
{
public class ConcentratedForceUpdateStrategy : IUpdateStrategy<IConcentratedForce>
{
private IUpdateStrategy<IBeamSpanLoad> baseUpdateStrategy;
public void Update(IConcentratedForce targetObject, IConcentratedForce sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
InitializeStrategies();
baseUpdateStrategy.Update(targetObject, sourceObject);
targetObject.ForceValue = sourceObject.ForceValue;
targetObject.ForceCoordinate = sourceObject.ForceCoordinate;
}
private void InitializeStrategies()
{
baseUpdateStrategy ??= new BeamShearLoadBaseUpdateStrategy();
}
}
}