コード例 #1
0
 public bool IsDiff(LineAAVertex val)
 {
     int dx = val.x - x;
     int dy = val.y - y;
     if ((dx + dy) == 0)
     {
         return false;
     }
     return (len = AggBasics.uround(Math.Sqrt(dx * dx + dy * dy))) > SIGDIFF;
 }
コード例 #2
0
        public bool IsDiff(LineAAVertex val)
        {
            int dx = val.x - x;
            int dy = val.y - y;

            if ((dx + dy) == 0)
            {
                return(false);
            }
            return((len = AggBasics.uround(Math.Sqrt(dx * dx + dy * dy))) > SIGDIFF);
        }
コード例 #3
0
        public bool IsDiff(LineAAVertex val)
        {
            //*** NEED 64 bits long
            long dx = val.x - x;
            long dy = val.y - y;

            if ((dx + dy) == 0)
            {
                return(false);
            }
            return((len = AggMath.uround(Math.Sqrt(dx * dx + dy * dy))) > SIGDIFF);
        }
コード例 #4
0
 public void AddVertex(LineAAVertex val)
 {
     int count = list.Count;
     if (count > 1)
     {
         var innerArray = list.Array;
         if (!innerArray[count - 2].IsDiff(innerArray[count - 1]))
         {
             list.RemoveLast();
         }
     }
     list.AddVertex(val);
 }
コード例 #5
0
        public void AddVertex(LineAAVertex val)
        {
            int count = list.Count;

            if (count > 1)
            {
                var innerArray = list.Array;
                if (!innerArray[count - 2].IsDiff(innerArray[count - 1]))
                {
                    list.RemoveLast();
                }
            }
            list.AddVertex(val);
        }
コード例 #6
0
        public void Close(bool closed)
        {
            //----------------------
            //iter backward
            int count      = list.Count;
            var innerArray = list.Array;

            while (count > 1)
            {
                if (innerArray[count - 2].IsDiff(innerArray[count - 1]))
                {
                    break;
                }
                else
                {
                    LineAAVertex t = list[count - 1];
                    list.RemoveLast();
                    ModifyLast(t);
                    count--;
                }
            }


            if (closed)
            {
                //if close figure
                count = list.Count;
                var first = innerArray[0];
                while (count > 1)
                {
                    if (innerArray[count - 1].IsDiff(first))
                    {
                        break;
                    }
                    count--;
                    list.RemoveLast();
                }
            }
        }
コード例 #7
0
 public void ModifyLast(LineAAVertex val)
 {
     list.RemoveLast();
     AddVertex(val);
 }
コード例 #8
0
 public void ModifyLast(LineAAVertex val)
 {
     list.RemoveLast();
     AddVertex(val);
 }