Files
StructureHelper/DataAccess/DTOs/DTOEntities/NdmCrossSections/EllipseNdmPrimitiveDTO.cs
2025-10-19 17:37:17 +05:00

69 lines
2.1 KiB
C#

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<INdm> GetNdms(ITriangulationOptions triangulationOptions)
{
throw new NotImplementedException();
}
public List<INamedAreaPoint> GetValuePoints()
{
throw new NotImplementedException();
}
public bool IsPointInside(IPoint2D point)
{
throw new NotImplementedException();
}
}
}