void DrawPolyList(const char *filename, list<TPPLPoly> *polys) { Image img(500,500); Image::Pixel white={255,255,255}; img.Clear(white); ImageIO io; list<TPPLPoly>::iterator iter; tppl_float xmin = std::numeric_limits<tppl_float>::max(); tppl_float xmax = std::numeric_limits<tppl_float>::min(); tppl_float ymin = std::numeric_limits<tppl_float>::max(); tppl_float ymax = std::numeric_limits<tppl_float>::min(); for(iter=polys->begin(); iter!=polys->end(); iter++) { for(int i=0;i<iter->GetNumPoints();i++) { if(iter->GetPoint(i).x < xmin) xmin = iter->GetPoint(i).x; if(iter->GetPoint(i).x > xmax) xmax = iter->GetPoint(i).x; if(iter->GetPoint(i).y < ymin) ymin = iter->GetPoint(i).y; if(iter->GetPoint(i).y > ymax) ymax = iter->GetPoint(i).y; } //if(iter->GetOrientation() == TPPL_CCW) printf("CCW\n"); //else if (iter->GetOrientation() == TPPL_CW) printf("CW\n"); //else printf("gfdgdg\n"); } //printf("\n"); for(iter=polys->begin(); iter!=polys->end(); iter++) { DrawPoly(&img, &(*iter), xmin, xmax, ymin, ymax); } io.SaveImage(filename,&img); }
void DrawPoly(const char *filename, TPPLPoly *poly) { Image img(500,500); Image::Pixel white={255,255,255}; img.Clear(white); ImageIO io; tppl_float xmin = std::numeric_limits<tppl_float>::max(); tppl_float xmax = std::numeric_limits<tppl_float>::min(); tppl_float ymin = std::numeric_limits<tppl_float>::max(); tppl_float ymax = std::numeric_limits<tppl_float>::min(); for(int i=0;i<poly->GetNumPoints();i++) { if(poly->GetPoint(i).x < xmin) xmin = poly->GetPoint(i).x; if(poly->GetPoint(i).x > xmax) xmax = poly->GetPoint(i).x; if(poly->GetPoint(i).y < ymin) ymin = poly->GetPoint(i).y; if(poly->GetPoint(i).y > ymax) ymax = poly->GetPoint(i).y; } DrawPoly(&img, poly, xmin, xmax, ymin, ymax); io.SaveImage(filename,&img); }