Update strategy were changed

This commit is contained in:
Evgeny Redikultsev
2023-07-23 21:10:33 +05:00
parent 44ca05d181
commit ac079eb612
29 changed files with 39 additions and 11 deletions

View File

@@ -12,6 +12,7 @@ namespace StructureHelperLogics.Models.Materials
LibMaterialUpdateStrategy libUpdateStrategy = new LibMaterialUpdateStrategy();
public void Update(IConcreteLibMaterial targetObject, IConcreteLibMaterial sourceObject)
{
if (ReferenceEquals(targetObject, sourceObject)) { return; }
libUpdateStrategy.Update(targetObject, sourceObject);
targetObject.TensionForULS = sourceObject.TensionForULS;
targetObject.TensionForSLS = sourceObject.TensionForSLS;

View File

@@ -12,6 +12,7 @@ namespace StructureHelperLogics.Models.Materials
{
public void Update(IElasticMaterial targetObject, IElasticMaterial sourceObject)
{
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Modulus = sourceObject.Modulus;
targetObject.CompressiveStrength = sourceObject.CompressiveStrength;
targetObject.TensileStrength = sourceObject.TensileStrength;

View File

@@ -12,6 +12,7 @@ namespace StructureHelperLogics.Models.Materials
{
public void Update(IFRMaterial targetObject, IFRMaterial sourceObject)
{
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Modulus = sourceObject.Modulus;
targetObject.CompressiveStrength = sourceObject.CompressiveStrength;
targetObject.TensileStrength = targetObject.TensileStrength;

View File

@@ -12,10 +12,10 @@ namespace StructureHelperLogics.Models.Materials
{
public void Update(ILibMaterial targetObject, ILibMaterial sourceObject)
{
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.MaterialEntity = sourceObject.MaterialEntity;
var tmpSafetyFactors = new List<IMaterialSafetyFactor>(sourceObject.SafetyFactors);
targetObject.SafetyFactors.Clear();
foreach (var item in tmpSafetyFactors)
foreach (var item in sourceObject.SafetyFactors)
{
targetObject.SafetyFactors.Add(item.Clone() as IMaterialSafetyFactor);
}

View File

@@ -19,6 +19,7 @@ namespace StructureHelperLogics.Models.Materials
private readonly IUpdateStrategy<IReinforcementLibMaterial> reinforcementStrategy = new ReinforcementLibUpdateStrategy();
public void Update(IHeadMaterial targetObject, IHeadMaterial sourceObject)
{
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Name = sourceObject.Name;
targetObject.Color = sourceObject.Color;
targetObject.HelperMaterial = sourceObject.HelperMaterial.Clone() as IHelperMaterial;

View File

@@ -12,6 +12,7 @@ namespace StructureHelperLogics.Models.Materials
LibMaterialUpdateStrategy libUpdateStrategy = new LibMaterialUpdateStrategy();
public void Update(IReinforcementLibMaterial targetObject, IReinforcementLibMaterial sourceObject)
{
if (ReferenceEquals(targetObject, sourceObject)) { return; }
libUpdateStrategy.Update(targetObject, sourceObject);
}
}

View File

@@ -10,6 +10,7 @@ namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces.Logics
static readonly CompressedMemberUpdateStrategy compressedMemberUpdateStrategy = new();
public void Update(IForceCalculator targetObject, IForceCalculator sourceObject)
{
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Name = sourceObject.Name;
targetObject.LimitStatesList.Clear();
targetObject.LimitStatesList.AddRange(sourceObject.LimitStatesList);

View File

@@ -17,6 +17,7 @@ namespace StructureHelperLogics.NdmCalculations.Analyses.Logics
{
public void Update(ICalculator targetObject, ICalculator sourceObject)
{
if (ReferenceEquals(targetObject, sourceObject)) { return; }
CheckObject.CompareTypes(targetObject, sourceObject);
if (targetObject is IForceCalculator force)
{

View File

@@ -16,14 +16,15 @@ namespace StructureHelperLogics.NdmCalculations.Primitives
readonly ForceTupleUpdateStrategy tupleUpdateStrategy = new();
readonly VisualPropsUpdateStrategy visualPropsUpdateStrategy = new();
public void Update(INdmPrimitive target, INdmPrimitive source)
public void Update(INdmPrimitive targetObject, INdmPrimitive sourceObject)
{
target.Name = source.Name;
if (source.HeadMaterial != null) target.HeadMaterial = source.HeadMaterial;
target.Triangulate = source.Triangulate;
pointShapeUpdateStrategy.Update(target.Center, source.Center);
visualPropsUpdateStrategy.Update(target.VisualProperty, source.VisualProperty);
tupleUpdateStrategy.Update(target.UsersPrestrain, source.UsersPrestrain);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Name = sourceObject.Name;
if (sourceObject.HeadMaterial != null) targetObject.HeadMaterial = sourceObject.HeadMaterial;
targetObject.Triangulate = sourceObject.Triangulate;
pointShapeUpdateStrategy.Update(targetObject.Center, sourceObject.Center);
visualPropsUpdateStrategy.Update(targetObject.VisualProperty, sourceObject.VisualProperty);
tupleUpdateStrategy.Update(targetObject.UsersPrestrain, sourceObject.UsersPrestrain);
}
}

View File

@@ -16,6 +16,7 @@ namespace StructureHelperLogics.NdmCalculations.Primitives
public void Update(CirclePrimitive targetObject, CirclePrimitive sourceObject)
{
if (ReferenceEquals(targetObject, sourceObject)) { return; }
basePrimitiveUpdateStrategy.Update(targetObject, sourceObject);
divisionPropsUpdateStrategy.Update(targetObject, sourceObject);
shapeUpdateStrategy.Update(targetObject, sourceObject);

View File

@@ -11,6 +11,7 @@ namespace StructureHelperLogics.NdmCalculations.Primitives
{
public void Update(IHasDivisionSize targetObject, IHasDivisionSize sourceObject)
{
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.NdmMaxSize = sourceObject.NdmMaxSize;
targetObject.NdmMinDivision = sourceObject.NdmMinDivision;
targetObject.ClearUnderlying = sourceObject.ClearUnderlying;

View File

@@ -9,6 +9,7 @@ namespace StructureHelperLogics.NdmCalculations.Primitives
{
public void Update(INdmPrimitive targetObject, INdmPrimitive sourceObject)
{
if (ReferenceEquals(targetObject, sourceObject)) { return; }
CheckObject.CompareTypes(targetObject, sourceObject);
if (targetObject is PointPrimitive point)
{

View File

@@ -13,6 +13,7 @@ namespace StructureHelperLogics.NdmCalculations.Primitives
static readonly BaseUpdateStrategy basePrimitiveUpdateStrategy = new();
public void Update(PointPrimitive targetObject, PointPrimitive sourceObject)
{
if (ReferenceEquals(targetObject, sourceObject)) { return; }
basePrimitiveUpdateStrategy.Update(targetObject, sourceObject);
targetObject.Area = sourceObject.Area;
}

View File

@@ -12,6 +12,7 @@ namespace StructureHelperLogics.NdmCalculations.Primitives
static readonly BaseUpdateStrategy basePrimitiveUpdateStrategy = new();
public void Update(RebarPrimitive targetObject, RebarPrimitive sourceObject)
{
if (ReferenceEquals(targetObject, sourceObject)) { return; }
basePrimitiveUpdateStrategy.Update(targetObject, sourceObject);
targetObject.Area = sourceObject.Area;
targetObject.HostPrimitive = sourceObject.HostPrimitive;

View File

@@ -15,6 +15,7 @@ namespace StructureHelperLogics.NdmCalculations.Primitives
static readonly RectangleShapeUpdateStrategy shapeUpdateStrategy = new();
public void Update(RectanglePrimitive targetObject, RectanglePrimitive sourceObject)
{
if (ReferenceEquals(targetObject, sourceObject)) { return; }
basePrimitiveUpdateStrategy.Update(targetObject, sourceObject);
divisionPropsUpdateStrategy.Update(targetObject, sourceObject);
shapeUpdateStrategy.Update(targetObject, sourceObject);

View File

@@ -11,6 +11,7 @@ namespace StructureHelperLogics.NdmCalculations.Primitives
{
public void Update(IVisualProperty targetObject, IVisualProperty sourceObject)
{
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.IsVisible = sourceObject.IsVisible;
targetObject.Color = sourceObject.Color;
targetObject.SetMaterialColor = sourceObject.SetMaterialColor;