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