crossingCount method

int crossingCount(
  1. HashMap<Node, int> northernNodes,
  2. Node? n1,
  3. Node? n2
)

Implementation

int crossingCount(HashMap<Node, int> northernNodes, Node? n1, Node? n2) {
  final indexOf = (Node node) => northernNodes[node]!;
  var crossing = 0;
  final parentNodesN1 = nodeData[n1]!.predecessorNodes;
  final parentNodesN2 = nodeData[n2]!.predecessorNodes;
  parentNodesN2.forEach((pn2) {
    final indexOfPn2 = indexOf(pn2);
    parentNodesN1.where((it) => indexOfPn2 < indexOf(it)).forEach((element) {
      crossing++;
    });
  });

  return crossing;
}