Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Reliable way to offset a mesh?

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Reliable way to offset a mesh?


Chronological Thread 
  • From: Mael Rouxel-Labbé <>
  • To:
  • Subject: Re: [cgal-discuss] Reliable way to offset a mesh?
  • Date: Wed, 23 May 2018 15:36:50 +0200
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=None ; spf=None
  • Ironport-phdr: 9a23:GrsY6B3xKl4flzb7smDT+DRfVm0co7zxezQtwd8ZseMQKvad9pjvdHbS+e9qxAeQG9mDsLQc06L/iOPJYSQ4+5GPsXQPItRndiQuroEopTEmG9OPEkbhLfTnPGQQFcVGU0J5rTngaRAGUMnxaEfPrXKs8DUcBgvwNRZvJuTyB4Xek9m72/q99pHPbQhEniaxba9vJxiqsAvdsdUbj5F/Iagr0BvJpXVIe+VSxWx2IF+Yggjx6MSt8pN96ipco/0u+dJOXqX8ZKQ4UKdXDC86PGAv5c3krgfMQA2S7XYBSGoWkx5IAw/Y7BHmW5r6ryX3uvZh1CScIMb7S60/Vza/4KdxUBLmlTkJNzA5/m/UhMJ/gq1UrxC9qBJw2IPUfIKYOeBicq/Bc94XR2xMVdtRWSxbBYO8apMCAe0bMulGq4nyv0cArRyjBQijGuzvziZEiHns0qIhyOsmCxzN0QslH90UrnvUqM/5NL0VUeCow6jH0zHDY+lS2Tjn84fHaQ4urOqDXb1udsrRzFcgFx/fjlSQp4zqJS+a1vgKs2iB7+tsT/6gi2kiqwxopDWk28kiio7Mho0Py1DE8z10wIczJd2iSU50e8SoEJVKty2COIt2Q98iQ2F1uCkh0LEJpZm7fC0SxJs7yB7QcfiHf5KP4hL5W+acJypzinF9eL+niBu/8FKsxvDgWsS0ylpHoSRInsPSunwR1xHf8syKRudn8kqi2DuDzQTe5vxeLUwqi6bXNZgsyaMqmJUJq0TMBCr2lV32jKCIckUk/fCl5uX9brXjoZ+QKpV4igTkPaQvnsyzGOM4MhUSX2SB/uS8yr3j8Vf/QLpUkv06iqjZsJbEKsQHvqO0DA5Y3pw+5xqjDzqqytsVkHcdIF5bZB6Kj5DlO1TUL/D5Cfe/jU6skDBux/3eO73uGIvCLnzZnLf7erZ99kFdxxQ3zdxF45JbEKoOL+ntVULqu9zXEBg5MwmqzOb7EtV81o0eVniTDa+FN6PSq1+J6vgzLOmLYY8ZoCz9JOQ95/7ykX85nkcQcrWm3ZQNbHC0B+lpI0SCYXXwn9cBCnwKsxElTO3qjV2CSSRca2yzX6I6/DE7CZipAZ3NRoC30/S82jymFMhWenxeEQLLVmz5cp2NHfYKciObZMF71ScVUKCoDI4n2xbpvwDzz/9rL/Hf5zYD5q7kgdN67umWmRAp/iFvFOyc1XuMRid6hDAmXTgziYV2rEhK8FCewaV8xthRH9bSr6dMWwo+c4Tb0vx3D5b2UwjLc/+GRVGjT8m8ED84Rc422c5IaEF4TYbxxivf1janVudG34eAA4Y5p/qFjirBYv1lwnOD75EPylwvQ89BL2qj3Pct+AXUAoPViVSXnq22cr4NmiXK8TXblDbcjARjSAd1FJ79czUHfEKM9Ib260THQqO0GLouORdG09/EIaxPOIWw0Ad2Acz7MdGbWFqf3me9ARHSmuHSKo/tIiMY1STZTU8Zj0YU43bAMwUiVH+s

Tags are used differently:

C3T3 c3t3 =  CGAL::make_mesh_3<C3T3>(domain, criteria, manifold());


On 23/05/2018 15:28, Zesen Qian wrote:
> OK so I just rewrote the program to use Mesh_3. One problem I
> encountered is that I want to restrict the output mesh to be manifold,
> but the named parameters doesn't seem to work. It told me:
>
> /home/riaqn/codes/cxx/offset.cxx:65:102: error: ‘manifold’ was not
> declared in this scope
> base<T>::Meshing::C3t3 c3t3 = CGAL::make_mesh_3<typename
> base<T>::Meshing::C3t3>(domain, criteria,
> manifold=params::manifold());
>
> it seems that there isn't such a named parameter in make_mesh_3's signature?
>
> Best,
> Zesen
>
>
> On Wed, May 23, 2018 at 2:57 AM, Sebastien Loriot (GeometryFactory)
> <>
> wrote:
>>
>> On 05/22/2018 08:33 PM, Zesen Qian wrote:
>>> Hi Sebastien,
>>>
>>> Thanks for this. I wrote the program myself and I'm using surface_mesh
>>> instead of mesh_3. Question: Why will Mesh_3 be faster? From what I
>>> understand this will not only generate facets but also cells inside
>>> the shape? How will that accelerate the process?
>> Mesh_3 code has been updated to take advantage of threads so it will be
>> faster. Moreover, the code of Surface_mesh has not been updated for some
>> time now because we are planning to replace it with the implementation of
>> Mesh_3. If you put no constraints on the tetrahedra, only the constraints
>> on
>> surface facets will make the mesh work more.
>>
>> Sebastien.
>>
>>
>>> And in particular, if I'm not interested in the cells, how should I
>>> set the parameters concerning it? i.e., cell_radius_edge_ratio and
>>> cell_size.
>>>
>>> Best,
>>> Zesen
>>>
>>> On Tue, May 22, 2018 at 2:25 PM, Sebastien Loriot (GeometryFactory)
>>> <>
>>> wrote:
>>>> Note that this PR : https://github.com/CGAL/cgal/pull/3043
>>>> will bring some noticeable speed up as well as parallel mesh algorithm.
>>>>
>>>> Best,
>>>>
>>>> Sebastien.
>>>>
>>>>
>>>> On 05/22/2018 07:18 PM, Zesen Qian wrote:
>>>>>
>>>>> Hi Sebastien,
>>>>>
>>>>> Sorry for keep spamming your inbox - but I found how to sample areas
>>>>> differently based on variety. For future reference, the parameter
>>>>> distance_bound constrols the max distance from every generated facet
>>>>> to the surface. So when the same value applies to different areas, the
>>>>> areas with more details will get sampled more.
>>>>>
>>>>> Thank you so much for the help!
>>>>>
>>>>> Best,
>>>>> Zesen
>>>>>
>>>>> On Tue, May 22, 2018 at 11:11 AM, Zesen Qian
>>>>> <>
>>>>> wrote:
>>>>>>
>>>>>> Hi Sebastien,
>>>>>>
>>>>>> I think I was mistaken - I tried it again and it seems that I don't
>>>>>> have to do too much about the angle_bound - adjusting other parameters
>>>>>> would suffice to give a decent result.
>>>>>>
>>>>>> However, it is indeed slow. One feature of my mesh is that it donsn't
>>>>>> have to be evenly sampled - some areas require more details than
>>>>>> others. Can I do some trick so that those area receive extra
>>>>>> sampling, while other more monotone area get less, so I can save some
>>>>>> processing time?
>>>>>>
>>>>>> Best,
>>>>>> Zesen
>>>>>>
>>>>>> On Tue, May 22, 2018 at 10:26 AM, Zesen Qian
>>>>>> <>
>>>>>> wrote:
>>>>>>>
>>>>>>> Hi Sebastien,
>>>>>>>
>>>>>>> Thanks for this. I don't know if that's a similiar thing, but I tried
>>>>>>> https://doc.cgal.org/latest/Surface_mesher/
>>>>>>> by a distance function(with AABB_tree and side_of_triangle). Seen from
>>>>>>> the source code of the plugin, it's very similar.
>>>>>>>
>>>>>>> To get a decent result it's quite slow. If I set the angular bound to
>>>>>>> 90 degree(more than 30), the algorithm is not garanteed to
>>>>>>> terminate(and indeed in my case). My mesh has some very thin layers
>>>>>>> that's easy to be ignored by meshing, so I don't expect this method
>>>>>>> to work.
>>>>>>>
>>>>>>> What I'm now trying is simply using the "solidify" modifier in
>>>>>>> Blender, and fix the potential self-intersections using refining and
>>>>>>> outer-hull operation, and then use boolean operation with the original
>>>>>>> mesh to get a offseted mesh. I'm using libigl to do these tasks.
>>>>>>>
>>>>>>> Best,
>>>>>>> Zesen
>>>>>>>
>>>>>>> On Tue, May 22, 2018 at 9:59 AM, Sebastien Loriot (GeometryFactory)
>>>>>>> <>
>>>>>>> wrote:
>>>>>>>>
>>>>>>>> There is indeed nothing official in CGAL. However, in the Polyhedron
>>>>>>>> demo we wrote a small plugin that is meshing the distance function to
>>>>>>>> a
>>>>>>>> mesh
>>>>>>>> and the output is by construction guaranteed to be free from
>>>>>>>> self-intersections. However sharp features are not correctly meshed
>>>>>>>> if
>>>>>>>> not protected.
>>>>>>>>
>>>>>>>> Go into 3D Surface Mesh Generation -> Offset meshing once having
>>>>>>>> loaded
>>>>>>>> a polyhedron.
>>>>>>>>
>>>>>>>> Source code is here:
>>>>>>>>
>>>>>>>>
>>>>>>>> https://github.com/CGAL/cgal/blob/releases/CGAL-4.12-branch/Polyhedron/demo/Polyhedron/Plugins/Surface_mesh/Offset_meshing_plugin.cpp
>>>>>>>>
>>>>>>>> HTH,
>>>>>>>>
>>>>>>>> Sebastien.
>>>>>>>>
>>>>>>>>
>>>>>>>> On 05/17/2018 07:44 PM, Zesen Qian wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Hi list,
>>>>>>>>>
>>>>>>>>> I have a triangulated, closed mesh which is free of any
>>>>>>>>> degeneracies.
>>>>>>>>> Is there any reliable way to offset this mesh? By reliable I mean
>>>>>>>>> the
>>>>>>>>> result mesh should be free of any degeneracies.
>>>>>>>>>
>>>>>>>>> I searched on Internet and there is simply not an library/program
>>>>>>>>> available that can do this. I guess CGAL isn't capable of this
>>>>>>>>> either,
>>>>>>>>> but I believe people on this list should be familiar with this topic
>>>>>>>>> and maybe offer some comments.
>>>>>>>>>
>>>>>>>>> Thank you.
>>>>>>>>>
>>>>>>>>> Best,
>>>>>>>>> Zesen
>>>>>>>>>
>>>>>>>> --
>>>>>>>> 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
>>>>
>>>>
>> --
>> 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.18.

Top of Page