RobotNet/RobotNet.MapShares/Dtos/MapDto.cs
2025-10-15 15:15:53 +07:00

97 lines
2.8 KiB
C#

using RobotNet.MapShares.Enums;
using System.ComponentModel.DataAnnotations;
namespace RobotNet.MapShares.Dtos;
#nullable disable
public class MapInfoDto
{
public Guid Id { get; set; }
public Guid VersionId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public double OriginX { get; set; }
public double OriginY { get; set; }
public double Resolution { get; set; }
public double ViewX { get; set; }
public double ViewY { get; set; }
public double ViewWidth { get; set; }
public double ViewHeight { get; set; }
public double Width { get; set; }
public double Height { get; set; }
public bool Active { get; set; }
public string VDA5050 { get; set; }
}
public class MapCreateModel
{
public string Name { get; set; }
[Required]
public double OriginX { get; set; }
[Required]
public double OriginY { get; set; }
[Required]
public double Resolution { get; set; }
}
public class MapUpdateModel
{
public Guid Id { get; set; }
public string Name { get; set; }
public double OriginX { get; set; }
public double OriginY { get; set; }
public double Resolution { get; set; }
}
public class MapActiveModel
{
public Guid Id { get; set; }
public bool Active { get; set; }
}
public class MapDataDto
{
public Guid Id { get; set; }
public string Name { get; set; }
public double OriginX { get; set; }
public double OriginY { get; set; }
public double Resolution { get; set; }
public double ImageWidth { get; set; }
public double ImageHeight { get; set; }
public bool Active { get; set; }
public NodeDto[] Nodes { get; set; } = [];
public EdgeDto[] Edges { get; set; } = [];
public ZoneDto[] Zones { get; set; } = [];
public ActionDto[] Actions { get; set; } = [];
public ElementDto[] Elements { get; set; } = [];
}
public class MapSettingDefaultDto
{
public Guid Id { get; set; }
public string Name { get; set; }
public string Description { get; set; } = "";
public bool Active { get; set; }
public bool NodeNameAutoGenerate { get; set; }
public string NodeNameTemplate { get; set; }
public double NodeAllowedDeviationXy { get; set; }
public double NodeAllowedDeviationTheta { get; set; }
public double EdgeMinLength { get; set; }
public double EdgeStraightMaxSpeed { get; set; }
public double EdgeCurveMaxSpeed { get; set; }
public double EdgeMaxHeight { get; set; }
public double EdgeMinHeight { get; set; }
public double EdgeMaxRotationSpeed { get; set; }
public DirectionAllowed EdgeDirectionAllowed { get; set; }
public bool EdgeRotationAllowed { get; set; }
public double EdgeAllowedDeviationXy { get; set; }
public double EdgeAllowedDeviationTheta { get; set; }
public double ZoneMinSquare { get; set; }
}