32 lines
858 B
C#
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);
|
|
}
|
|
}
|