using RobotNet.RobotShares.VDA5050.Order; using RobotNet.RobotShares.VDA5050.State; using RobotNet.RobotShares.VDA5050.Visualization; namespace RobotNet.RobotShares.Dtos; #nullable disable public class RobotInfomationDto { public string RobotId { get; set; } public string Name { get; set; } public Guid MapId { get; set; } public Load[] Loads { get; set; } = []; public BatteryState Battery { get; set; } = new(); public Error[] Errors { get; set; } = []; public Information[] Infomations { get; set; } = []; public AgvPosition AgvPosition { get; set; } = new(); public Velocity AgvVelocity { get; set; } = new(); public Navigation Navigation { get; set; } = new(); } public class Navigation { public string NavigationState { get; set; } = string.Empty; public NavigationPathEdge[] RobotPath { get; set; } = []; public NavigationPathEdge[] RobotBasePath { get; set; } = []; public List LaserScaner { get; set; } = []; } public record NavigationPathNode(double X, double Y); public class NavigationPathEdge() { public double StartX { get; set; } public double StartY { get; set; } public double EndX { get; set; } public double EndY { get; set; } public double ControlPoint1X { get; set; } public double ControlPoint1Y { get; set; } public double ControlPoint2X { get; set; } public double ControlPoint2Y { get; set; } public int Degree { get; set; } }