Skip to Content.
Sympa Menu

cgal-discuss - [cgal-discuss] 3D Meshing polyhedrons with sharp features

Subject: CGAL users discussion list

List archive

[cgal-discuss] 3D Meshing polyhedrons with sharp features


Chronological Thread 
  • 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.

Top of Page