RobotNet/RobotNet.RobotManager/Services/Planner/ForkliftV2/SSEAStarNode.cs
2025-10-15 15:15:53 +07:00

32 lines
858 B
C#

using RobotNet.RobotShares.Enums;
namespace RobotNet.RobotManager.Services.Planner.ForkliftV2;
#nullable disable
public class SSEAStarNode
{
public Guid Id { get; set; }
public double X { get; set; }
public double Y { get; set; }
public RobotDirection Direction { get; set; }
public double Cost { get; set; }
public double Heuristic { get; set; }
public double TotalCost => Cost + Heuristic;
public string Name { get; set; }
public SSEAStarNode Parent { get; set; }
public List<SSEAStarNode> NegativeNodes { get; set; } = [];
public override bool Equals(object obj)
{
if (obj is SSEAStarNode other)
return Id == other.Id && Direction == other.Direction;
return false;
}
public override int GetHashCode()
{
return HashCode.Combine(Id, Direction);
}
}