void SkipPaired()
 {
     while (PairQueue.Count > 0 && (PairsByProbe[PairQueue.Peek().Neighbor.Probe] != null ||
                                    PairsByCandidate[PairQueue.Peek().Neighbor.Candidate] != null))
     {
         EdgePair edge = PairQueue.Dequeue();
         if (PairsByProbe[edge.Neighbor.Probe] != null && PairsByProbe[edge.Neighbor.Probe].Pair.Candidate == edge.Neighbor.Candidate)
         {
             ++PairsByProbe[edge.Reference.Probe].SupportingEdges;
             ++PairsByProbe[edge.Neighbor.Probe].SupportingEdges;
         }
     }
 }
Esempio n. 2
0
 public void SkipPaired(MinutiaPairing pairing)
 {
     while (Queue.Count > 0 && (pairing.IsProbePaired(Queue.Peek().Neighbor.Probe) ||
                                pairing.IsCandidatePaired(Queue.Peek().Neighbor.Candidate)))
     {
         EdgePair edge = Queue.Dequeue();
         if (pairing.IsProbePaired(edge.Neighbor.Probe) && pairing.GetByProbe(edge.Neighbor.Probe).Pair.Candidate == edge.Neighbor.Candidate)
         {
             pairing.AddSupportByProbe(edge.Reference.Probe);
             pairing.AddSupportByProbe(edge.Neighbor.Probe);
         }
     }
 }