Subject: CGAL users discussion list
List archive
- From: Shang Feifei <>
- To:
- Subject: Re: [cgal-discuss] the strange result of odt-optimization in mesh_3_example
- Date: Tue, 17 Feb 2015 11:19:09 +0800
Hi, Jane
Thank you for reply.
I find Lloyd optimization followed by perturbation is the best choice for me to obtain the best solution.
Shang
On Fri, Feb 13, 2015 at 4:54 PM, Jane Tournois <> wrote:
Hi Shang,
you are right.
Once exudation has been performed, there are weights on inside vertices that cannot be handled by ODT.
ODT should be called before exudation.
You can also use Odt_options as a parameter for make_mesh_3, as listed here
http://doc.cgal.org/latest/Mesh_3/group__PkgMesh__3Functions.html#ga9159a9a2d11e027577fd8212956896f7
Best,
Jane.
Le 24/01/2015 09:05, Shang Feifei a écrit :
Hi, all,
Maybe I find the reason why the surface becomes rough and uneven. The arguments of make_mesh_3(), perturb, exude should be turned off. That is,
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,no_perturb(),no_exude());
Then perform the odt_optimization_mesh_3(). The result is fine.
Shang
On Sat, Jan 24, 2015 at 12:41 AM, Shang Feifei <> wrote:
Hi all,
I use project "mesh_polyhedral_domain_with_features" in mesh_3_example.sln. The inputting file as polyhedral domain is attached. I changed the .cpp file is as follows.
int main(){// Create domainMesh_domain domain("D:/Program Files (x86)/CGAL-3.8/examples/Mesh_3/data/boxsub2cyl.off");// Get sharp featuresdomain.detect_features();
// Mesh criteriaMesh_criteria criteria(edge_size = 2.5,facet_angle = 25, facet_size = 2.5, facet_distance = 0.5,cell_radius_edge_ratio = 3, cell_size = 2.5);// Mesh generationstd::cout<<"Mesh generation ...";C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria);
std::ofstream medit_file("boxsub2cyl_features.mesh");c3t3.output_to_medit(medit_file);medit_file.close();
//ODT optimizationCGAL::odt_optimize_mesh_3(c3t3, domain, time_limit=30);
std::ofstream medit_file_odt("boxsub2cyl_features_odt.mesh");c3t3.output_to_medit(medit_file_odt);medit_file_odt.close();
//Exudestd::cout<<"Exude optimization ...";CGAL::exude_mesh_3(c3t3, sliver_bound=10, time_limit=10);std::cout<<" done"<<std::endl;std::ofstream medit_file_exu("boxsub2cyl_features_exu.mesh");c3t3.output_to_medit(medit_file_exu);medit_file_exu.close();}
It runs successfully. Then I transform the result files into .vtk file to view results. The result after make_mesh_3() is fine. But boxsub2cyl_features_odt is strange. It misses some tets and becomes rough and uneven in surface. It seems that the surface doesn't respect the domain. The domain odt_optimization_mesh_3() used is also features-caught. It should keep the features like make_mesh_3(). It is confusing.
Any reply is appreciated.
Shang Fei-Fei
-- Jane Tournois, PhD R&D Engineer at GeometryFactory http://www.geometryfactory.com/
- Re: [cgal-discuss] the strange result of odt-optimization in mesh_3_example, Jane Tournois, 02/13/2015
- Re: [cgal-discuss] the strange result of odt-optimization in mesh_3_example, Shang Feifei, 02/17/2015
Archive powered by MHonArc 2.6.18.