using LoaderCalculator.Data.Ndms; using Newtonsoft.Json; using StructureHelperCommon.Models.Shapes; using StructureHelperLogics.Models.CrossSections; using StructureHelperLogics.NdmCalculations.Primitives; using StructureHelperLogics.NdmCalculations.Triangulations; namespace DataAccess.DTOs { public class EllipseNdmPrimitiveDTO : IEllipseNdmPrimitive { private IRectangleShape shape = new RectangleShapeDTO(Guid.Empty); public EllipseNdmPrimitiveDTO(Guid id) { Id = id; } [JsonProperty("Id")] public Guid Id { get; set; } [JsonProperty("Name")] public string? Name { get; set; } [JsonProperty("RectangleShape")] public IRectangleShape RectangleShape { get => shape; set => shape = value; } [JsonIgnore] public IShape Shape => shape; [JsonProperty("NdmElement")] public INdmElement NdmElement { get; set; } = new NdmElementDTO(Guid.Empty); [JsonProperty("VisualProperty")] public IVisualProperty VisualProperty { get; set; } = new VisualPropertyDTO(); [JsonProperty("Center")] public IPoint2D Center { get; set; } = new Point2DDTO(); [JsonProperty("DivisionSize")] public IDivisionSize DivisionSize { get; set; } = new DivisionSizeDTO(); [JsonProperty("RotationAngle")] public double RotationAngle { get; set; } [JsonIgnore] public double Width { get; set; } [JsonIgnore] public double Height {get; set; } [JsonIgnore] public ICrossSection? CrossSection { get; set; } public object Clone() { return this; } public IEnumerable GetNdms(ITriangulationOptions triangulationOptions) { throw new NotImplementedException(); } public List GetValuePoints() { throw new NotImplementedException(); } public bool IsPointInside(IPoint2D point) { throw new NotImplementedException(); } } }