Change value diagram calculator

This commit is contained in:
Evgeny Redikultsev
2025-11-16 21:03:57 +05:00
parent f7e60e0bb3
commit 215f631bb0
170 changed files with 2108 additions and 387 deletions

View File

@@ -8,14 +8,14 @@ namespace StructureHelperCommon.Models.Forces.BeamShearActions
private IUpdateStrategy<IBeamShearAxisAction> axisActionUpdateStrategy;
public void Update(IBeamShearAction targetObject, IBeamShearAction sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Name = sourceObject.Name;
targetObject.ExternalForce = sourceObject.ExternalForce.Clone() as IFactoredForceTuple;
InitializeStrategies();
CheckObject.IsNull(sourceObject.SupportAction);
CheckObject.IsNull(targetObject.SupportAction);
CheckObject.ThrowIfNull(sourceObject.SupportAction);
CheckObject.ThrowIfNull(targetObject.SupportAction);
axisActionUpdateStrategy.Update(targetObject.SupportAction, sourceObject.SupportAction);
}

View File

@@ -12,15 +12,15 @@ namespace StructureHelperCommon.Models.Forces.BeamShearActions
private IUpdateStrategy<IFactoredCombinationProperty> combinationUpdateStrategy;
public void Update(IBeamShearAxisAction targetObject, IBeamShearAxisAction sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
InitializeStrategies();
targetObject.Name = sourceObject.Name;
targetObject.SupportForce = sourceObject.SupportForce.Clone() as IFactoredForceTuple;
CheckObject.IsNull(targetObject.ShearLoads);
CheckObject.ThrowIfNull(targetObject.ShearLoads);
targetObject.ShearLoads.Clear();
CheckObject.IsNull(sourceObject.ShearLoads);
CheckObject.ThrowIfNull(sourceObject.ShearLoads);
foreach (var item in sourceObject.ShearLoads)
{
IBeamSpanLoad beamShearLoad = item.Clone() as IBeamSpanLoad;

View File

@@ -9,14 +9,14 @@ namespace StructureHelperCommon.Models.Forces.BeamShearActions
private IUpdateStrategy<IFactoredCombinationProperty> combinationUpdateStrategy;
public void Update(IBeamSpanLoad targetObject, IBeamSpanLoad sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Name = sourceObject.Name;
targetObject.LoadRatio = sourceObject.LoadRatio;
targetObject.RelativeLoadLevel = sourceObject.RelativeLoadLevel;
CheckObject.IsNull(sourceObject.CombinationProperty);
CheckObject.IsNull(targetObject.CombinationProperty);
CheckObject.ThrowIfNull(sourceObject.CombinationProperty);
CheckObject.ThrowIfNull(targetObject.CombinationProperty);
combinationUpdateStrategy ??= new FactoredCombinationPropertyUpdateStrategy();
combinationUpdateStrategy.Update(targetObject.CombinationProperty, sourceObject.CombinationProperty);
}

View File

@@ -15,8 +15,8 @@ namespace StructureHelperCommon.Models.Forces.BeamShearActions
private IUpdateStrategy<IDistributedLoad> distributedLoadUpdateStrategy;
public void Update(IBeamSpanLoad targetObject, IBeamSpanLoad sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
InitializeStrategies();
UpdateObjects(targetObject, sourceObject);

View File

@@ -8,8 +8,8 @@ namespace StructureHelperCommon.Models.Forces.BeamShearActions
private IUpdateStrategy<IBeamSpanLoad> baseUpdateStrategy;
public void Update(IConcentratedForce targetObject, IConcentratedForce sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
InitializeStrategies();
baseUpdateStrategy.Update(targetObject, sourceObject);

View File

@@ -8,8 +8,8 @@ namespace StructureHelperCommon.Models.Forces.BeamShearActions
private IUpdateStrategy<IBeamSpanLoad> baseUpdateStrategy;
public void Update(IDistributedLoad targetObject, IDistributedLoad sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
InitializeStrategies();
baseUpdateStrategy.Update(targetObject, sourceObject);