Initial commit

This commit is contained in:
2026-07-03 16:31:37 +07:00
commit 899c7c637d
1939 changed files with 641750 additions and 0 deletions

View File

@@ -0,0 +1,93 @@
using System.Text.Json.Serialization;
using RobotNet.VDA5050.Type;
namespace RobotNet10.MapEditor.Shared.DTOs.Edge;
/// <summary>
/// Edge vehicle property data transfer object
/// </summary>
public class EdgeVehiclePropertyDto
{
public Guid Id { get; set; }
public Guid EdgeId { get; set; }
public Guid VehicleTypeId { get; set; }
/// <summary>
/// Vehicle type identifier (for reference)
/// </summary>
public string? VehicleTypeIdString { get; set; }
public double? VehicleOrientation { get; set; }
[JsonConverter(typeof(JsonStringEnumConverter))]
public OrientationType? OrientationType { get; set; }
public bool? RotationAllowed { get; set; }
[JsonConverter(typeof(JsonStringEnumConverter))]
public RotationDirection? RotationAtStartNodeAllowed { get; set; }
[JsonConverter(typeof(JsonStringEnumConverter))]
public RotationDirection? RotationAtEndNodeAllowed { get; set; }
public double? MaxSpeed { get; set; }
public double? MaxRotationSpeed { get; set; }
public double? MinHeight { get; set; }
public double? MaxHeight { get; set; }
/// <summary>
/// Load restriction for this edge (VDMA LIF: loadRestriction)
/// </summary>
public LoadRestrictionDto? LoadRestriction { get; set; }
/// <summary>
/// Trajectory degree (NURBS curve degree) - Optional
/// Values: 1 (linear), 2 (quadratic), 3 (cubic)
/// </summary>
public int? TrajectoryDegree { get; set; }
/// <summary>
/// Trajectory control point 1 X coordinate (meters) - Optional
/// Used for degree 2 and 3 curves
/// </summary>
public double? TrajectoryControlPoint1X { get; set; }
/// <summary>
/// Trajectory control point 1 Y coordinate (meters) - Optional
/// Used for degree 2 and 3 curves
/// </summary>
public double? TrajectoryControlPoint1Y { get; set; }
/// <summary>
/// Trajectory control point 2 X coordinate (meters) - Optional
/// Used for degree 3 curves only
/// </summary>
public double? TrajectoryControlPoint2X { get; set; }
/// <summary>
/// Trajectory control point 2 Y coordinate (meters) - Optional
/// Used for degree 3 curves only
/// </summary>
public double? TrajectoryControlPoint2Y { get; set; }
/// <summary>
/// Actions as JSON array (VDMA LIF format)
/// </summary>
public string? Actions { get; set; }
/// <summary>
/// Corridor left width (meters) - Optional
/// Defines the width of the corridor to the left related to the trajectory
/// </summary>
public double? CorridorLeftWidth { get; set; }
/// <summary>
/// Corridor right width (meters) - Optional
/// Defines the width of the corridor to the right related to the trajectory
/// </summary>
public double? CorridorRightWidth { get; set; }
/// <summary>
/// Corridor reference point (VDA5050: corridorRefPoint) - Optional
/// Defines whether the boundaries are valid for the kinematic center or the contour of the vehicle
/// Values: KINEMATICCENTER, CONTOUR
/// </summary>
[JsonConverter(typeof(JsonStringEnumConverter))]
public CorridorRefPoint? CorridorRefPoint { get; set; }
}