using RobotNet.VDA5050.Type; using System.ComponentModel.DataAnnotations; using System.Text.Json.Serialization; namespace RobotNet.VDA5050.Factsheet; public class WheelDefinitionsPosition { [Required] [JsonPropertyName("x")] public double X { get; set; } [JsonPropertyName("y")] [Required] public double Y { get; set; } [JsonPropertyName("theta")] public double Theta { get; set; } } public class WheelDefinition { [Required] [JsonPropertyName("type")] [JsonConverter(typeof(JsonStringEnumConverter))] public WheelDefinitionsType Type { get; set; } [Required] [JsonPropertyName("isActiveDriven")] public bool IsActiveDriven { get; set; } [Required] [JsonPropertyName("isActiveSteered")] public bool IsActiveSteered { get; set; } [Required] [JsonPropertyName("position")] public WheelDefinitionsPosition Position { get; set; } = new(); [Required] [JsonPropertyName("diameter")] public double Diameter { get; set; } [Required] [JsonPropertyName("width")] public double Width { get; set; } [JsonPropertyName("centerDisplacement")] public double CenterDisplacement { get; set; } [JsonPropertyName("constraints")] public string Constraints { get; set; } = string.Empty; }