Closed vanlankveldthijs closed 5 years ago
Hi Thijs! you need exact constructions for doing Boolean operations so it is expected not to work with EPICK. Note that even the do-intersect for polygons that is based on arrangement requires exact constructions (at least for the moment).
Hey Sebastien, That's unfortunate, especially for the non-general polygon sets. I guess I can put something together myself based on a CDT then :-)
I didn't see the EPECK restriction mentioned in the manual. Did I miss it, or is it not mentioned?
On Thu, 7 Nov 2019 at 16:28, Sebastien Loriot notifications@github.com wrote:
Hi Thijs! you need exact constructions for doing Boolean operations so it is expected not to work with EPICK. Note that even the do-intersect for polygons that is based on arrangement requires exact constructions (at least for the moment).
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/CGAL/cgal/issues/4349?email_source=notifications&email_token=ACWWU5PFT4M23N3G3HOI3UTQSQX27A5CNFSM4JKGYTFKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDMYYTI#issuecomment-551128141, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACWWU5NVZN2WOSDJLZE7Q2DQSQX27ANCNFSM4JKGYTFA .
The decision whether to use EPEC or EPEC solely has to do with whether constructions of geometric objects occurs during the computation. The union of two polygons may result with a polygon that has new points, so surely you need EPEC. Indeed, all the examples all use EPEC, and for a good reason.
Sebastien mentioned that the do-intersect() operation also needs EPEC, even though the result (either true or false) has nothing to do with constructions of geometric objects. However, intermediate results (which are discarded) do include new geometric objects, and I guess this should be explicitly indicated, until the situation is reverted...
//) o /__ // (__ ( ( ( (/ (/-(-'(/ /
On Thu, 7 Nov 2019 at 17:57, Thijs van Lankveld notifications@github.com wrote:
Hey Sebastien, That's unfortunate, especially for the non-general polygon sets. I guess I can put something together myself based on a CDT then :-)
I didn't see the EPECK restriction mentioned in the manual. Did I miss it, or is it not mentioned?
On Thu, 7 Nov 2019 at 16:28, Sebastien Loriot notifications@github.com wrote:
Hi Thijs! you need exact constructions for doing Boolean operations so it is expected not to work with EPICK. Note that even the do-intersect for polygons that is based on arrangement requires exact constructions (at least for the moment).
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub < https://github.com/CGAL/cgal/issues/4349?email_source=notifications&email_token=ACWWU5PFT4M23N3G3HOI3UTQSQX27A5CNFSM4JKGYTFKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDMYYTI#issuecomment-551128141 , or unsubscribe < https://github.com/notifications/unsubscribe-auth/ACWWU5NVZN2WOSDJLZE7Q2DQSQX27ANCNFSM4JKGYTFA
.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/CGAL/cgal/issues/4349?email_source=notifications&email_token=ABVBNOB4JX5OV5722INW6S3QSQ3EZA5CNFSM4JKGYTFKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDM4BTA#issuecomment-551141580, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABVBNOCU3KUKEQKGPJEOXOTQSQ3EZANCNFSM4JKGYTFA .
Thanks for the detailed explanation. I understand that there are good reasons for the restriction to EPEC. I originally hoped that these intersections could be constructed similar to the intersections created by Constrained_traingulation_2 with the Exact_predicates_tag intersection tag.
While you convinced me that EPEC is required, I feel like this should be mentioned in the user manual and/or reference manual.
Sorry for continuing this closed thread...
Issue Details
Joining polygon Q in example Boolean_set_operations_2/sequence.cpp throws precondition failure when using EPICK instead of EPECK. Note that this example only uses simple linear line-segment polygons, so EPICK seems appropriate.
Environment