Example #1
0
        public Gesture(List <Point> rawPoints)
        {
            double minX = Double.MaxValue, minY = Double.MaxValue, maxX = Double.MinValue, maxY = Double.MinValue;

            foreach (Point p in rawPoints)
            {
                minX = Math.Min(minX, p.X);
                minY = Math.Min(minY, p.Y);
                maxX = Math.Max(maxX, p.X);
                maxY = Math.Max(maxY, p.Y);
            }

            double sourceDims     = 0;
            double originalDeltaX = maxX - minX;
            double originalDeltaY = maxY - minY;

            if (originalDeltaX >= originalDeltaY)
            {
                sourceDims = originalDeltaX;
                double deltaDiff = originalDeltaX - originalDeltaY;
                minY -= deltaDiff / 2;
                maxY += deltaDiff / 2;
            }
            else
            {
                sourceDims = originalDeltaY;
                double deltaDiff = originalDeltaY - originalDeltaX;
                minX -= deltaDiff / 2;
                maxX += deltaDiff / 2;
            }

            this.Action = new GestureAction();
            Initialize(rawPoints, minX, minY, maxX, maxY);
        }
Example #2
0
 private void Initialize(List <Point> rawPoints, double minX, double minY, double maxX, double maxY)
 {
     this._Description = null;
     this._PointVector = new List <Point>();
     this._Directions  = new List <double>();
     this.scaleAndCenterGesture(rawPoints, minX, minY, maxX, maxY);
     this.Action = new GestureAction();
 }
Example #3
0
        public Gesture(Gesture other)
        {
            this._Description = null;
            this._PointVector = new List <Point>(other.PointVector);
            this._Directions  = new List <double>(other.Directions);
            this.Action       = new GestureAction(other.Action);

            // make a duplicate of file
            this._ImagePath = Guid.NewGuid().ToString() + ".png";
            try
            {
                File.Copy(other.ImagePath, this._ImagePath);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }
 public GestureAction(GestureAction other)
 {
     this.Path      = other.Path;
     this.Arguments = other.Arguments;
     this.StartIn   = other.StartIn;
 }