Subject: CGAL users discussion list
List archive
Re: [cgal-discuss] Get sub-elements induced by the cut of an element with a curve
Chronological Thread
- From: Marco Feder <>
- To: "" <>
- Subject: Re: [cgal-discuss] Get sub-elements induced by the cut of an element with a curve
- Date: Sat, 22 Jan 2022 13:04:17 +0000
- Accept-language: it-IT, en-US
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=g/exGovgTZKvs7HFp/JgcCVKy6GxOyHk4o5ORZ8J86A=; b=OI86P89gQMRrQPaeAQIr4tXF4eDcsh6MyBOdJY4S1L0TtLnjE3QglolAiPmnDyxbo+7OGj3mXPbScACX349qxaam70xKYTIzdPaWWrEWLBv82HhH3qxH2nx7DO/J25zSvpUCN0mcOexlBRxOTxw78H5rpzAMuJ//BWNRSZeFEaGue+Rs2mNVZmhABapD0FuckW2CWYgH5b2tnSlpbRGRseSnlCDGVYSLOUB7Nt6HbmNg97g7UOhLaQrijfgE6DzplzQsFGFYldjpocn+iHqBbblXzXYzVHx+ug8wS7WJj7+6/C6MpB0G2FwEWjrZDc9Z27rxedzE3za264fzsSS8nQ==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=m/3XQDBLAOrtXpjGAuYt/8TZOr9wW/zthTUzRwCin45lcuvZ8dsJFEE0IcZqFxVurBustkgpPKsmqekX0OjjoGCQefhx1tcqx7Y82+0YX5+Z3JzvB1CjKzUqIS4j2UbLAF1lakjAE/0VzFu31gNom5p+aBRbwZ59Je3DvxkRYxIVTCHXsKoHFEG+sqBKXOT/dF3j6/W5gLRg8kzJyRozjRwr4ZuR6nZ+ddHAh0PfJ0etSnSp6JeugO085y2BGptItJiWWdoinWXNcF9fl9FaQGqSZw2OuHS/ZXtSlk+smt5GNBEhydvh2B2DyfOfmAGvlAmBg3nrf0KptKzG6+OlWA==
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=Pass
- Ironport-data: A9a23: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 u/cT/e+8tGOAriAU2ch/muvyul0xR7OuDy0zT2O
- Ironport-hdrordr: A9a23:8u12m6iFBDjfdrBWleNcsI7F/HBQX1V13DAbv31ZSRFFG/FwyP rCoB1L73XJYWgqM03IwerwQJVoMkmsjqKdgLNhdotKOTOLhILGFvAH0WKP+Vzd8mjFh5dgPM RbAuJD4b/LfD9HZK/BiWHWferIguP3lpxA7t2urEuFODsaDp2ImD0JaDpzfHcXeCB2Qb4CUL aM7MtOoDStPV4NaN6gO3UDV+/f4/XWiZPPe3c9dlIawTjLqQntxK/xEhCe0BtbeShI260e/W /MlBG8zrm/ssu81gTX2wbonttrcZrau5V+7f63+4gowwbX+0WVjUNaKv+/VQUO0aCSAZAR4Z zxSlkbToBOAjjqDxuISFPWqnTdOXAVmjLfIBaj8AfeiN28SzQgB8Vbg4VFNhPf9ko7pdl5lL lGxmSDqvNsfGX9dQnGlqz1vitR5z2JSLsZ4J4upm0aVZFbZK5arIQZ8k8QGJAcHDji4IRiFO V1FsnT6PtfbFvfNhnizyFS6c3pWm52EgaNQ0AEtMDQ2z9KnGphx09dwMAEhH8P+J80VpEB7e XZNaZjkq1IU6YtHOtALfZERdHyBn3GQBrKPm7XKVP7FLsfM3aIsJLz6KVd3pDeRHXJ9upBpH 3saiIniYcCQTOcNSTV5uw1zvnkehTNYQjQ
- Ironport-phdr: A9a23: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 YhK9t4GApSnzEDfK4HgMaIBzhIuog/sIQfcZMk=
- Ironport-sdr: vsJPVKyZI1GwM6eCKvxkzbvQW8JHn8lBcFAuPanGpOh9yjDW/7L5jHpb+Vx2JTCZCHvOYFnVSJ 5SNa/+WYdsZuq7fabcnUu7bmWFfkahRW87fctma9IkyvDV5MhbexCjg101we8PanHVPU90AVEt ZMxZMMf6XbWGSX44h+/P64L5WI9RqnbzL6UwDwstr5xts653RyFz71YhOllkDcvcZ/4CAPO82y ZPze8K05Z6gOLkSDV9HcAWHcXWycTQUvYgyD4WqxmhQ6YIeKkzvRFwqOGgh1Zmjpcy/gg5lJlr ac2iSR7aq1+5i+yAYclgVlKj
Thanks Efi Fogel,
I’m trying to cook a MWE to handle the situation I have in the attachment, but I have a hard time understanding how to give the OutputIterator argument to the CGAL::zone() function.
So far I have the following snippet, which does not compile as output_it
cannot be constructed. How can I define that output iterator correctly?
#include
<iostream>
#include
<iterator>
#include
<CGAL/Arr_segment_traits_2.h>
#include
<CGAL/Arr_walk_along_line_point_location.h>
#include
<CGAL/Arrangement_2.h>
#include
<CGAL/Cartesian.h>
#include
<CGAL/MP_Float.h>
#include
<CGAL/Quotient.h>
#include
<CGAL/intersections.h>
typedef
CGAL::Quotient<CGAL::MP_Float>
Number_type;
typedef
CGAL::Cartesian<Number_type>
Kernel;
typedef
CGAL::Arr_segment_traits_2<Kernel>
Traits_2;
typedef
Traits_2::Point_2
Point_2;
typedef
Traits_2::X_monotone_curve_2
Segment_2;
typedef
CGAL::Arrangement_2<Traits_2>
Arrangement_2;
typedef
CGAL::Arr_walk_along_line_point_location<Arrangement_2>
walk_pl;
int
main() {
Arrangement_2
arr;
Segment_2
cv[3];
walk_pl
pl(arr);
Point_2
p1(0,
0), p2(0,
4),
p3(4,
0);
cv[0]
=
Segment_2(p1,
p2);
cv[1]
=
Segment_2(p2,
p3);
cv[2]
=
Segment_2(p3,
p1);
CGAL::insert(arr, &cv[0],
&cv[3]);
Segment_2
my_curve(Point_2(0,1),
Point_2(2,2)); // curve is a segment now,
it cuts the triangle
insert(arr,
my_curve,
pl);
// Compute the zone of the curve
std::ostream_iterator<Arrangement_2>
output_it(std::cout,'\n’); //
Error!
auto
my_zone =
CGAL::zone(arr,my_curve,
output_it,pl);
return
0;
}
Best,
Marco
On 20 Jan 2022, at 15:01, Efi Fogel <> wrote:
If you can reduce the problem to the plane (perhaps it is already in the plane), you can use the Arrangement_2 class template from the "2D Arrangement" package; see https://doc.cgal.org/latest/Arrangement_on_surface_2/index.html.Construct an arrangement of the type of curves you are interested in, then use the CGAL::zone(c) free function to compute the zone of a given curve c; see
https://doc.cgal.org/latest/Arrangement_on_surface_2/group__PkgArrangementOnSurface2Funcs.html#ga49aa156968945f5533a2b5d9897ca659
____ _ ____ _
/_____/_) o /__________ __ //
(____ ( ( ( (_/ (_/-(-'_(/
_/
On Thu, 20 Jan 2022 at 14:27, Marco Feder <> wrote:
Dear all,
I’m completely new to CGAL, and I’d like to understand if it’s possible to perform the following task:
Consider an element T of a 2D mesh, which is cut by a curve \Gamma. Is it possible to define/get the two new elements, say T_1 and T_2, induced by the cut, as showed in the attachment?
If so, could you please point me to the right examples/pages in the manual?
Best regards,Marco
<cut.jpeg>
--
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
- [cgal-discuss] Get sub-elements induced by the cut of an element with a curve, Marco Feder, 01/20/2022
- Re: [cgal-discuss] Get sub-elements induced by the cut of an element with a curve, Efi Fogel, 01/20/2022
- Re: [cgal-discuss] Get sub-elements induced by the cut of an element with a curve, Marco Feder, 01/22/2022
- Re: [cgal-discuss] Get sub-elements induced by the cut of an element with a curve, Marco Feder, 01/26/2022
- Re: [cgal-discuss] Get sub-elements induced by the cut of an element with a curve, Efi Fogel, 01/26/2022
- Re: [cgal-discuss] Get sub-elements induced by the cut of an element with a curve, Marco Feder, 01/26/2022
- Re: [cgal-discuss] Get sub-elements induced by the cut of an element with a curve, Andreas Fabri, 01/26/2022
- Re: [cgal-discuss] Get sub-elements induced by the cut of an element with a curve, Efi Fogel, 01/26/2022
- Re: [cgal-discuss] Get sub-elements induced by the cut of an element with a curve, Marco Feder, 01/26/2022
- Re: [cgal-discuss] Get sub-elements induced by the cut of an element with a curve, Marco Feder, 01/22/2022
- Re: [cgal-discuss] Get sub-elements induced by the cut of an element with a curve, Efi Fogel, 01/20/2022
Archive powered by MHonArc 2.6.19+.