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: Andreas Fabri <>
  • To:
  • Subject: Re: [cgal-discuss] Example use of circulator to collect all cells around an edge?
  • Date: Mon, 25 Feb 2019 08:50:15 +0100
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=None ; spf=None
  • Ironport-phdr: 9a23:u24eVhTX5d2tQZOd4F8dIcoyfdpsv+yvbD5Q0YIujvd0So/mwa6yYRGN2/xhgRfzUJnB7Loc0qyK6/CmATRIyK3CmUhKSIZLWR4BhJdetC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+KPjrFY7OlcS30P2594HObwlSizexfbB/IA+qoQnNq8IbnZZsJqEtxxXTv3BGYf5WxWRmJVKSmxbz+MK994N9/ipTpvws6ddOXb31cKokQ7NYCi8mM30u683wqRbDVwqP6WACXWgQjxFFHhLK7BD+Xpf2ryv6qu9w0zSUMMHqUbw5Xymp4qF2QxHqlSgHLSY0/nzJhMx+jKxVoxyvqBJwzIHWfI6YL+Bxcr/HcN4AWWZMUMRcWipcCY28dYsPCO8BMP5Eoon7ulQOtwWxChO3BOjyyjFHnGT53bc70+88FgzJxgogEM8UsHvKttr1L70eUe6vw6bT1zXDbuhb2Tjj54jPdxAuv+2MXahwcMrf00YgCx/FjlKKqY3lJT+ayuMNs22C4udmSOmhhWknqwRrrTiuwMchkorJiZwVy1/f7yp525g6Kce5SE58edKrDJRQuDueN4dsRcMiWW5otSAnwbMFoZ62ZCsHxZY9yxPbaPGLaZWE7xDtWeqLPDt0mHxodKq7ihqu60StyezxWtO23VtKtCZJj93Bu3EL2hfO8MaIUOF98V2k2TuX1wDc9OVEIUcsmKfbMZIhx7kwm5oJvUTGBCD2mUH2gLaRdkU55uik8ePnYqvmppOGMY97lB3+Prwvmsy5H+s4LhADUmuZ9Oim0LDu/lf1TKhIg/A4iKXVrYzWKMoDqq68GQBV04Ij6xilDzeh1dQVhWMILFRYdxKdkYfmIUrOLOr2DfilmFusijZryuvJPrL/BZXNK2bMkKv7fbd95U5T0hY8zcxY55JOCrANOu78Wkj0tNDAFB82LxS0w/r7CNV6zo4RRW2PDbWdMK/LrFCI5/kvLPWRZI8OozbwMOMl5v7rjX8hg1ARZ6ip3Z0NaHC5BPtqOUuZYWC/yusGRGwFtw57QO3xg0CZShZSYWyzVuQy/GIVEoWjWK7FSpqgiafJ8i6xBJweMmlABkqBGGyueYyOQfYkZy+VJ8J9iC0KXLO9TJUwkxqpsVmpmPJcMuPI93hA5trY399v6riLzEBgxXlPF82Yllq1YSRxl2IMSSUx2fom80NwzVKOzbJpjfVTCdtJ9rVCVQJobceAndw/MMj7X0f6RvnMUEyvGIz0Djw2S98t2c4Aak1hHM+zyBvE2njyWuJHp/mwHJUxt5nk8T3xKsJ6kSqUie8kiARgR8JOMSihm7I58BbTQYjEjxfBmg==

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:

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

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
-- 
Adam Getchell
https://keybase.io/adamgetchell

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

phone: +33.492.954.912    skype: andreas.fabri



Archive powered by MHonArc 2.6.18.

Top of Page