using RobotNet.MapShares.Dtos; using RobotNet.MapShares.Enums; namespace RobotNet.WebApp.Robots.Components.Monitoring.Element; public class EdgeModel(EdgeDto data, NodeModel startNode, NodeModel endNode) : IDisposable { public Guid Id => Data.Id; public Guid MapId => Data.MapId; public double X1 => StartNode.X; public double Y1 => StartNode.Y; public double X2 => EndNode.X; public double Y2 => EndNode.Y; public DirectionAllowed DirectionAllowed => Data.DirectionAllowed; public TrajectoryDegree TrajectoryDegree => Data.TrajectoryDegree; public double ControlPoint1X => Data.ControlPoint1X; public double ControlPoint1Y => Data.ControlPoint1Y; public double ControlPoint2X => Data.ControlPoint2X; public double ControlPoint2Y => Data.ControlPoint2Y; public double MaxSpeed => Data.MaxSpeed; public double MaxHeight => Data.MaxHeight; public double MinHeight => Data.MinHeight; public bool RotationAllowed => Data.RotationAllowed; public double MaxRotationSpeed => Data.MaxRotationSpeed; public string Actions => Data.Actions; public double AllowedDeviationXy => Data.AllowedDeviationXy; public double AllowedDeviationTheta => Data.AllowedDeviationTheta; public NodeModel StartNode { get; private set; } = startNode; public NodeModel EndNode { get; private set; } = endNode; private readonly EdgeDto Data = data; public void Dispose() { GC.SuppressFinalize(this); } }