diff --git a/vcg/complex/algorithms/parametrization/voronoi_atlas.h b/vcg/complex/algorithms/parametrization/voronoi_atlas.h index eb0fb685..489d1513 100644 --- a/vcg/complex/algorithms/parametrization/voronoi_atlas.h +++ b/vcg/complex/algorithms/parametrization/voronoi_atlas.h @@ -129,12 +129,12 @@ public: bool overlap; Stat vas; int maxIterNum; + CallBackPos *cb=vcg::CErrCallBackPos; }; // Main parametrization function: // it takes a startMesh, copy it and - static void Build( MeshType &startMesh, MeshType ¶Mesh, VoronoiAtlasParam &pp) { pp.vas.clear(); @@ -159,7 +159,7 @@ public: tri::PoissonSampling(m,PoissonSamples,pp.sampleNum,diskRadius); int st1=clock(); pp.vas.samplingTime+= st1-st0; -// qDebug("Sampling created a new mesh of %lu points\n",PoissonSamples.size()); + pp.cb(50,StrFormat("Sampling created a new mesh of %lu points\n",PoissonSamples.size())); EuclideanDistance edFunc; std::vector seedVec; tri::VoronoiProcessing::SeedToVertexConversion(m,PoissonSamples,seedVec); @@ -174,7 +174,7 @@ public: { VoroMesh *rm = new VoroMesh(); int selCnt = tri::VoronoiProcessing::FaceSelectAssociateRegion(m,seedVec[i]); - //qDebug("Region %i of %i faces",i,selCnt); + pp.cb(50,StrFormat("Region %i of %i faces",i,selCnt)); if(selCnt==0) continue; assert(selCnt>0); if(pp.overlap){ @@ -184,6 +184,7 @@ public: tri::Append::Mesh(*rm, m, true); int tp0=clock(); tri::PoissonSolver PS(*rm); + tri::UpdateBounding::Box(*rm); if(PS.IsFeasible()) { PS.Init();