Subject: CGAL users discussion list
List archive
- From: Marek <>
- To:
- Subject: [cgal-discuss] 3D Meshing polyhedrons with sharp features
- Date: Wed, 8 May 2013 05:11:39 -0700 (PDT)
Hi
I have some problems while meshing 3D sharp polyhedrons like this one:
sharp.off <http://cgal-discuss.949826.n4.nabble.com/file/n4657395/sharp.off>
<http://cgal-discuss.949826.n4.nabble.com/file/n4657395/sharp1.jpg>
I try to detect sharp features but it don't end well.
I try to work on it as on other polyhedrons that I work with which is:
Mesh_domain domain(polyhedron);
domain.detect_features();
Mesh_criteria criteria0(cell_radius_edge_ratio = 3);
c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria0, no_perturb(), no_exude());
for ( Polyhedron::Vertex_iterator v = polyhedron.vertices_begin(); v !=
polyhedron.vertices_end(); ++v)
c3t3.triangulation().insert(v->point());
Mesh_criteria criteria(cell_radius_edge_ratio = 2);
refine_mesh_3(c3t3, domain, criteria, no_perturb(), no_exude());
With this data structures:
// Domain
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Mesh_polyhedron_3<K>::type Polyhedron;
typedef CGAL::Polyhedral_mesh_domain_with_features_3<K> Mesh_domain;
// Triangulation
typedef CGAL::Mesh_triangulation_3<Mesh_domain>::type Tr;
typedef CGAL::Mesh_complex_3_in_triangulation_3
C3t3;
// Criteria
typedef CGAL::Mesh_criteria_3
Mesh_criteria;
Inserting polyhedron verticies works great for many models as it helps
preserve shell mesh and also relieves me from choosing accurate size for
facets ( as I would love to see same facets that I have in polyhedron).
But in this sharp featured example I got this:
<http://cgal-discuss.949826.n4.nabble.com/file/n4657395/sharp2.jpg>
Why are vertices assigned to wrong polyhedron face?
I also tried to set delaunay ball distance:
Mesh_criteria criteria(facet_distance = 0.01, cell_radius_edge_ratio =
2);
but then I get 160k+ tetras:
<http://cgal-discuss.949826.n4.nabble.com/file/n4657395/sharp3.jpg>
and sharp edges are still not well preserved:
<http://cgal-discuss.949826.n4.nabble.com/file/n4657395/sharp4.jpg>
Also it looks like there is no difference when I choose to use
domain.detect_features(); or not, why is that?
I also tried to mesh with complete sets of parameters (aka. 0.1 25 0.2 0.01
2 0.4) but it wasn't any better.
Additionally when trying to mesh with facet_distance condition most of
attempts end with more or less exactly same error (by more or less I mean
that exact values are slightly different, but I guess it always corresponds
to this mesh concentration):
<http://cgal-discuss.949826.n4.nabble.com/file/n4657395/sharp5.jpg>
<http://cgal-discuss.949826.n4.nabble.com/file/n4657395/sharp6.jpg>
Why is this happening? Is something wrong with starting polyhedron? I double
checked and I don't think there is some inconsistency in starting mesh (I
attached it near beggining of message).
And more importantly how can I work with sharp edges like this in general?
Regards
Marek
--
View this message in context:
http://cgal-discuss.949826.n4.nabble.com/3D-Meshing-polyhedrons-with-sharp-features-tp4657395.html
Sent from the cgal-discuss mailing list archive at Nabble.com.
- [cgal-discuss] 3D Meshing polyhedrons with sharp features, Marek, 05/08/2013
Archive powered by MHonArc 2.6.18.