public List<IPrimitiveConditionData> GenerateRules(List<TouchPoint2> points)
        {
            List<IPrimitiveConditionData> returnList = new List<IPrimitiveConditionData>();

            // Do all the possible combinations
            for (int j = 0; j < points.Count - 1; j++)
            {
                for (int i = j + 1; i < points.Count; i++)
                {

                    TouchPoint2 point1 = points[j];
                    TouchPoint2 point2 = points[i];

                    TouchRelativePosition result = new TouchRelativePosition();
                    result.Gesture1 = (j + 1) + "";
                    result.Gesture2 = (i + 1) + "";
                    double difference = point1.Position.X - point2.Position.X;

                    if (Math.Abs(difference) <= 250)
                        continue;

                    else if (point1.Position.X < point2.Position.X)
                    {
                        result.Position = TouchRelativePosition.LEFT;
                    }

                    else
                    {
                        result.Position = TouchRelativePosition.RIGHT;
                    }

                    returnList.Add(result);
                }

            }

            return returnList;
        }
 public void Init(IPrimitiveConditionData ruleData)
 {
     _data = ruleData as TouchRelativePosition;
 }