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