diff --git a/Mesh/Levy3D.cpp b/Mesh/Levy3D.cpp index 629d3b46a0ef35ea882bab549e2e90aa345a58ad..3d1fc515d5e608aaa2ed4ee371139b75e03763b3 100644 --- a/Mesh/Levy3D.cpp +++ b/Mesh/Levy3D.cpp @@ -1452,8 +1452,6 @@ void LpSmoother::improve_model(){ GModel* model = GModel::current(); GModel::riter it; - Frame_field::init_model(); - for(it=model->firstRegion();it!=model->lastRegion();it++) { gr = *it; @@ -1461,8 +1459,6 @@ void LpSmoother::improve_model(){ improve_region(gr); } } - - Frame_field::clear(); } void LpSmoother::improve_region(GRegion* gr) @@ -1494,6 +1490,7 @@ void LpSmoother::improve_region(GRegion* gr) alglib::real_1d_array x; alglib::real_1d_array alglib_scales; + Frame_field::init_model(); octree = new MElementOctree(gr->model()); for(i=0;i<gr->getNumMeshElements();i++){ @@ -1623,6 +1620,7 @@ void LpSmoother::improve_region(GRegion* gr) delete octree; free(initial_conditions); free(scales); + Frame_field::clear(); #endif } diff --git a/Mesh/periodical.cpp b/Mesh/periodical.cpp index a48996fff72028819586391962f72e80a71936c1..bf91f11e5f8414adc526f9a8fa10b170e598f374 100644 --- a/Mesh/periodical.cpp +++ b/Mesh/periodical.cpp @@ -182,6 +182,7 @@ void voroMetal3D::execute(std::vector<SPoint3>& vertices) std::ofstream file("cells.pos"); file << "View \"test\" {\n"; std::ofstream file2("cells.geo"); + file2 << "Coherence;\n"; file2 << "c = 1.0;\n"; for(i=0;i<pointers.size();i++){ obj = geo_cell(); @@ -363,3 +364,36 @@ void voroMetal3D::print_geo_face_loop(int index,std::vector<int>& indices,std::o file << "};\n"; } + +void voroMetal3D::correspondance(){ + int i; + GFace* gf; + GModel* model = GModel::current(); + GModel::fiter it; + std::vector<GFace*> faces; + std::map<GFace*,bool> markings; + + faces.clear(); + + for(it=model->firstFace();it!=model->lastFace();it++) + { + gf = *it; + if(gf->numRegions()==1){ + faces.push_back(gf); + } + printf("%d ",gf->numRegions()); + } + printf("\n"); + + printf("%zu\n",faces.size()); + + markings.clear(); + + for(i=0;i<faces.size();i++){ + markings.insert(std::pair<GFace*,bool>(faces[i],0)); + } + + std::ofstream file; + file.open("cells.geo",ios::out | ios::app); + //geofile << "test\n"; +} \ No newline at end of file diff --git a/Mesh/periodical.h b/Mesh/periodical.h index 5804394730b56d5a13c3941c51d7daf887723920..066b18904537884d9ebedce1ac210bc3cff7aaa4 100644 --- a/Mesh/periodical.h +++ b/Mesh/periodical.h @@ -28,4 +28,5 @@ class voroMetal3D{ void print_geo_volume(int,int,std::ofstream&); void print_geo_line_loop(int,std::vector<int>&,std::vector<int>&,std::ofstream&); void print_geo_face_loop(int,std::vector<int>&,std::ofstream&); + void correspondance(); };