diff --git a/StructureHelperCommon/Models/Forces/Logics/ForceTupleUpdateStrategy.cs b/StructureHelperCommon/Models/Forces/Logics/ForceTupleUpdateStrategy.cs
index bde548b..650e7db 100644
--- a/StructureHelperCommon/Models/Forces/Logics/ForceTupleUpdateStrategy.cs
+++ b/StructureHelperCommon/Models/Forces/Logics/ForceTupleUpdateStrategy.cs
@@ -14,14 +14,13 @@ namespace StructureHelperCommon.Models.Forces
public void Update(IForceTuple targetObject, IForceTuple sourceObject)
{
if (ReferenceEquals(targetObject, sourceObject)) { return; }
- CheckObject.IsNull(targetObject, ": target object ");
- CheckObject.IsNull(sourceObject, ": source object ");
+ CheckObject.CompareTypes(targetObject, sourceObject);
targetObject.Mx = sourceObject.Mx;
targetObject.My = sourceObject.My;
- targetObject.Nz = targetObject.Nz;
- targetObject.Qx = targetObject.Qx;
- targetObject.Qy = targetObject.Qy;
+ targetObject.Nz = sourceObject.Nz;
+ targetObject.Qx = sourceObject.Qx;
+ targetObject.Qy = sourceObject.Qy;
targetObject.Mz = sourceObject.Mz;
}
}
diff --git a/StructureHelperCommon/Models/Forces/StrainTuple.cs b/StructureHelperCommon/Models/Forces/StrainTuple.cs
index 930c864..40ba0fd 100644
--- a/StructureHelperCommon/Models/Forces/StrainTuple.cs
+++ b/StructureHelperCommon/Models/Forces/StrainTuple.cs
@@ -1,10 +1,12 @@
-using StructureHelperCommon.Services.Forces;
+using StructureHelperCommon.Infrastructures.Interfaces;
+using StructureHelperCommon.Services.Forces;
namespace StructureHelperCommon.Models.Forces
{
///
public class StrainTuple : IForceTuple
{
+ private readonly IUpdateStrategy updateStrategy = new ForceTupleUpdateStrategy();
///
public double Mx { get; set; }
///
@@ -21,8 +23,9 @@ namespace StructureHelperCommon.Models.Forces
///
public object Clone()
{
- StrainTuple forceTuple = new StrainTuple() { Mx = Mx, My = My, Nz = Nz, Qx = Qx, Qy = Qy, Mz = Mz };
- return forceTuple;
+ var newItem = new StrainTuple();
+ updateStrategy.Update(newItem, this);
+ return newItem;
}
public static StrainTuple operator +(StrainTuple first) => first;
public static StrainTuple operator +(StrainTuple first, ForceTuple second)