using System.ComponentModel.DataAnnotations;

namespace RobotNet.RobotShares.VDA5050.Order;

#nullable disable

public class Edge
{
    [Required]
    public string EdgeId { get; set; } = "";
    [Required]
    public int SequenceId { get; set; }
    public string EdgeDescription { get; set; } = "";
    [Required]
    public bool Released { get; set; }
    [Required]
    public string StartNodeId { get; set; } = "";
    [Required]
    public string EndNodeId { get; set; } = "";
    public double MaxSpeed { get; set; }
    public double MaxHeight { get; set; }
    public double MinHeight { get; set; }
    public double Orientation { get; set; }
    public string OrientationType { get; set; } = "";
    public string Direction { get; set; } = "";
    public bool RotationAllowed { get; set; }
    public double MaxRotationSpeed { get; set; }
    public double Length { get; set; }
    public Trajectory Trajectory { get; set; }
    public Corridor Corridor { get; set; } = new();
    [Required]
    public InstantAction.Action[] Actions { get; set; } = [];
}
