public void Add(EdgePair edge) { CandidateIndex[edge.Neighbor.Candidate] = ProbeIndex[edge.Neighbor.Probe] = PairList[PairCount]; PairList[PairCount].Pair = edge.Neighbor; PairList[PairCount].Reference = edge.Reference; ++PairCount; }
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); } } }
public void Enqueue(EdgePair pair, float distance) { Queue.Enqueue(distance, pair); }