using System; using StructureHelperCommon.Infrastructures.Exceptions; using StructureHelperCommon.Infrastructures.Strings; using StructureHelperCommon.Models.Shapes; using StructureHelperLogics.Models.Primitives; namespace StructureHelperLogics.NdmCalculations.Triangulations { /// public class RectangleTriangulationLogicOptions : IRectangleTriangulationLogicOptions { /// public ICenter Center { get; } /// public IRectangle Rectangle { get; } /// public double NdmMaxSize { get; } /// public int NdmMinDivision { get; } /// public double PrestrainKx { get;} /// public double PrestrainKy { get; } /// public double PrestrainEpsZ { get;} public RectangleTriangulationLogicOptions(ICenter center, IRectangle rectangle, double ndmMaxSize, int ndmMinDivision) { Center = center; Rectangle = rectangle; NdmMaxSize = ndmMaxSize; NdmMinDivision = ndmMinDivision; } public RectangleTriangulationLogicOptions(INdmPrimitive primitive) { if (! (primitive.Shape is IRectangle)) { throw new StructureHelperException(ErrorStrings.ShapeIsNotCorrect); } Center = primitive.Center; Rectangle = primitive.Shape as IRectangle; NdmMaxSize = primitive.NdmMaxSize; NdmMinDivision = primitive.NdmMinDivision; PrestrainKx = primitive.PrestrainKx; PrestrainKy = primitive.PrestrainKy; PrestrainEpsZ = primitive.PrestrainEpsZ; } } }