diff --git a/wrap/qt/Outline2ToQImage.cpp b/wrap/qt/Outline2ToQImage.cpp index c1af6b38..a5262c7a 100644 --- a/wrap/qt/Outline2ToQImage.cpp +++ b/wrap/qt/Outline2ToQImage.cpp @@ -58,15 +58,18 @@ void Outline2Dumper::multiOutline2VecToSingleOutline2Vec(const std::vector< std: } -void Outline2Dumper::dumpOutline2VecSVG(const char * imageName, vector< vector > &polyVec, vector &trVec, Outline2Dumper::Param &pp) +void Outline2Dumper::dumpOutline2VecSVG(const char * imageName, + vector< vector > &outline2Vec, + vector &trVec, + Outline2Dumper::Param &pp) { - vector< vector< vector > > polyVecVec(polyVec.size()); - for(size_t i=0;i > > outline2VecVec(outline2Vec.size()); + for(size_t i=0;i > &polyVec, vector &trVec, Outline2Dumper::Param &pp) @@ -197,7 +200,7 @@ int Outline2Dumper::getMaxMaskRadius(int x,int y,QImage &img) ///this is used to write labels within the polygon, it handle polygons with holes too vcg::Point2f Outline2Dumper::GetIncenter(const vector< vector > &polyVec, const Similarity2f &tra1, - int &radius, + float &radius, int resolution) { ///INITIALIZE THE IMAGE @@ -317,7 +320,7 @@ void Outline2Dumper::dumpOutline2VecPNG(const char * imageName, if(!labelVec.empty()) { ///FIND THE BARYCENTER - int radius; + float radius; Point2f bc=GetIncenter(polyVecVec[i],trVec[i],radius,10); ///DRAW THE TEXT painter.setFont(qf); @@ -335,14 +338,14 @@ void Outline2Dumper::dumpOutline2VecPNG(const char * imageName, ///takes the name of the image in input, the set of polygons, the set of per polygons transformation, ///the label to be written and the global parameter for drawing style void Outline2Dumper::dumpOutline2VecSVG(const char * imageName, - vector< vector< vector > > &polyVecVec, + vector< vector< vector > > &outline2VecVec, vector &trVec, vector< vector< string> > &labelVecVec, - vector > &labelPosVecVec, + vector< vector > &labelTrVecVec, vector >&labelRadVecVec, Outline2Dumper::Param &pp) { - assert(polyVecVec.size() == trVec.size()); + assert(outline2VecVec.size() == trVec.size()); ///SET THE FONT @@ -366,34 +369,35 @@ void Outline2Dumper::dumpOutline2VecSVG(const char * imageName, bb.setStyle(Qt::SolidPattern); QPen qp; - ///SET THE GLOBAL SCALING FACTOR - float Scalesvg=1.f/(float)trVec[0].sca; - qp.setWidthF(Scalesvg); - for(size_t i=0;i ppQ; - for(size_t j=0;j > labelVecVec(labelVec.size()); - vector< vector > labelPosVec; + vector< vector > labelTrVec; vector< vector >labelRadVec; for(size_t i=0;i > &polyVec, - const vcg::Similarity2f &tra1,int &radius,int resolution=100); -public: + const vcg::Similarity2f &tra1, float &radius, int resolution=100); static void rectSetToOutline2Vec(std::vector< vcg::Box2f > &rectVec, std::vector< std::vector > &polyVec); static void multiRectSetToSingleOutline2Vec(std::vector< vcg::Box2f > &rectVec, std::vector &trVec, std::vector &indVec, @@ -89,8 +105,8 @@ public: ///takes the name of the image in input, the set of polygons, the set of per polygons transformation, ///the label to be written and the global parameter for drawing style static void dumpOutline2VecSVG(const char * imageName, std::vector< std::vector< std::vector > > &polyVecVec, - std::vector &trVec, std::vector< std::vector > &labelVecVec, - std::vector > &labelPosVec, std::vector > &labelRadVec, Param &pp); + std::vector &trVec, std::vector< std::vector > &labelVecVec, + std::vector > &labelTrVecVec, std::vector > &labelRadVec, Param &pp); static void dumpOutline2VecPNG(const char * imageName, std::vector< std::vector< std::vector > > &polyVecVec, std::vector &trVec, std::vector &labelVec, Param &pp); @@ -104,7 +120,7 @@ public: static void dumpOutline2VecPNG(const char * imageName, std::vector< std::vector > &polyVecVec, std::vector &trVec, Param &pp); - static void dumpOutline2VecSVG(const char * imageName, std::vector< std::vector > &polyVecVec, + static void dumpOutline2VecSVG(const char * imageName, std::vector< std::vector > &outline2Vec, std::vector &trVec, Param &pp); }; #endif // POLYTOQIMAGE_H diff --git a/wrap/qt/outline2_rasterizer.cpp b/wrap/qt/outline2_rasterizer.cpp index 0f0bd7a9..1cac3aec 100644 --- a/wrap/qt/outline2_rasterizer.cpp +++ b/wrap/qt/outline2_rasterizer.cpp @@ -64,7 +64,7 @@ void QtOutline2Rasterizer::rasterize(RasterizedOutline2 &poly, //create the polygon to print it QVector points; vector newpoints = poly.getPoints(); - for (int i = 0; i < newpoints.size(); i++) { + for (size_t i = 0; i < newpoints.size(); i++) { points.push_back(QPointF(newpoints[i].X(), newpoints[i].Y())); } painter.drawPolygon(QPolygonF(points)); @@ -112,7 +112,7 @@ void QtOutline2Rasterizer::rasterize(RasterizedOutline2 &poly, //create the polygon to print it QVector points2; vector newpoints2 = poly.getPoints(); - for (int i = 0; i < newpoints2.size(); i++) { + for (size_t i = 0; i < newpoints2.size(); i++) { points2.push_back(QPointF(newpoints2[i].X(), newpoints2[i].Y())); } painter.drawPolygon(QPolygonF(points2)); @@ -164,9 +164,9 @@ void QtOutline2Rasterizer::rasterize(RasterizedOutline2 &poly, // used to lower the cost of rasterization. vector > QtOutline2Rasterizer::rotateGridCWise(vector< vector >& inGrid) { vector > outGrid(inGrid[0].size()); - for (int i = 0; i < inGrid[0].size(); i++) { + for (size_t i = 0; i < inGrid[0].size(); i++) { outGrid[i].reserve(inGrid.size()); - for (int j = 0; j < inGrid.size(); j++) { + for (size_t j = 0; j < inGrid.size(); j++) { outGrid[i].push_back(inGrid[inGrid.size() - j - 1][i]); } }