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