RobotNet/RobotNet.RobotShares/Dtos/RobotInfomationDto.cs
2025-10-15 15:15:53 +07:00

44 lines
1.4 KiB
C#

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<NavigationPathNode> 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; }
}