Subject: CGAL users discussion list
List archive
- From: Sebastien Loriot <>
- To:
- Subject: Re: [cgal-discuss] Can't call CGAL::intersection() function
- Date: Mon, 21 Feb 2022 09:08:49 +0100
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-data: A9a23:X5WWF6jC9/3nraEitJEh65A4X161XhYKZh0ujC45NGQN5FlHY01je htvXm6PP/rZazegfN1xa42zoRlUvcWGzoI2HgBt/3hhFS9jpJueD7x1DG+gZnLIdpWroGFPt phFNIGYdKjYaleG+39B55C49SEUOZmgH+a6UKidUsxIbVcMpB0J0HqPoMZkxN446TSFK1nV4 4mq+ZeGYAbNNwNcawr41YrT8HuDg9yp4Fv0jnRmDRyclAK2e9E9VfrzFInpR5fKatE88t2SG 44v+IqEElbxpH/BPD8KfoHTKSXmSpaKVeSHZ+E/t6KK2nCurQRquko32WZ1hUp/0120c95NJ NplnoSKEDUCI+73uqcwCUB9Qz1GB40Y5+qSSZS/mZT7I0zudnLtx7BxCRhzM9FCvOlwBm5K+ LoTLzVlghKr3brnhuLmDLA21oJ/dqEHP6tH0p1k5SrdCuwnRoyFRqHi6tpR3TN2jcdLdRrbT 5BDMmc1NU2aC/FJEgYvMZQRuOGMuiP6bgFar2CsivYr5FGGmWSd15C0aIaPEjCQfu1ekU+c4 27H5G/kGQoyL82a0TPD83S2h+aJkzmTZW4JPLix9/ovn1jKg2JPUlsZUly0pfT/gUm7Mz5CF 6AK0gE2l/EA31Hodfu+ckfhhS6YhiQ8BcUFRoXW9zqx4qbT5g+YAE0NQThAdMEquacKqdoCh gHhczTBVWwHjVGFdZ6O3uzL8m7qaED5OUdHNHBUF1JUizX2iNhr1kqnczp1LEKiYjTI9dzYx jmLqG0hguxWg5JRkaq8+l/DjnSnoZ2hou8JCuf/DjLNAuBRPtbNi2mUBb7zs64owGGxEALpg ZT8s5LChN3i9LnU/MB3fM0DHauy+9GOOyDGjFhkEvEJrmrxpiXzJNAIuGogfC+F1/ronxe5P ic/XisBtPdu0IeCMMebnqrtUZ1xlfG4fTgbfqmMMYIfCnSOSON31Hg2ORT4M5HFn08rnqUyU ap3gu79ZUv2/Z9PlWLsL89EieFD7nlnnQv7HMmnpzz6j+f2TCPKEd8tbQrWBshkvfjsiFiEo 753aZHVoz0BC7aWSneMoeYuwaUidydT6Wbe8JwJKIZu42NORAkcNhMm6el/I9c8x/wNzI8lP BiVAydl9bY2vlWfQS3iV5ypQOqHsU9XoS1pMCoyE0yv3nR/M4+j4L1OJZQydLgjsudkyKcsH fUCfsyBBNVJSyjGq2xNN8mj8NQ6eUT5nx+KMgqkfCM7IMxtSgnPzdnuIVni+SwIOSyouJZsu LanzA7aHcEOSl06XsbbYf6i1X2run0ZlL4gVkfEOIgBd0Dl8YwsICv016dlL8YJIBTF5z2by wfGWUdC9beR+9c4qYCbi7qFooGlF/pFMnBbR2SLv6yrMST6/3a4xdASXeuNewfbXjym9ainY 9JT0KigYvAKmVB9s718Haxu+qQw6oa9vLRd1AllQCzGYln3WLNtJn6KgZtGuqFXnOQLvAK3X geQ/4AfN+nTfsziF1EVKUwuaeHajaMYnTzb7PIUJkTm5X8ooODWDx0KZxTc2jZAKLZVMZ8+x btzssAh7QHi2AEhNcyLj3wJ+mnQfGYMVb4r6sMTDIPx0FF5z1hDZdnDD3az7s3VLdpLNUYuL 3mfg6+b3+ZQwU/LcnwSE3nR3LoC2c5f5kgSlFJSdU6Untflh+Ms2EED+zoASAkInA5M1Ph+O zQ2OkB4TUlUE+yEWCSes6GQ9wB96Nmx/0Xwzx4WkTScQRXyEGPKK2I5NKCG+0VxH6ewuNRE1 Onw9YoneW+CkALNMu8aVktsqvilRtt0nuEHsN7yBNyLRvHWfhK86pJDpgM0R9/PDsY4hUmBr u5vlAq1hWsXKgZIy5AG50KmOXj8hfxKyKGugR2swU/RIVzhRQ==
- Ironport-hdrordr: A9a23:v3qJIqvnuttTmFoinlliLbEM7skDVdV00zEX/kB9WHVpm7+j5q aTdZMgpGPJYVcqKQwdcLW7UpVoLkmsl6KdjbNhRotKGTOWwldAT7sSiLcKoQeQeBEWn9Q1vc wBT0E9MqyJMbETt6fHCWKDYrEdKbe8gdmVbKvlvhNQpMJRB52ILT0VNu9WKCJLrcB9a6YEKA ==
- Ironport-phdr: A9a23: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 Rk5jgY4auMopm+E3g==
- Ironport-sdr: UKCzCqblnHEbAwY+OF5NXYH4Hgw2u13fLQrmy8xPGR2GLwkjw5pkJrU70uW7sl/RCzT4xEepII cwSFAeQ0h3o9fjw74q8iVqCx0Yst1pUn7W5ojRPM1ZODW6OOuBFTZWC51iAw3AC8kWoY4iKjFM qhTMZlR7vv21X2PD64I8CDlVryDKG7ckylbEBPBlqp4YcCBmkAbFp+OUHHLlwrXKistVTD+oCu yt6eoPRHjZR/x3oYbpJvcgFWu/uiN/aFE0dvTAsyY5kE6U1RBPjliLCaBbzwY/pA/rCjrWf/fI jwGbWriSTiuetNgAfhaF1xkS
On this page, there are 3 examples of how to deal with output of intersection function:
https://doc.cgal.org/latest/Kernel_23/group__intersection__linear__grp.html
Maybe the second one (apply_visitor) will better fit your need
(using a template operator()).
Best,
Sebastien.
On 2/21/22 00:58, Bob Bill ( via cgal-discuss Mailing List) wrote:
Thanks for your prompt reply, Marc!
Okay, I got what the problem is. However, I don't see how to dispatch "automatically". I mean, how can I get the actual type of ´first´ in order to pass it as an argument of the proper type to CGAL::intersection() ?
I cannot do something like:
if (const Segment *s = boost::get<Segment>(&first)) {
Segment first_s = *s;
} else if (const Rectangle *p = boost::get<Rectangle>(&first)) {
Rectangle first_r = *p;
} else if (const Triangle *t = boost::get<Triangle>(&first)) {
Triangle first_t = *t;
}
because in this way I will not be able to pass the original `first`. This is the first time I'm using boost libraries, so I'm really sorry if that's a trivial question.
Best,
Bob
Il domenica 20 febbraio 2022, 21:14:43 CET, Marc Glisse <> ha scritto:
On Sun, 20 Feb 2022, Bob Bill wrote:
> I am facing the following problem: I have two 2D objects. Each one could be a triangle, a rectangle or a segment, and I need to compute their intersection using CGAL::intersection().
> So I created a function `create_suitable_object` that takes the vector with the vertices and create the corresponding CGAL object. As the return type is not unique, I used `boost::variant`.
> Then in my main I created the two objects calling the above mentioned function for each vector of vertices, and then I wanted to pass those objects to CGAL::intersection().
Where in the documentation did you see that it was ok to pass a variant to
CGAL::intersection? As far as I can see, it only lists overloads like
intersection(segment, triangle), etc, so you need to handle the
dispatching yourself.
--
Marc Glisse
--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss <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] Can't call CGAL::intersection() function, Bob Bill, 02/20/2022
- Re: [cgal-discuss] Can't call CGAL::intersection() function, Marc Glisse, 02/20/2022
- Re: [cgal-discuss] Can't call CGAL::intersection() function, Bob Bill, 02/21/2022
- Re: [cgal-discuss] Can't call CGAL::intersection() function, Sebastien Loriot, 02/21/2022
- Re: [cgal-discuss] Can't call CGAL::intersection() function, Bob Bill, 02/21/2022
- Re: [cgal-discuss] Can't call CGAL::intersection() function, Sebastien Loriot, 02/21/2022
- Re: [cgal-discuss] Can't call CGAL::intersection() function, Bob Bill, 02/21/2022
- Re: [cgal-discuss] Can't call CGAL::intersection() function, Marc Glisse, 02/20/2022
Archive powered by MHonArc 2.6.19+.