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

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);
}
}