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; } /// public double My { get; set; } /// public double Nz { get; set; } /// public double Qx { get; set; } /// public double Qy { get; set; } /// public double Mz { get; set; } public void Clear() { Mx = 0d; My = 0d; Nz = 0d; Qx = 0d; Qy = 0d; Mz = 0d; } /// public object Clone() { 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) { return ForceTupleService.SumTuples(first, second) as StrainTuple; } } }