59 lines
1.6 KiB
C#
59 lines
1.6 KiB
C#
namespace RobotNet10.NavigationTune.Shared.Models;
|
|
|
|
/// <summary>
|
|
/// Edge in a custom path
|
|
/// Represents a segment of the path with start, end, and optional control points for curves
|
|
/// </summary>
|
|
public class PathEdge
|
|
{
|
|
/// <summary>
|
|
/// Start point X coordinate (meters)
|
|
/// </summary>
|
|
public double StartX { get; set; }
|
|
|
|
/// <summary>
|
|
/// Start point Y coordinate (meters)
|
|
/// </summary>
|
|
public double StartY { get; set; }
|
|
|
|
/// <summary>
|
|
/// End point X coordinate (meters)
|
|
/// </summary>
|
|
public double EndX { get; set; }
|
|
|
|
/// <summary>
|
|
/// End point Y coordinate (meters)
|
|
/// </summary>
|
|
public double EndY { get; set; }
|
|
|
|
/// <summary>
|
|
/// Degree of the curve (1 = linear, 2 = quadratic Bezier, 3 = cubic Bezier)
|
|
/// </summary>
|
|
public int Degree { get; set; } = 1;
|
|
|
|
/// <summary>
|
|
/// First control point X (for Degree 2 and 3)
|
|
/// </summary>
|
|
public double? ControlPoint1X { get; set; }
|
|
|
|
/// <summary>
|
|
/// First control point Y (for Degree 2 and 3)
|
|
/// </summary>
|
|
public double? ControlPoint1Y { get; set; }
|
|
|
|
/// <summary>
|
|
/// Second control point X (for Degree 3 only)
|
|
/// </summary>
|
|
public double? ControlPoint2X { get; set; }
|
|
|
|
/// <summary>
|
|
/// Second control point Y (for Degree 3 only)
|
|
/// </summary>
|
|
public double? ControlPoint2Y { get; set; }
|
|
|
|
/// <summary>
|
|
/// Direction of movement along this edge
|
|
/// </summary>
|
|
public RobotDirection Direction { get; set; } = RobotDirection.FORWARD;
|
|
}
|