public AvidPathInfo(int distance, AvidModelWindow start, AvidModelWindow destination) { PathNodes = new List <LinkedAvidNode>(); Distance = distance; Destination = destination; Start = start; }
public LinkedAvidNode(AvidModelWindow window, LinkedAvidNode previousNode, AvidModelLink linkUsed) { Window = window; PreviousNode = previousNode; LinkUsed = linkUsed; UpdateTransitionsCount(); }
public AvidModelLink(AvidModelWindow endpointA, AvidModelWindow endpointB, int weight, bool isDiagonal, bool isPolarDiagonal) { if (endpointA == null || endpointB == null) { throw new ArgumentNullException(); } if (endpointA.Equals(endpointB)) { throw new ArgumentException("A window can't be connected to itself."); } if (weight < 0) { throw new ArgumentException("Link weight should be non-negative.", "weight"); } EndpointA = endpointA; EndpointB = endpointB; Weight = weight; IsDiagonal = isDiagonal; IsPolarDiagonal = isPolarDiagonal; AddLinkToEndpoints(); }
public AvidModelWindow GetLinkedNode(AvidModelWindow currentNode) { return(EndpointA.Equals(currentNode) ? EndpointB : EndpointA); }