using StructureHelperCommon.Infrastructures.Interfaces; using StructureHelperCommon.Services.Forces; using System.ComponentModel.DataAnnotations; namespace StructureHelperCommon.Models.Forces { /// public class ForceTuple : 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 object Clone() { var newItem = new ForceTuple(); updateStrategy.Update(newItem, this); return newItem; } public static ForceTuple operator +(ForceTuple first) => first; public static ForceTuple operator +(ForceTuple first, ForceTuple second) { return ForceTupleService.SumTuples(first, second) as ForceTuple; } } }