Skip to content
Snippets Groups Projects
Commit 69897d88 authored by Francois Henrotte's avatar Francois Henrotte
Browse files

Use option to control cross field smoothing

parent 184eaf8f
Branches
Tags
No related merge requests found
...@@ -420,7 +420,7 @@ void Frame_field::init(GRegion* gr){ ...@@ -420,7 +420,7 @@ void Frame_field::init(GRegion* gr){
//Recombinator crossData; //Recombinator crossData;
crossData.build_vertex_to_vertices(gr); crossData.build_vertex_to_vertices(gr);
std::cout << "Nb Vertices in crossData" << crossData.vertex_to_vertices.size() << std::endl; std::cout << "Vertices in crossData = " << crossData.vertex_to_vertices.size() << std::endl;
for(std::map<MVertex*, std::set<MVertex*> >::const_iterator iter for(std::map<MVertex*, std::set<MVertex*> >::const_iterator iter
= crossData.vertex_to_vertices.begin(); = crossData.vertex_to_vertices.begin();
iter != crossData.vertex_to_vertices.end(); ++iter){ iter != crossData.vertex_to_vertices.end(); ++iter){
......
...@@ -348,14 +348,20 @@ void Filler::treat_region(GRegion* gr){ ...@@ -348,14 +348,20 @@ void Filler::treat_region(GRegion* gr){
Frame_field::init_region(gr); Frame_field::init_region(gr);
int NumSmooth = CTX::instance()->mesh.nbSmoothing;
int NumIter = 0;
double eold;
Frame_field::init(gr); Frame_field::init(gr);
std::cout << "Smoothing: energy = " << Frame_field::smooth(gr) << std::endl; double enew = Frame_field::smooth(gr);
std::cout << "Smoothing: energy = " << Frame_field::smooth(gr) << std::endl; if( NumSmooth >1){
std::cout << "Smoothing: energy = " << Frame_field::smooth(gr) << std::endl; do{
std::cout << "Smoothing: energy = " << Frame_field::smooth(gr) << std::endl; std::cout << "Smoothing: energy(" << NumIter << ") = " << enew << std::endl;
std::cout << "Smoothing: energy = " << Frame_field::smooth(gr) << std::endl; eold = enew;
enew = Frame_field::smooth(gr);
} while((eold > enew) && (NumIter++ < NumSmooth));
Frame_field::save(gr,"smoothed.pos"); Frame_field::save(gr,"smoothed.pos");
Frame_field::fillTreeVolume(gr); Frame_field::fillTreeVolume(gr);
}
Size_field::init_region(gr); Size_field::init_region(gr);
Size_field::solve(gr); Size_field::solve(gr);
...@@ -468,7 +474,7 @@ void Filler::treat_region(GRegion* gr){ ...@@ -468,7 +474,7 @@ void Filler::treat_region(GRegion* gr){
Metric Filler::get_metric(double x,double y,double z){ Metric Filler::get_metric(double x,double y,double z){
Metric m; Metric m;
Matrix m2; Matrix m2;
if(1) if(CTX::instance()->mesh.nbSmoothing <= 1)
m2 = Frame_field::search(x,y,z); m2 = Frame_field::search(x,y,z);
else else
m2 = Frame_field::findNearestCross(x,y,z); m2 = Frame_field::findNearestCross(x,y,z);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment