Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Example use of circulator to collect all cells around an edge?

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Example use of circulator to collect all cells around an edge?


Chronological Thread 
  • From: Adam Getchell <>
  • To:
  • Subject: Re: [cgal-discuss] Example use of circulator to collect all cells around an edge?
  • Date: Fri, 1 Mar 2019 13:37:25 -0800
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-phdr: 9a23:04wzjRBAWpBuCeAfSpvEUyQJP3N1i/DPJgcQr6AfoPdwSPT6rsbcNUDSrc9gkEXOFd2Cra4c26yO6+jJYi8p2d65qncMcZhBBVcuqP49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL1LdrWev4jEMBx7xKRR6JvjvGo7Vks+7y/2+94fcbglUhzexe69+IAmrpgjNq8cahpdvJLwswRXTuHtIfOpWxWJsJV2Nmhv3+9m98p1+/SlOovwt78FPX7n0cKQ+VrxYES8pM3sp683xtBnMVhWA630BWWgLiBVIAgzF7BbnXpfttybxq+Rw1DWGMcDwULs5Xymp4aV2Rx/ykCoJNyI2/27KhMJ+gqJVvhCuqR94zYPPeo6ZKP9+c7ndfd8GR2dMWNtaWSxbAoO7aosCF/YMMvtCoIn4ulAArAWxBRWwC+Pv1DBIgnv21rA93us7DA7JxgkgE8gBsHvKsNX6KKcSXv6xzKnM1jjDYPZW1i386IjMaBwuvfaMXbdpfMfX1EIhGQTFjlCKpozkOTOYzucNvHab7uV7T+2vkHAopxtwojio3ssjlobJiZgRylze8iV52ok1KNulQ0B4ed6pCIVcuz2eOodsQc4vQ3tktDgnxrEao5K3YSoHxZQ/yxLCdfCKcJKE7g/9WOqNOzt0mX1odbClixqv7EStyuvxXdSu3llQtCpKiNzMu2gN1xPN7siHTeNw/kK71jaO0wDf8/lEIU4pmabCJZ4t37w9m5oJvUTMGS/2n0r2jKuIeUk+5ueo7OHnbq3npp+aKYB0lhnzProylsG7G+g1MQgDU3KF9eihyLHv51D1TbdKg/Eul6nWqpHaJcAVpq6jBA9V154u5AyiADi81dQUh3YHI0xZeB2bj4jmJVXOIPTjAPewhlSjijZrx/TcMrL9BZXNK2DPkK39crZl905c1A0zwMhD6JJbEL4BJOv/VVLwtNzDEhA5Lhe0w/38BdVm1oIeXHqPDbWDPKPTt1+I/OMvLPOWaI8bojauY8QisvXhhHt8lV4GdrSyxrMWbmq5F7JoORa3e33p1/4NGGJCkQciR+znjFnKBTdfbnP0UK8g7TE2DIaOAoLKR4Tri7uEinToVqZKb3xLXwjfWUzjcJ+JDq9VOXCiZ/R5mzlBboCPDooo1BWgrgj/kuM1Ie/d+ylevpXmhoEsu7/j0Coq/DkxNPyzlnmXRjgtzGwNTj4ymqt4pB4lkwrR4e1Dm/VdUOdrybZJXwM9b8COyuV7D5XqVFuEcI7WFRCpRdKpBTx3RdU0kYcD

Great, thanks!

I was able to collect the cells around an edge once I used the correct CGAL::Edge type in incident_cells().


Hi Adam,

https://doc.cgal.org/latest/Triangulation_3/classCGAL_1_1Triangulation__3.html#a0f355dbb38cf631f24d4df8abd7a942f

states:  typedef Triangulation_data_structure::Edge Edge

and when you loo at the concept

https://doc.cgal.org/latest/TDS_3/classTriangulationDataStructure__3.html

you find:  typedef Triple< Cell_handle, int, int > Edge

Best,

Andreas


On 2/25/2019 5:58 AM, Adam Getchell wrote:
Hello all,

If I want to collect cells incident to a vertex  in a Triangulation into a container, I use `OutputIterator CGAL::Triangulation_3<Traits, TDS, SLDS>::incident cells`, passing in the Vertex_handle of the vertex and an OutputIterator (e.g., std::back_inserter) to the container of collected cells, e.g.:

tds().incident_cells(Vertex_handle, std::back_inserter(cells)

From looking at the documentation:


I’m not clear how to do the same for the cells around an edge.

It looks like `Cell_circulator CGAL::Triangulation_3<Traits, TDS, SLDS>::incident_cells(Edge e, Cell_handle start) const` would give me a circulator of the cells incident to the edge, but I’m not able to resolve to the correct overload of the incident_cells() function.

I’m passing in for the Edge argument an Edge_handle:

using Edge_handle = std::tuple<Cell_handle, int, int>

Which describes the edge according to a cell and two vertices in the cell which comprise the Edge. On that logic, then, I’m using `incident_cells(Edge_handle e, std::get<0>(Edge_handle)` to pass in the Edge and starting Cell, but this is not resolving.

Is there an example of how to obtain a Cell_circulator of the incident cells to an edge?

Thanks for your attention,

Adam
-- 

-- 
Andreas Fabri, PhD
Chief Officer, GeometryFactory
Editor, The CGAL Project

phone: +33.492.954.912    skype: andreas.fabri



  • Re: [cgal-discuss] Example use of circulator to collect all cells around an edge?, Adam Getchell, 03/01/2019

Archive powered by MHonArc 2.6.18.

Top of Page