diff --git a/Geo/discreteDiskFace.cpp b/Geo/discreteDiskFace.cpp index da0623e3f5914c39123db84ea8620e78d269b635..0d5512e30c511096a2b93409c9b5a1eab2932351 100644 --- a/Geo/discreteDiskFace.cpp +++ b/Geo/discreteDiskFace.cpp @@ -1164,6 +1164,7 @@ double triangulation::geodesicDistance () { if (Fixed.size() == v2t.size())break; } + /* char name[256]; sprintf(name,"geodesicDistance%d.pos",idNum); FILE *f = fopen(name,"w"); @@ -1180,7 +1181,7 @@ double triangulation::geodesicDistance () { } fprintf(f,"};\n"); fclose(f); - + */ return CLOSEST; diff --git a/Geo/discreteFace.cpp b/Geo/discreteFace.cpp index f0c689d23f39bbfceca29444e0ca5b93ae3615b0..7861d680954d727667d9049dd07d518bf581fa3b 100644 --- a/Geo/discreteFace.cpp +++ b/Geo/discreteFace.cpp @@ -154,7 +154,11 @@ void discreteFace::createGeometry() toParam.push_back(toSplit.top()); toSplit.top()->idNum=id++; } + clock_t t1 = clock(); + printf("split done\n"); updateTopology(toParam); + clock_t t2 = clock(); + printf("topology done in %8.3f sec\n",(double)(t2-t1)/CLOCKS_PER_SEC); for(unsigned int i=0; i<toParam.size(); i++){ printf("MAP(%d) : aspect ratio = %12.5E\n",toParam[i]->idNum,toParam[i]->aspectRatio()); @@ -572,12 +576,12 @@ void discreteFace::updateTopology(std::vector<triangulation*>&partition) std::set<GEdge*> gGEdges(l_edges.begin(),l_edges.end());// initial GEdges of the GFace (to be updated) for(int i=0; i<nPartitions; i++){// each part is going ot be compared with the other ones - std::set<MEdge,Less_Edge> bordi = partition[i]->borderEdg;// edges defining the border(s) of the i-th new triangulation + const std::set<MEdge,Less_Edge> &bordi = partition[i]->borderEdg;// edges defining the border(s) of the i-th new triangulation for(int ii=i+1; ii<nPartitions; ii++){// compare to the ii-th partitions, with ii > i since ii < i have already been compared std::map<MVertex*,MLine*> v02edg;//first vertex of the MLine std::set<MVertex*> first, last; + const std::set<MEdge,Less_Edge> &bii = partition[ii]->borderEdg;// edges defining the border(s) of the ii-th new triangulation for(std::set<MEdge,Less_Edge>::iterator ie = bordi.begin(); ie != bordi.end(); ++ie){// MEdge by MEdge of the i-th triangulation border(s) - std::set<MEdge,Less_Edge> bii = partition[ii]->borderEdg;// edges defining the border(s) of the ii-th new triangulation if(bii.find(*ie)!=bii.end()){// if the border edge is common to both triangulations, then it is a future GEdge - composed of MLine's v02edg[ie->getVertex(0)] = new MLine(ie->getVertex(0),ie->getVertex(1));// a new MLine is created @@ -638,6 +642,7 @@ void discreteFace::updateTopology(std::vector<triangulation*>&partition) }// end imvt // the new GEdge can be created with its GVertex discreteEdge* internalE = new discreteEdge (this->model(),NEWLINE(),v[0],v[1]); + // printf("creating new discrete edge %d with %d lines (%p %p)\n", internalE->tag(), myLines.size(),v[0],v[1]); setupDiscreteEdge(internalE,myLines,&todelete); partition[i]->my_GEdges.push_back(internalE); partition[ii]->my_GEdges.push_back(internalE);