29 lines
713 B
C#
29 lines
713 B
C#
namespace RobotNet.RobotManager.Services.Planner.AStar;
|
|
|
|
#nullable disable
|
|
|
|
public class AStarNode
|
|
{
|
|
public Guid Id { get; set; }
|
|
public double X { get; set; }
|
|
public double Y { get; set; }
|
|
public double Cost { get; set; }
|
|
public double Heuristic { get; set; }
|
|
public double TotalCost => Cost + Heuristic;
|
|
public string Name { get; set; }
|
|
public AStarNode Parent { get; set; }
|
|
public List<AStarNode> NegativeNodes { get; set; } = [];
|
|
|
|
public override bool Equals(object obj)
|
|
{
|
|
if (obj is AStarNode other)
|
|
return Id == other.Id;
|
|
return false;
|
|
}
|
|
|
|
public override int GetHashCode()
|
|
{
|
|
return HashCode.Combine(Id);
|
|
}
|
|
}
|