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: Andreas Fabri <>
- To:
- Subject: Re: [cgal-discuss] Get sub-elements induced by the cut of an element with a curve
- Date: Wed, 26 Jan 2022 09:11:54 +0100
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=None ; spf=None
- Ironport-data: A9a23:PUwd1a+neZTOdkPEM7sqDrUDbHiTJUtcMsCJ2f8bNWPcYEJGY0x3n 2BODD3SM/vYYzCkeNx/YYq29BsEsJPVnNZlHFRlqi9EQiMRo6IpJ/zJdxaqZ3v6wu7rFR88s Z1GMrEsCOhuExcwcz/0auCJQUFUjP3OHvylYAL9EngZqTVMEU/Nsjo+3b5p6mJUqYLhWVnV4 Ims+5S31GKNglaYDEpEs8pvlzs05JweiBtA1rDpTa0jUPf2zhH5PbpHTU2DByOQrrp8QoZWc 93+IISRpQs1yfuC5uSNyd4XemVSKlLb0JPnZnB+A8BOiTAazsA+PzpS2Pc0MS9qZzu1c99Zl +5msMOtdS0VIaDltchDCUkALBl+FPgTkFPHCSDXXc27lQvDdCaznbNrBUAyeIoF5qBwH2EI8 /EEQNwPRknc16Ttm/ThF7Aq1pxLwMrDZOvzvllpyz3DAP89B57KSb/LzdBV2zI9mtpfE//Ve 80DeHxkaxGojxhnZg5PUcJvwI9EgFHQaQxfiQuMvJYpoGf1yy5/15rQPvr8L4niqcJ9xB7A+ zOuE37CKhoVPdjaxTue+W+3ncfUjCbjUcQTEqe5/7hkmjWuKnc7UlsTUgbk/7+8g0+6HtVCN woT5Cpoq6UunKC2cjXjd0KDi3vboyI2Z8VdOsAWtlvdkpXs4y/MUwDoUQV9QNAhscY3Qxkj2 VmIg87lCFRTjVGFdZ6O3uvE/W7iY0D5OUdYPnRUEmPp9vG++Nlbs/7Zcjp0OICP5uAZ9Bmqh TWN8XdgwbAajMpO0Linu1fZg3Sqq4Shou8JCuf/ADzNAuBRPtXNi2mUBb7zsa0owGGxEgLpg ZT8s5LChN3i9LnU/MB3fM0DHauy+9GOOyDGjFhkEvEJrmrxoCf4INwIuGoldS+F1/ronxe5O Cc/XisBvfdu0IeCPPQpPupd9uxxk/ixT46+PhwqRoMRPMQsJGdrAx2ClWbKhziwwSDAYIk4J 5fTas+3ZUv2+ow3pAdas9w1iOdxrghnnT27bcmik3yPjOTCDFbIF+ZtGAbeP4gRsfLfyC2Io oY3Cid/404COAEISnKLqtF7wJFjBSRTOK0aXOQOJrfceVI3QT94YxITqJt4E7FYc21uvr+g1 hmAtoVwkjITXFXLdleHbG5NcrTqUcotpH43J3V9b1ml3H0ufZy+4q4Ua5wtbP8s8+k6lax4S PwMesOhBPVTS2WWp2pCNsOt/IEyJg62gQ+uPja+ZGRtdZBXWAGUqMTveRHi9XdSA3Pv59c+u bCpyijSXYEHG1Z5FM/TZf/2lwGxsHERlfhcRUzNJtUPKkzg/JIzen7+g/gyLt0WOBvKzSedz RfQChAd/LGfr4gw+djPpKaFs4b4QrcgQREATznWtO/kOzPb82yvxZ57fNyJJT2NBnnp/KiCZ PlOy62uOvMwg1sX4ZF3FKxmzPxi6oK39aNa1AltAF7Cc0+vVuF7OnCD0MRC6v9Ny7tetVfkU 06D4IMGa+/PPcS4TwBXIQMkaqGEyO1SnSfSq/I4PByitiNw+bOGV2RUPgWN2H0CduQlbNt9z LdzotMS5iy+lgEubISMgBdUwGLQfHYOZKMq68MBC4jxhwt3kVxPPc7GBint7M3dYtlAKBN2c GXSga2f2Ooaw0PDdz80CGSL2vRdw5IDpEkSnlMFIl2InPvDh+M2jEwOq2tnElwNw0UVyf93N 0hqK1Zxe/eE8QBos84fDWqiLAdMWU+C8UvrxlpVz2DUQiFEjIAWwLHR7QpMwKwYz46YVmId+ bbFlzijVD/reIT2wzd0XlBl7fruUbSdM+EEdN+PR6y481sSOFIJQZNCoUIHphziDN8rlUPOr vVt5vc2Yqr+XcLVT2vXFKHCvYn9i3m4yKhqTvxm+a4VB3DScTqu3iKfbUu2f6uh4hAMHVCQU 6RTGy6Ea/hyOOtiYNzW6W7g7oKYRMIU2ec=
- Ironport-hdrordr: A9a23:Z7tDVKg/IDjeIrVfpuxkni0Zx3BQXj4ji2hC6mlwRA09TyX5ra 2TdYcgpHrJYVcqN03I9urgBEDtewK7yXcx2/hpAV7AZmnbUQmTQr2KhLGKq1aLJ8S9zJ876U 4KSdkdNDSfNykfsS+32njaL/8QhP+58eSDgOfTyGpMVGhRB51I3kNeFQfeL1Z/TgVcQbo1fa DsnvZvln6eQjAsV+yeLFE4ZcSrnay3qLvWJSE8QyQfwC21pxWSxNfBYmKl9yZbbAgK+44L1V L5uzHUj5/TyM2G9g==
- Ironport-phdr: A9a23:shM6ohxqeikVp5LXCzJYw1BlVkEcU1XcAAcZ59Idhq5Udez7ptK+Z haZv6gm1QeRFcWDsrQY0bOQ6/ihEUU7or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7F skRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRpOOv1BpTSj8Oq3Oyu5pHfeQpFiCSjbb9oM hm7rQrdutQKjYd+N609zgfFrmZSd+lZ229kOEifkwrg6su14ZVu7zlet/U9+sBaTK70Zb44T btWDDQnN2A6+sjmvgTdQAWM+3URTHwYngJHDAbZ4h76WIzxsjbhuepmxCaaJ8z2QqsqVjmk8 qxmVQXniCYDNz4+7WHXlsl9h79VrR69uxByxZPfbYeIP/R8Y6zdZ8sXSnZCUMhfWCNODJ6yY ZUBD+QBP+lVtJPyq0cUoBakGQWhCuHixzlVjXH2x6061OEhHBna0QwmAt0Oqmrbo8/uNKwPU e661rLHzS/Cb/hL3jry8o7IfQ07of6SR71watDdyUc1GAzelFWQqJfoPzyL2eQKtmiU8fZgV fivim4psQ5+viSvxsA2iojJnI4a1lfE9SBgzYszONa3R1J1b8S+H5tMqyGVKZF2QsU6Tmxrp io3yaELtIOncSUJyJkqxhDSZvOHfoWV5h/uSvqdLzlmiX9neLyxiBW//Ei+xuHiS8W501lHo CVGn9fCuH4A0QHY5MaASvt45Eih2DCP2hjP5eFLO080kbDXK5k7wr4/jpYTsELDHjX3mErsl qOWeF8k9+614OrkerXrvoKQOo13hw3kPKkjlNazDfo4PwQTRWSW+viw2KX98UHjXblHjuc6n 6rXvZzAIckXvrK1DxVJ3oo59xqzFSuq3dIFlnQZKFJFZQmHj5T3NFHUPf74DPa+jEq0nTt3w f3NI6fvDY/XLnfZlbfsZbZ95FBYyAo01d1T+YhYCrQGIP/zWEL8tcbUDhojPAy1x+brEdJ91 p4CWW6VBa+ZLqPSvUWO5u0xP+mAfI4VuDDjJPg5//PikH00lFwHcaSn05Ybcm60E/R7L0mDY nfgns8NEWIQsQo/SOzqhkeCUTlWZ3uqRa084Cw0CJi4AojZXYChmrKB0z2gEZ1MZ2BLEV+MH mnvd4WBRfgMdDiSI89vkjMeSbehV4gh1QuutQPg17VnKe/U9jUCtZ3/zNh1+/HTlRYq+DNoA MSSyWWNQ3hpkWMJXD85wL1/oVdmylqYyqh5g/lYFcRJ6P9TUwc6M4Tcz+1gBNzoVALBZM+FS FOhQtq7Hz48Vskxw9oSY0ZlHNWikwzD0zKqA7ALk7yLA4Q58rrY33frJ8dy1WzG2as8g1QnW MdPNXepirR49wjNB47FiUOZmLi2dagE3S7N8nmMzXaWsU1ESgJ8Tb/JUWwFakfKtdj54FjNQ Ke0Cbs7KgtB1dKCKqxSZ9H0lVlGXuvsOMzCY2KtnGe9HQqHxryWY4ruYmkSwSTdCFMYnAAO5 naGLhMzBiano2LEDTxhD0jjY0328bo2lXWgU0Vhzx2Wd1YzkP2u6xsNjLqdTekS1/QKomA6u jBsFRG82dzRTNGPrg4kcKRHas4m+wR603nEvSxhO5j1L7x+nkVMNENsrkb23lN2DJ9BmI4kt jQx3Q9qIOWZ1l1GMDiX1JS1NrzMIXTp50OSbbXL0G3TwMrD+rsT8O9q7BL4rQSxHwwj9W9m2 p9byTyH95DSBU0TV5z2FU04/hw/q7DBaTQm/NDo0ihnPqCw9zPDwNk0H/ANyxC6ft4ZPrnXO hX1FpgzAcS0JeUx03agZAgFdLRb8qIuMsq9MfWP0rSqFOltmzerkX5W7ol2zkWW5mx3Teuej MVN+O2RwgbSD2S0t1ymqM2iweisBBkXF2u7km3/AZJJI7Z1ZcANAHuvJMu+wpN/gYTsUjhW7 g3rHEsIjemufxfadFnhxUtIz01CqHqrgyax1Hp6mjszr4KQ0SvLzvj4ZRQOMXJMXngkhlDpc sCvl95Pek+uYkAykQe9o0PzxqxVvqN6emDVTV1FdjOwIWhoSKqYubeFZsNT8oImuC5LV/6tJ 1udT+21uAMUhgXkGWYW3zUnb3eqt5H+ygR9k36YJW1voWDxI4d1wkqAuprZTP9Vmz0bWG9/l zmRAFWgVzWw1fOTkZqL8uW3Vmb6E4ZWbTGu1oSY8i2y+WxtBxS72fG1gNzuVwYgg2f90JFxW CPEoQyZAMGj3rmmMe9hYkhjBUPto8t8FIZkl4IshZYWkXEEj5SR9HADnC/9K9Jeka75aXMMQ 3YMzbu3qEDs3kF5I3uSgYzwXG+c6sRsYNy3fnkH1Cs288dQGeGf67kF1Sp5r1ykrB7ANOBnl 2R4q7Nm43objucV/Qs1m3zCUvZJRg8CYHWqx0zbirL25L9ab2uub7WqgU93nNT6SaqHvhkZQ 3HhPJErAS536Mx7dlPKynz6rI/+K7yyJZoesAOZlxDYgq1bMpU0w7ADgyZ9NGvm+3MswfQ6p RNj2pS3oJKWJWxm4KWjE1hTMTi/NKZxsnn9yL1TmMqbxdXlF5NtADgCR93mRPiyERoduPPiO hqUATM1oWucA6uZFgiaohQDzTqHA9WgMHeZI2McxNNpSUyGJUBRtwsTWS0zgp8zEg3CKNXJV kB/63hR41f5rkAJ0ed0L1zkVX+Zog60azAyQZzZLRxM7wgE6V2HecqZpvl+GS1V5PjD5ESEN 3CbagJUDGoIRl3MBlbtOaOr7MXB9O7QD/S3Lv/Ha7GD4eJEUPLAyZWq24pgtzGCU6fHdnBkA +c201EFU3lzAcXxlDgITiELjTPDZsWHow2tvCZwq4H38fjmXh7u+ZraDrJTNdt1/BXl5MXLf +WUhSt/NXNZzsZVmi+Ok+NZhgNLzXE2JFzPWfwauCXATbzdgPpSBh8fMGZoMddQqrk7xk9LM NLajdX80vh5iOQ0AhFLTw+E+InhaMoULmW6LF6CClyMMeHMLDvH2cz+euWyQLdKjc1buhq1t CqBAkHqNSiEjSivXBeqe7Ip7mnTLFlFtYexfww4Q2HlQMjrYwb9PtZ9lzwezrAzg37WL38SO DNgdFlc6LaX6GkL55c3U3wE5X1jI+6eni+f5OSNMZcav8xgBSFsnv5b6nA3o1dMxAdDQvE92 C7br9o15kqjjvHK0T1/FhxHtjdMgouP+0RkI6TQsJdaCz7C+1oW4GOcBg5vxZMtA8Dzu61W1 tnElb7iYDZE/dXO+MIABs/SYMuZOXslOBDtFXbaFgwABTKsMGjegQRanpTwvjWNqYMmr5H3h JcUYuUdUVtoSa1cD01kGJkFPYsxWS0k17iWkI9A5HazqgXQWNQPvp3DUaH3Y72nIzKYgL9YI hoQlOqnfcJIbcuhhhUkOgEp+eaCU1DdVt1MvCB7Owo9oUEWtWN7UnV2wEX9LAWk/H4UE/ew2 B8wkAp3J+o3p1KOqx86IETHoCwonQw/g9Lg1HqYdjLrIa6rG49fATD1n0c8NZb2XxxkYwS5g Ut+JXHPQLcb3N4CPSh7zRTRv5dCA6sWVapffBoZ3u2afd1yl1Fb93r5g0pO5O+ADoZ+0gw0c diqom4KiGcBJJYlYKfXIqRO1F1ZgKmD6zSp2u4GywgbP08R8WmWdUbgWWRScLwhenX2uOll6 AjHnCZfPm8SV7wsr+44rivV1MyPwiXl3qJZO064PPCYNbLfsG/Fx5bgqrYY2U4PkkRZ56l42 Mw/dFCFEUsoyenJfyk=
- Ironport-sdr: X+HMX7J3IcM6aN7osjFLROrcPs1ysp8aVlNaGPDgOikiPwgFT3/ML5hTTJncNPPt9ELgk8T26M Ll3urwKKA7huO2CIgCMl0iqHJFXi6gJ/32NTRgUhm6XVZ10DMwL9S5B4+PiFBGWY90rjzTkhK2 JlLTv8faJxUrEf2ne61G4eVEC7DjajAsFGe6fhjkkk6445qxU5U+rPJQ33IbPHHSSOUfqfqb1W uDwSkdJOqH+mMV1UrciYPT+nIeCSxJAmPxtph5WPDWn5pxY8qvUzUA2m3acBoCAjmertIuC4Kn /xTCrvJ9F+JnumoxikYCbiNb
Hi Efi,
It would not be a mistake to document the value type of the OutputIterator here
Are there more functions like that?
Best,
Andreas
On 1/26/2022 8:29 AM, Efi Fogel
( via cgal-discuss Mailing List) wrote:
typedef
boost::variant<Vertex_handle, Halfedge_handle,
Face_handle> Zone_result;
std::list<Zone_result>
zone_elems;
zone(arr, seg,
std::back_inserter(zone_elems));
____ _ ____ _
/_____/_) o /__________ __ //
(____ (
( ( (_/ (_/-(-'_(/
_/
On Wed, 26 Jan 2022 at 01:14,
Marco Feder <>
wrote:
I’m sorry to post again, but I’ve not been able to find
the proper way to give that OutputIterator
argument.
I was thinking to use
std::back_inserter() like
this:
std::vector<?>
arr_vec;
auto
my_zone = CGAL::zone(arr,my_curve,std::back_inserter(arr_vec),pl);
The issue, again, is that I don’t know what is the
correct template for arr_vec.
Which one should I
use?
Marco
On 22 Jan 2022, at 14:04, Marco Feder <> wrote:
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 triangleinsert(arr, my_curve, pl);
// Compute the zone of the curvestd::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
--
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
-- Andreas Fabri, PhD Chief Officer, GeometryFactory Editor, The CGAL Project
- [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+.