private Future <FeatureStrokePair> createFeatureStrokePair(StrokePair strokePair) { return(new Future <FeatureStrokePair>(delegate() { FeatureStrokePair pair = new FeatureStrokePair(strokePair, m_FeaturesToUse); return pair; })); }
/// <summary> /// Returns the minumum distance between the given stroke and a stroke from the same class /// </summary> /// <param name="stroke"></param> /// <returns></returns> public double MinDistanceFromStrokeSameClass(Substroke stroke) { double min = double.PositiveInfinity; if (m_Stroke2Pairs.ContainsKey(stroke)) { List <Future <FeatureStrokePair> > pairs = m_Stroke2Pairs[stroke]; foreach (Future <FeatureStrokePair> futurePair in pairs) { FeatureStrokePair pair = futurePair.Value; if (pair.Item1.Classification == pair.Item2.Classification) { min = Math.Min(min, pair.SubstrokeDistance.Min); } } } return(min); }