Subject: CGAL users discussion list
List archive
RE: [cgal-discuss] Is there is a function to check if two faces share a common edge in line arrangement in CGAL?
Chronological Thread
- From: XIAOWEI XING <>
- To:
- Subject: RE: [cgal-discuss] Is there is a function to check if two faces share a common edge in line arrangement in CGAL?
- Date: Mon, 03 Jul 2023 02:20:13 +0900 (KST)
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Dooray-meta-signature: 8Qof6gk1QFWuhSyuV0X7VqXKFE+K8EJP5p+orxaLobYFw3URZ7EgN 2lqaOFtYl85pNdmjwyNDuTnnrvk3LuwAp67hZuqvy66co7oGDaA0i0WgJHQzW4jWuX1mgcPtBedw 80RMzTJFYfN8VHA/GfwjMALKwsctrfVvPnwaT/ziwJsZTmMq7ZuZdlplW8QciNp5Qx96zb2ZbXC4 Hydysf8jfDkJFrUJ+A1OQEit0urwlyg+kjelb3zJouvP7C4v1j5zsuz03P2C34nOXv1sCTT17EtN zrx4qetosYRxQUeK9jVIyfpSPvQ5zuJ1X7jKayeHMBmDPDkCuziWkf0GAaGvJ8T6TeFSeZCZUvc7 3eWlFk=
- Importance: Normal
- Ironport-data: A9a23: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 R3yN5E+0tVdAn2keArL2sGGvA==
- Ironport-hdrordr: A9a23:fayDmqo4S36wWY5pIXW/KhwaV5q5eYIsimQD101hICG9E/bo9P xG+c5x6faaskdrZFgMn9aaMLnFZX/A/dpO4YcXNaq/RwWOggGVxe1ZgbcK4geQfBEWs9QtqJ uIEJIfNDSTNzZHZK/BiWHULz9j+qj8zEnCv4bjJhlWIj1CWuVM6QFjAhbeOkN7QxQuP+tdKL OsoudAoSGpaTA+c9myDHgIUoH41qX2vaOjTBgBHBY2rC2HjTbtyLOSKWn94j4uFx5UxvMY/X DYnxblj5/T0c1TsCWsrlM7lK4m/ufc9g==
- Ironport-phdr: A9a23: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
- Ironport-sdr: 64a1b1d7_EgshY3umgdYkTq3nRUVa+Lh23PrMVRkP5Thn/wOqxUSjyGi LOo7BhxKt7Rigkg4SWQR7GCHMcTRtyecERgsykQ==
Thanks, Mr. Fogel. Your method works like a charm.
-----Original Message-----
From: "Efi Fogel ( via cgal-discuss Mailing List)" <>
To: <>;
Cc:
Sent: 2023-07-02 (日) 16:32:57 (UTC+09:00)
Subject: Re: [cgal-discuss] Is there is a function to check if two faces share a common edge in line arrangement in CGAL?
Iterate over the halfedges along the CCBs of one face; for each halfedge h check whether the incident face of the twin halfedge of h is identical to the other face.
____ _ ____ _
/_____/_) o /__________ __ //
(____ ( ( ( (_/ (_/-(-'_(/
_/
/_____/_) o /__________ __ //
(____ ( ( ( (_/ (_/-(-'_(/
_/
On Fri, 30 Jun 2023 at 11:52, XIAOWEI XING <> wrote:
Greetings,I would like to check if two faces share a common edge in line arrangement in CGAL. Currently, I have a line arrangement as follows.
#include <vector> #include <CGAL/Exact_predicates_inexact_constructions_kernel.h> #include <CGAL/Arr_non_caching_segment_traits_2.h> #include <CGAL/Arrangement_2.h> typedef CGAL::Exact_predicates_inexact_constructions_kernel CGAL_kernel; typedef CGAL_kernel::Point_2 CGAL_point_2; typedef CGAL_kernel::Segment_2 CGAL_segment_2; typedef CGAL::Arr_non_caching_segment_traits_2<CGAL_kernel> CGAL_traits; typedef CGAL::Arrangement_2<CGAL_traits> Arrangement; int main() { CGAL_point_2 p00(0, 0), p01(2, 0), p02(2, 2), p03(0, 2); CGAL_point_2 p10(0, 1.5), p11(1.5, 2), p20(1.5, 0), p21(0.5, 2); std::vector<CGAL_segment_2> segments = { CGAL_segment_2(p00, p01), CGAL_segment_2(p00, p03), CGAL_segment_2(p02, p01), CGAL_segment_2(p02, p03), CGAL_segment_2(p10, p11), CGAL_segment_2(p20, p21) }; Arrangement arr; CGAL::insert(arr, segsegs.begin(), segsegs.end()); int id1 = 0; for (auto f1 = arr.faces_begin(); f1 != arr.faces_end(); ++f1) { int id2 = 0; for (auto f2 = arr.faces_begin(); f2 != arr.faces_end(); ++f2) { if (id2 == id1) continue; // // Is there a function to check if these two faces share a common edge? // id2 += 1; } id1 += 1; } return 0; }
I considered to compare the edges of a face with the edges of another face. But I am not sure if there is a better method.Thanks a lot.Yours sincerely,Xiaowei Xing
--
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
- Re: [cgal-discuss] Is there is a function to check if two faces share a common edge in line arrangement in CGAL?, Efi Fogel, 07/02/2023
- RE: [cgal-discuss] Is there is a function to check if two faces share a common edge in line arrangement in CGAL?, XIAOWEI XING, 07/02/2023
Archive powered by MHonArc 2.6.19+.