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;
}
}
}