78 lines
2.3 KiB
C#
78 lines
2.3 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
using RobotNet.MapShares.Enums;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
namespace RobotNet.MapManager.Data;
|
|
|
|
#nullable disable
|
|
|
|
[Table("Edges")]
|
|
[Index(nameof(MapId), Name = "IX_Edge_MapId")]
|
|
public class Edge
|
|
{
|
|
[Column("Id", TypeName = "uniqueidentifier")]
|
|
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
|
[Key]
|
|
[Required]
|
|
public Guid Id { get; set; }
|
|
|
|
[Column("MapId", TypeName = "uniqueidentifier")]
|
|
[Required]
|
|
public Guid MapId { get; set; }
|
|
|
|
[Column("StartNodeId", TypeName = "uniqueidentifier")]
|
|
[Required]
|
|
public Guid StartNodeId { get; set; }
|
|
|
|
[Column("EndNodeId", TypeName = "uniqueidentifier")]
|
|
[Required]
|
|
public Guid EndNodeId { get; set; }
|
|
|
|
[Column("ControlPoint1X", TypeName = "float")]
|
|
public double ControlPoint1X { get; set; }
|
|
|
|
[Column("ControlPoint1Y", TypeName = "float")]
|
|
public double ControlPoint1Y { get; set; }
|
|
|
|
[Column("ControlPoint2X", TypeName = "float")]
|
|
public double ControlPoint2X { get; set; }
|
|
|
|
[Column("ControlPoint2Y", TypeName = "float")]
|
|
public double ControlPoint2Y { get; set; }
|
|
|
|
[Column("TrajectoryDegree", TypeName = "tinyint")]
|
|
public TrajectoryDegree TrajectoryDegree { get; set; }
|
|
|
|
[Column("MaxHeight", TypeName = "float")]
|
|
public double MaxHeight { get; set; }
|
|
|
|
[Column("MinHeight", TypeName = "float")]
|
|
public double MinHeight { get; set; }
|
|
|
|
[Column("DirectionAllowed", TypeName = "tinyint")]
|
|
public DirectionAllowed DirectionAllowed { get; set; }
|
|
|
|
[Column("RotationAllowed", TypeName = "bit")]
|
|
public bool RotationAllowed { get; set; }
|
|
|
|
[Column("MaxRotationSpeed", TypeName = "float")]
|
|
public double MaxRotationSpeed { get; set; }
|
|
|
|
[Column("MaxSpeed", TypeName = "float")]
|
|
public double MaxSpeed { get; set; }
|
|
|
|
[Column("AllowedDeviationXy", TypeName = "float")]
|
|
public double AllowedDeviationXy { get; set; }
|
|
|
|
[Column("AllowedDeviationTheta", TypeName = "float")]
|
|
public double AllowedDeviationTheta { get; set; }
|
|
|
|
[Column("Actions", TypeName = "nvarchar(max)")]
|
|
public string Actions { get; set; }
|
|
|
|
public Map Map { get; set; }
|
|
public virtual Node StartNode { get; set; }
|
|
public virtual Node EndNode { get; set; }
|
|
}
|