- miny = 10000;\r
- maxy = -10000;\r
- //detect max/min y-point\r
- for(i = 0; i < number; i++){\r
- if(p[i].Y < miny) miny = p[i].Y;\r
- if(p[i].Y > maxy) maxy = p[i].Y;\r
- //fprintf(stderr,"%.1f:%.1f\n",p[i].X,p[i].Y);\r
+ //copy to temp buffer and detect max/min y-point\r
+ tnum = 0;\r
+ tpoly[tnum].X = p[0].X;\r
+ tpoly[tnum].Y = p[0].Y;\r
+ miny = maxy = tpoly[tnum].Y;\r
+ tnum++;\r
+ for(i = 1; i < number; i++){\r
+ if(p[i].X != tpoly[tnum - 1].X || p[i].Y != tpoly[tnum - 1].Y){\r
+ tpoly[tnum].X = p[i].X;\r
+ tpoly[tnum].Y = p[i].Y;\r
+ if(tpoly[tnum].Y < miny) miny = tpoly[tnum].Y;\r
+ if(tpoly[tnum].Y > maxy) maxy = tpoly[tnum].Y;\r
+ tnum++;\r
+ }\r