|
@@ -139,6 +139,9 @@ namespace bbiwarg.Detectors.Fingers
|
|
{
|
|
{
|
|
if (trail.NumSlices >= minNumSlices)
|
|
if (trail.NumSlices >= minNumSlices)
|
|
{
|
|
{
|
|
|
|
+ //reorder finger slice so that it goes tip->hand
|
|
|
|
+ //TODO
|
|
|
|
+
|
|
Finger finger = new Finger(trail);
|
|
Finger finger = new Finger(trail);
|
|
|
|
|
|
//filter double hits (horizontal+vertical finger)
|
|
//filter double hits (horizontal+vertical finger)
|
|
@@ -146,7 +149,10 @@ namespace bbiwarg.Detectors.Fingers
|
|
for (int i = fingers.Count - 1; i >= 0; i--)
|
|
for (int i = fingers.Count - 1; i >= 0; i--)
|
|
{
|
|
{
|
|
Finger f = fingers[i];
|
|
Finger f = fingers[i];
|
|
- if (finger.getSimilarity(f) > 0.8)
|
|
|
|
|
|
+ Line2D lineA = finger.Line;
|
|
|
|
+ Line2D lineB = f.Line;
|
|
|
|
+
|
|
|
|
+ if(lineA.getVerticalDistanceTo(lineB) < 5 && lineA.getParallelDistanceTo(lineB) < 5)
|
|
{
|
|
{
|
|
if (finger.SliceTrail.NumSlices > f.SliceTrail.NumSlices)
|
|
if (finger.SliceTrail.NumSlices > f.SliceTrail.NumSlices)
|
|
fingers.RemoveAt(i);
|
|
fingers.RemoveAt(i);
|