Subject: CGAL users discussion list
List archive
- From: Julien JPK <>
- To:
- Subject: [cgal-discuss] Documentation on connecting user data to kernel structures
- Date: Wed, 9 Oct 2019 17:58:16 +0200
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Autocrypt: ; prefer-encrypt=mutual; keydata= mQENBFPfjFMBCADaC37ZUaa9hXEwbfgUcOYq7BO1oCEBpt9/PiyJsI7ktl33jiBfQhNTEVI8 90bw+N5Sn4WRXukU6e/GyWk7R1eENEDjnLcesjuS14u+JHtPAjnJnN32YvK0cvC6JyU/9pzA 3Vww9YF/FDeGHS4seBbH8QQw5wNupB4sj4EGbDtlKhtWg/NixExorrZXWdIclnG+9ZxyR058 yA3OveUAG41MswgpCFsk0GFro7RCT8NFZXdc7csPdzGYyZ8KaQpLkJjZx6+jfykXb1Y0+GV6 MYb30ULDUw8IzHxFwSA8p4w6LQPNvBgNzqqAegZW+Yxn/rCq+MynJ+XHn7MDPxohX7xHABEB AAG0JEp1bGllbiBLcml0dGVyIDxqdWxpZW5qcGtAZW1haWwuY29tPokBVQQTAQgAPwIbAwYL CQgHAwIGFQgCCQoLBBYCAwECHgECF4AWIQQASOjcMnb6wPOpG+w3DpO6wwdaWAUCXDTICAUJ Ci00tQAKCRA3DpO6wwdaWHLtB/4jHJpnpX4GrST5fmfckxzroAsjyRsVxBIQgGL9uCUnM6yS vkalaObx3mOUa6bGyGky0tPdVz3B3AG/6qNKX9LV5v3eTPaBPNcP+OKgEi7ACc7T+0lboYA/ XVNcBrF0TYoWR9K61EuQyHqF9Yy8QQM4DvHBoEkcATWb3+HSg+lDGeuvkTF06FkZITCdldkL gWN203EciNCtB0TG5USpBGtrggIOfW2ar+9fd0Bsdk36aPjjCCIWMHVsYeX3xVKZZIoXrCQX qDraNo8hWR+WRx4AoARdtZq/zkr5KGnP2B28BOn0lZRE7gRO9pvuaIW2TsIU3Egrhju7aPli 5FwSgW+4uQENBFPfjFMBCADClqwQsgJwymwIx9kM1vfBzn+1bK9C9/Kgh+eApQPyrzuVzJ1R 5la7oU6Xl6KybmFXtmJkogfMEOuTeQYzsNsmrtQ8ceszsJA03kSkUcAfNg5RnJcYDs5UQtZ5 WVM5fvTRKo0CmsIAi/52x3bSEBRzlk1F0rqkN7LH0kTYRTW+doIs+IPE0oQNnPXtHSu/nIYI EUfuCPLJcmwT9H+ow9g/ShW93JEmWFbHHRoC1H7XriJpCHNkhSjXoWAkBlffTJYFDOoj6UD7 oA7U8iFOg4yxGNuH78Ncd2L09AjKxz2djVWIzgwO/syY40r/GR0D2nSUwvAFsdQqHZ8Y8yTE 4PQPABEBAAGJATwEGAEIACYCGwwWIQQASOjcMnb6wPOpG+w3DpO6wwdaWAUCXDTIIQUJCi00 zgAKCRA3DpO6wwdaWHJZCAC7ujdn52jm/G96wX25dK+NOvDAoAgHCD/OQ87aW9//4tPd24Eh MkHNjO9QVo7J2WzvoPZPel1Q6VORK10pRJtAx33BZGxEx1Ij6KMMAvTD0jFRUyaeWKgOQ5Pj WZWRvyR57d2QIa5G/T1WrsAsgzf8ZB+6syaVeTAS4M/uoUZx4rwT4uiDIf9lsbX2RncwB8AC 1YPnA1o+rmOIgLmVw3qXnjX/CclVPL8pOEiosZEQZv6tLPRST0vxSeIf2n4xtAfac3HIQx71 Za3IJNRZKd+hvIEGTS1gKmQf6OwFLU+C++jUTcio/QtJz9PdT9YJC60MXmH/wsSot0YJ9pF6 3T8q
- Ironport-phdr: 9a23:jU/KIhe6sMBcQ4uqvY3s4+lilGMj4u6mDksu8pMizoh2WeGdxcu/bR7h7PlgxGXEQZ/co6odzbaP6Oa+ACdfuN6oizMrSNR0TRgLiMEbzUQLIfWuLgnFFsPsdDEwB89YVVVorDmROElRH9viNRWJ+iXhpTEdFQ/iOgVrO+/7BpDdj9it1+C15pbffxhEiCCybL9vIhi6twTcutQZjYZgN6o61wfErGZPd+lK321jOEidnwz75se+/Z5j9zpftvc8/MNeUqv0Yro1Q6VAADspL2466svrtQLeTQSU/XsTTn8WkhtTDAfb6hzxQ4r8vTH7tup53ymaINH2QLUpUjms86tnVBnlgzoBOjUk8m/Yl9ZwgbpFrhyhuhJxwIDab4+aO/ViZa7dcs8WSHBGUMpNWSFMAIWxZJYPAeobOuZYqpHwqV8TrRu6BAmjGuXvwSJMiHHs2KMxzuMsEQPb3AwkHtIBrnLUrNftNKcRSu260qzIwi/Cb/NSwzvy9I/IchU4rPyKQLl+f83RyUw1GAPEiFWdsZDqPzyP2eQJqWSb6PBgVe23h2E8rAFxpSOvxts2honOnIIVxVbJ/jh6zoYtPdC1SkF2bcS6HJdMtCyWLYR7Ttk8T210pCo20qAKtJ6mcCQQ1Zgr2RzSZ+aJfoWG+B7vSfidLSp+iXl4YrywnQyy/lKlyuDkVsm7zlJKri1dn9nJsXANygDT5tKISvt48UatwyqA1wfW6u1cIEA0k7TUK4I5z7MymZcfq1rPEjP1lUnsg6KabFso9vS05+j/Z7XpvJ6cN4t6igHkNaQun9SyAeYlMggKXmiU5+K81L/7/U36W7hFkPg2nbPYsJDeP8gUuqm5AwpN3oY59xm/Fyum0MgfnXQfMF1FdwiIj4zwN17TIfD4Fuuwg0m3kDdw3P3GJb3gApDVLnfZirvhfLB961RdyAUp19xf6YhUWfk9J6f4VUb18dDZFRQkKBecwuD9Cdw72JlNd3iIB/q7LafTvFnAxNoMa72OeYsUtTD/M/sN6vvnjHt/klgYK/r6laALYWy1S6w1a36SZmDh149YQDU6+zEmRemvs2WsFDtaZnK8RaU5v2hpBYevDIOFTYeo0uXYgXWLW6ZOb2UDMWiiVHflc4LdB6UJbz+OZMBkgnoPUr3zE9Z9hyHrjxfzzv9cFsSR4jcR7Mux2d185umVnhY3p2R5
Hello,
I'm having a hard time figuring out how to do a seemingly simple thing
in CGAL: I would like to associate POD content to some kernel
structures, namely points and segments. I don't really mind if this
involves actually extending the structures or having a map of some sort,
but I would like to connect my points and segments to some additional
data such that it is quickly retrievable from its kernel object.
I gave a shot at the obvious "just extend it" approach on K::Point_2 for
a Cartesian kernel, to no avail: when I attempt to compile a call to
convex_hull_2 using iterators to my derived type, an assignment operator
from K::Point_2 is requested, which suggests inheritance isn't the right
tool here...
After some digging, I came across extensible kernels [1] but I cannot
shake the feeling that there must be a much simpler way when the kernel
extension is all about POD structures being added and no functionality
being altered or concept broken... In Boost.Geometry for example, this
is easily achieved using BOOST_GEOMETRY_REGISTER_POINT_2D, although in
this case the dependency with the original kernel structures is not
really present [2].
Could someone put me on the right track for this?
Thank you in advance,
Regards,
J.
[1]: https://doc.cgal.org/latest/Kernel_23/index.html
[2]:
https://www.boost.org/doc/libs/1_61_0/libs/geometry/doc/html/geometry/reference/adapted/register/boost_geometry_register_point_2d.html
Attachment:
signature.asc
Description: OpenPGP digital signature
- [cgal-discuss] Documentation on connecting user data to kernel structures, Julien JPK, 10/09/2019
Archive powered by MHonArc 2.6.18.