using StructureHelperCommon.Infrastructures.Exceptions; using StructureHelperCommon.Infrastructures.Strings; using StructureHelperCommon.Models.Forces; using StructureHelperCommon.Models.Shapes; using StructureHelperLogics.Models.Primitives; using StructureHelperLogics.NdmCalculations.Primitives; namespace StructureHelperLogics.NdmCalculations.Triangulations { /// /// /// public class PointTriangulationLogicOptions : IPointTriangulationLogicOptions { /// /// /// public IPoint2D Center { get; } /// public double Area { get; } public StrainTuple Prestrain { get; set; } /// public PointTriangulationLogicOptions(IPoint2D center, double area) { Center = center; Area = area; Prestrain = new StrainTuple(); } public PointTriangulationLogicOptions(IPointPrimitive primitive) { Center = new Point2D() { X = primitive.CenterX, Y = primitive.CenterY }; Area = primitive.Area; Prestrain = new StrainTuple { Mx = primitive.UsersPrestrain.Mx + primitive.AutoPrestrain.Mx, My = primitive.UsersPrestrain.My + primitive.AutoPrestrain.My, Nz = primitive.UsersPrestrain.Nz + primitive.AutoPrestrain.Nz }; } } }