Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Create a 3D Triangulation out of a Surface mesh

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Create a 3D Triangulation out of a Surface mesh


Chronological Thread 
  • From: Sebastien Loriot <>
  • To:
  • Subject: Re: [cgal-discuss] Create a 3D Triangulation out of a Surface mesh
  • Date: Tue, 10 May 2022 09:26:18 +0200
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-data: A9a23:+UpNC6Po7hPLrRzvrR2WkcFynXyQoLVcMsEvi/4bfWQNrUoh3mYBx 2tKWm6DPv6CamL2f4ojOdu09RwH6JaHmNFgQHM5pCpnJ55ogZqcVI7Bdi8cHAvLc5adFBo/h yk6QoOdRCzhZiaE/n9BCpC48T8kk/vgqoPUUIYoAAgoLeNfYHpn2EsLd9IR2NYy24DkWlvV4 LsenuWGULOb824sWo4rw/nbwP9flKyaVOQw4zTSzdgS1LPvvyF94KA3fcldHFOkKmVgJdNWc s6YpF2PEsw1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXe345jXMfwZ3u7hB2J3OB61 Oljj6aQagcYDrLAg+cnbiBxRnQW0a1uoNcrIFC6uM2XilLDKj7in6soA0YxMokVvO1wBAmi9 9RCcGFLPk3F3rjmhu7lIgVvrpxLwM3DJ4cYoHBn0XfcCd4pRJnCR+PB4towMDIY35sQQa+AO JpxhTxHUgjJQTdpH3srDtEvmM2BpVfzLC8FpwfAzUYwyzGLkFYZPKLWGNHac9jPScROlVuDv Urd7mHhC1cbMsaewHyL6BqRavTnmCr6XMcNEeT9+KI0xlKUwWMXBVsdUl7TTeSFZlCWW5FvI FAo1BAUjYsyxXy0QsL+ZSCBiSvR1vIDYOZ4H+o/4QCL76Pb5QeFG2QJJgKtjvR25KfaohR6h je0c8PV6S9H6+LKFCrMnluAhXbjZnhPdD5qiTosFFNdu7HeTJcPYgUjp+uP/Yawh9zxXC71m nWE8HZ4iLIUgsoGka68+DgrYg5ARLCZEGbZBS2NBgpJCz+Vgqb7PuREDnCFt559wH6xFAXpg ZT9s5H2ABoyJZ+MjjeRZ+4GAauk4f2IWBWF3wM1RsN4qmTwoCL9FWy13N2YDBc5WirjUW+5C HI/RSsMjHOuFCD3MvcoO9zZ5zoClPK+To6Nug/ogipmO8AtLmdrDQlhYkmf222FraTfufBXB HtvSu71VSxyIf0/klKeHr5BuZd2mH1W7T6MHfjTkkX/uZLDNSX9YepUYDOmMLplhIva+1692 4gEZ6O3J+B3CrKWjt//qt5Nczjn7BETWfjLliCgXrTdfVA6SDpxW5c8A9oJIuRYokicrc+Ql lnVZ6OS4AOXaaTvJVrYZ3Z9RqnoWJoj/3s3MTZ9b1mt0nknJ42o6f5HJZcweLAm8s1lzOJ1H 6FVIZXeXqwXR2SV4SkZYLn8sJdmK0amiAeICCyvP2oycptmcArW94K2ZQDo7iQPUnG6uJJm8 b2t3w/WW7QZQAFmAJqEYf6j1QLjsn0UmeY0VEzNe4EBdELp+YlsCirwkv5ne5FWeUufnmOXj l/EDw0ZqO/Bp54O3OPI3a3U/Z20F+ZeH1ZBGzaJ4LuzMx7c9DXxzIJFVtGOYmmBBm75/aOVZ dJVwev5B/sJkQsYqIF7Cbtqkfsz6taz9b9XygNoQCfCY1ixUOgyJ3CH2YxQs/QIyOMH/wSxX U2L959RPrDQYJHpF1sYJQwEaOWf1KFLxmODs6xteEiqtjVq+LenUFlJO0XegiJqKrYoYpgux v0suZJL5gHj2AAmNM2K0nJd+2iWdCdSVqwmstQFBdauhFZ1jF5FZpPYB2n955TWM4dANUwjI zm1gqvehuQDmhCTLSJrTXWdj/BAgZkuuQxRyANQLVq+nNeY1OQ82wdc8GhqQwlYpvmdPzmf5 oS224xJyaSyE/NAgcFCWyWzHlgECkHHvEP2zFQNmSvSSEzAuqkh6oEiEb7lwazb2zs0kvtnE HWwx2PsUDKsd8b0tsf3cVAwsOTtFLSd6SWb8P1K3K25810Sbj/sg6vobm0Nw/ci7QXdm2Wfz dRXEC1MhWEX+MLeT2DXy2VX6FjIdC25GQ==
  • Ironport-hdrordr: A9a23:H0yHB62a/v5gqGYLs+GuNgqjBJEkLtp133Aq2lEZdPUnSL3/qy nIpoVm6faUskdtZJhEo7q90ca7MBHhHPJOkPIs1PKZLXPbUQiTXeRfBOnZsl7d8kTFn4Y3tZ uIMZIOcOEYZWIasS+Q2njeLz9P+qj/zEnlv5a7856vd21XgmNbgjuRxjz1LqS+fmd7OaY=
  • Ironport-phdr: A9a23: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 xA6cjjDQL1Vgv1rcmU50Gfh
  • Ironport-sdr: jimYU95xGxLFN1Ycy25Hrjl+jwfm/DAdtEkABx9F9XFVLBATbNxPQTkUglFEGGQhKjbUcNdJpA d2X3wNrwWbx3Ci+8p4kik7tkIub+sHuHtoKNLkbvkr4NoUH2/A4U6CWCukAGNOXcmPsXRNuztI gq2PkHrGDo2+WzcLOO6wl4MEClix3AZuTPojp2XaOyMbzsKVr4HJfhPeSUYaLJW2TtKFrjiv/w ulNTQXUY+ivWkPXbM6UK0E3GG9WkCKwIhTZR0Afy4YOY8zhJ3za+riGZ2P94h9WPKRO0jJBNby ckJ9vKAzq2Tkwo1SHHFBMyHh

What is the diff between what doesn't work and what does?

Sebastien.

On 5/7/22 00:05, Bob Bill ( via cgal-discuss Mailing List) wrote:
Sebastien,

I did just these two small changes to the file linked in GitHub and it worked as expected:

// Domain
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Surface_mesh<K::Point_3> Mesh;

// Triangulation
typedef CGAL::Polyhedral_mesh_domain_3<Mesh,K> Mesh_domain;
typedef CGAL::Mesh_triangulation_3<Mesh_domain,CGAL::Default,Concurrency_tag>::type Tr;
typedef CGAL::Mesh_complex_3_in_triangulation_3< Tr> C3t3;

In the main.cc I just wrote:

Mesh_domain domain(my_surface_mesh);
Mesh_criteria criteria(facet_angle=25, facet_size=0.15, facet_distance=0.008,
cell_radius_edge_ratio=3);

// Mesh generation
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, no_perturb(), no_exude());


and the result is correct. I don't see why it works now, honestly.

Best

Il venerdì 6 maggio 2022, 20:36:31 CEST, Bob Bill" ( via cgal-discuss Mailing List) <> ha scritto:


Sebastien,
I executed your example from GitHub with several .off files and visualized the result using `output_to_medit` , but the interior is still empty, not filled with tetrahedra like in this picture (https://doc.cgal.org/latest/Mesh_3/index.html#fig__figureimplicit_domain).
Is this a visualisation bug, or is it expected? It should have tetrahedra inside.

Thanks a lot for your time
Il venerdì 6 maggio 2022, 16:51:54 CEST, Sebastien Loriot" ( via cgal-discuss Mailing List) <> ha scritto:


c3t3 is a 3D mesh. You can use
https://doc.cgal.org/latest/Mesh_3/group__PkgMesh3IOFunctions.html#ga1ca4f403781718f2f4d5c227c89ed496 <https://doc.cgal.org/latest/Mesh_3/group__PkgMesh3IOFunctions.html#ga1ca4f403781718f2f4d5c227c89ed496>

or any other IO function.

Best,

Sebastien.

On 5/6/22 16:49, Bob Bill ( <> via cgal-discuss Mailing
List) wrote:
> Thanks for your answers.
> Sebastien, in the example you linked it seems to me that only the
> surface is meshed, right? I also need to fill the interior of the my
> surface_mesh. Is there a way to do that?
>
> Thanks for your time.
> Il venerdì 6 maggio 2022, 15:32:43 CEST, Sebastien Loriot"
> ( <> via cgal-discuss Mailing List)
> < <>> ha scritto:
>
>
> You can check this example:
>
> https://github.com/CGAL/cgal/blob/master/Mesh_3/examples/Mesh_3/remesh_polyhedral_surface_sm.cpp <https://github.com/CGAL/cgal/blob/master/Mesh_3/examples/Mesh_3/remesh_polyhedral_surface_sm.cpp >
> <https://github.com/CGAL/cgal/blob/master/Mesh_3/examples/Mesh_3/remesh_polyhedral_surface_sm.cpp <https://github.com/CGAL/cgal/blob/master/Mesh_3/examples/Mesh_3/remesh_polyhedral_surface_sm.cpp>>
>
> Best,
>
> Sebastien.
>
> On 5/6/22 15:14, Bob Bill ( <>
> < <>> via cgal-discuss Mailing
> List) wrote:
>  > I'm still trying to solve this, sorry again. I've seen the make_mesh_3
>  > function
>  >
> (https://doc.cgal.org/latest/Mesh_3/group__PkgMesh3Functions.html#ga1ee73dc372985c6aeef85f2415fac0ba <https://doc.cgal.org/latest/Mesh_3/group__PkgMesh3Functions.html#ga1ee73dc372985c6aeef85f2415fac0ba >
> <https://doc.cgal.org/latest/Mesh_3/group__PkgMesh3Functions.html#ga1ee73dc372985c6aeef85f2415fac0ba <https://doc.cgal.org/latest/Mesh_3/group__PkgMesh3Functions.html#ga1ee73dc372985c6aeef85f2415fac0ba>>)
>
>  > but my initial domain is a triangle Surface_mesh, not a Polyhedron as in
>  > the example, so I am still stuck and I need a help or a hint.
>  >
>  > Just to make things clearer, my goal is to create a 3D triangulation
>  > from the Surface_mesh `mesh2` of this basic example program in the
>  > documentation :
>  >
> https://doc.cgal.org/latest/Polygon_mesh_processing/Polygon_mesh_processing_2corefinement_consecutive_bool_op_8cpp-example.html#a5 <https://doc.cgal.org/latest/Polygon_mesh_processing/Polygon_mesh_processing_2corefinement_consecutive_bool_op_8cpp-example.html#a5 >
> <https://doc.cgal.org/latest/Polygon_mesh_processing/Polygon_mesh_processing_2corefinement_consecutive_bool_op_8cpp-example.html#a5 <https://doc.cgal.org/latest/Polygon_mesh_processing/Polygon_mesh_processing_2corefinement_consecutive_bool_op_8cpp-example.html#a5>>
>  >
>  > Best
>  >
>  > Il venerdì 6 maggio 2022, 01:15:25 CEST, Bob Bill < <>
> < <>>>
>  > ha scritto:
>  >
>  >
>  > Dear all,
>  >
>  > I have a triangulated Surface_mesh (which is the output of a boolean
>  > operation), and now I need to get a 3D triangulation from it, i.e. to
>  > fill it with tetrahedra. I don't see a direct way to do this, so I'd
>  > like to hear from you what your approach would be.
>  >
>  > My first guess was to do just:
>  > // CGAL::Surface_mesh<K> sm
>  > Triangulation tr(s.points().begin(),sm.points().end());
>  >
>  > but I don't know honestly if that's the preferred way. Any hint or
>  > comment is highly appreciated!
>  >
>  > Best regards,
>  > Bob
>  >
>  > --
>  > You are currently subscribed to cgal-discuss.
>  > To unsubscribe or access the archives, go to
>  > https://sympa.inria.fr/sympa/info/cgal-discuss <https://sympa.inria.fr/sympa/info/cgal-discuss >
> <https://sympa.inria.fr/sympa/info/cgal-discuss <https://sympa.inria.fr/sympa/info/cgal-discuss>>

>
>  >
>
> --
> You are currently subscribed to cgal-discuss.
> To unsubscribe or access the archives, go to
> https://sympa.inria.fr/sympa/info/cgal-discuss <https://sympa.inria.fr/sympa/info/cgal-discuss >
> <https://sympa.inria.fr/sympa/info/cgal-discuss <https://sympa.inria.fr/sympa/info/cgal-discuss>>
>
>
>
> --
> You are currently subscribed to cgal-discuss.
> To unsubscribe or access the archives, go to
> https://sympa.inria.fr/sympa/info/cgal-discuss <https://sympa.inria.fr/sympa/info/cgal-discuss>
>

--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss <https://sympa.inria.fr/sympa/info/cgal-discuss>



--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss


--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss




Archive powered by MHonArc 2.6.19+.

Top of Page