Force tuple update strategy was fixed
This commit is contained in:
@@ -14,14 +14,13 @@ namespace StructureHelperCommon.Models.Forces
|
|||||||
public void Update(IForceTuple targetObject, IForceTuple sourceObject)
|
public void Update(IForceTuple targetObject, IForceTuple sourceObject)
|
||||||
{
|
{
|
||||||
if (ReferenceEquals(targetObject, sourceObject)) { return; }
|
if (ReferenceEquals(targetObject, sourceObject)) { return; }
|
||||||
CheckObject.IsNull(targetObject, ": target object ");
|
CheckObject.CompareTypes(targetObject, sourceObject);
|
||||||
CheckObject.IsNull(sourceObject, ": source object ");
|
|
||||||
|
|
||||||
targetObject.Mx = sourceObject.Mx;
|
targetObject.Mx = sourceObject.Mx;
|
||||||
targetObject.My = sourceObject.My;
|
targetObject.My = sourceObject.My;
|
||||||
targetObject.Nz = targetObject.Nz;
|
targetObject.Nz = sourceObject.Nz;
|
||||||
targetObject.Qx = targetObject.Qx;
|
targetObject.Qx = sourceObject.Qx;
|
||||||
targetObject.Qy = targetObject.Qy;
|
targetObject.Qy = sourceObject.Qy;
|
||||||
targetObject.Mz = sourceObject.Mz;
|
targetObject.Mz = sourceObject.Mz;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
using StructureHelperCommon.Services.Forces;
|
using StructureHelperCommon.Infrastructures.Interfaces;
|
||||||
|
using StructureHelperCommon.Services.Forces;
|
||||||
|
|
||||||
namespace StructureHelperCommon.Models.Forces
|
namespace StructureHelperCommon.Models.Forces
|
||||||
{
|
{
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public class StrainTuple : IForceTuple
|
public class StrainTuple : IForceTuple
|
||||||
{
|
{
|
||||||
|
private readonly IUpdateStrategy<IForceTuple> updateStrategy = new ForceTupleUpdateStrategy();
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public double Mx { get; set; }
|
public double Mx { get; set; }
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
@@ -21,8 +23,9 @@ namespace StructureHelperCommon.Models.Forces
|
|||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public object Clone()
|
public object Clone()
|
||||||
{
|
{
|
||||||
StrainTuple forceTuple = new StrainTuple() { Mx = Mx, My = My, Nz = Nz, Qx = Qx, Qy = Qy, Mz = Mz };
|
var newItem = new StrainTuple();
|
||||||
return forceTuple;
|
updateStrategy.Update(newItem, this);
|
||||||
|
return newItem;
|
||||||
}
|
}
|
||||||
public static StrainTuple operator +(StrainTuple first) => first;
|
public static StrainTuple operator +(StrainTuple first) => first;
|
||||||
public static StrainTuple operator +(StrainTuple first, ForceTuple second)
|
public static StrainTuple operator +(StrainTuple first, ForceTuple second)
|
||||||
|
|||||||
Reference in New Issue
Block a user