int main(int argc,char *argv[]) { struct Rplot *rplot=NULL; float wdt=400,hgt=400; unsigned int bgcol=0xffffffff; unsigned int fgcol=0xff000000; int i,j,k; int type; float pnt[2]; float *ptr; poly=PolygonMake(sizeof(float)*2,PolygonXYbbox); PolygonAddPolygon(poly,1); pnt[0]=0.1; pnt[1]=0.1; PolygonAdd(poly,pnt,0); pnt[0]=0.9; pnt[1]=0.1; PolygonAdd(poly,pnt,0); pnt[0]=0.9; pnt[1]=0.9; PolygonAdd(poly,pnt,0); pnt[0]=0.1; pnt[1]=0.9; PolygonAdd(poly,pnt,0); PolygonAddPolygon(poly,2); pnt[0]=0.2; pnt[1]=0.2; PolygonAdd(poly,pnt,0); pnt[0]=0.8; pnt[1]=0.2; PolygonAdd(poly,pnt,0); pnt[0]=0.5; pnt[1]=0.4; PolygonAdd(poly,pnt,0); pnt[0]=0.5; pnt[1]=0.6; PolygonAdd(poly,pnt,1); pnt[0]=0.8; pnt[1]=0.8; PolygonAdd(poly,pnt,0); pnt[0]=0.2; pnt[1]=0.8; PolygonAdd(poly,pnt,0); rplot=RplotMake(); RplotSetText(rplot,stream,stdout); RplotMakePlot(rplot,"MapPlotPolygon",wdt,hgt,24); RplotRectangle(rplot,NULL,0,0,wdt,hgt, 1,bgcol,0x0f,0,NULL); for (i=0;i<poly->polnum;i++) { type=PolygonReadType(poly,i); if (type==1) fgcol=RplotColor(255,0,0,255); if (type==2) fgcol=RplotColor(0,255,0,255); k=0; for (j=0;j<poly->num[i];j++) { if (PolygonReadOp(poly,i,j) !=0) { if (k !=0) RplotPolygon(rplot,NULL,0,0,k,fx,fy,t, 0,fgcol,0x0f,2,NULL); k=0; } ptr=(float *) PolygonRead(poly,i,j); fx[k]=ptr[0]*wdt; fy[k]=ptr[1]*hgt; t[k]=0; k++; } if (k !=0) RplotPolygon(rplot,NULL,0,0,k,fx,fy,t, 0,fgcol,0x0f,2,NULL); } RplotEndPlot(rplot); return 0; }
int main(int argc,char *argv[]) { struct Rplot *rplot=NULL; float wdt=400,hgt=400; unsigned int bgcol=0xffffffff; unsigned int fgcol=0xff000000; int i,j; int type; float pnt[2]; float *ptr; float arg[1]; poly=PolygonMake(sizeof(float)*2,PolygonXYbbox); PolygonAddPolygon(poly,1); pnt[0]=0.1; pnt[1]=0.1; PolygonAdd(poly,pnt,0); pnt[0]=0.9; pnt[1]=0.1; PolygonAdd(poly,pnt,0); pnt[0]=0.9; pnt[1]=0.9; PolygonAdd(poly,pnt,0); pnt[0]=0.1; pnt[1]=0.9; PolygonAdd(poly,pnt,0); PolygonAddPolygon(poly,2); pnt[0]=0.2; pnt[1]=0.5; PolygonAdd(poly,pnt,0); pnt[0]=0.5; pnt[1]=0.2; PolygonAdd(poly,pnt,0); pnt[0]=0.8; pnt[1]=0.5; PolygonAdd(poly,pnt,0); pnt[0]=0.5; pnt[1]=0.8; PolygonAdd(poly,pnt,0); arg[0]=30.0; npoly=PolygonTransform(poly,sizeof(float)*2,PolygonXYbbox,rotate,arg); rplot=RplotMake(); RplotSetText(rplot,stream,stdout); RplotMakeDocument(rplot,"PolygonTransform","1",wdt,hgt,24); RplotMakePlot(rplot,"PolygonTransform",wdt,hgt,24); RplotRectangle(rplot,NULL,0,0,wdt,hgt, 1,bgcol,0x0f,0,NULL); for (i=0;i<npoly->polnum;i++) { type=PolygonReadType(npoly,i); if (type==1) fgcol=RplotColor(255,0,0,255); if (type==2) fgcol=RplotColor(0,255,0,255); for (j=0;j<npoly->num[i];j++) { ptr=(float *) PolygonRead(npoly,i,j); fx[j]=ptr[0]*wdt; fy[j]=ptr[1]*hgt; t[j]=0; } RplotPolygon(rplot,NULL,0,0,npoly->num[i],fx,fy,t, 1,fgcol,0x0f,0,NULL); } RplotEndPlot(rplot); RplotEndDocument(rplot); return 0; }