gpt4 book ai didi

c++ - 如何在共享内存中分配 CGAL Halfedge 结构?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:30:37 25 4
gpt4 key购买 nike

我想继续我之前的问题,这个问题被误解为与 2D 几何相关,结果我没有得到令人满意的答案(Share CGAL's geometry between processes in C++)并再次提问,但这次正确地突出显示,我在谈论3D Cgals 多面体几何。

在 CGAL 手册中,我读到可以实例化 HalfedgeDS。我想将它放在共享内存中,以便其他进程可以使用它(请注意,它必须在进程之间共享,而不是在线程之间共享)。如何制作适合我需要的自定义分配器,以便我可以将其作为 Alloc 参数?还有其他参数——“Traits”和“Items”——通常当你只使用顶级类时你不必担心它。下面我发布了我在 CGAL 手册中找到的最有趣的片段,我认为它可能会有帮助:

A HalfedgeDS is a class template and will be used as argument for other class templates, for example CGAL::Polyhedron_3. The template parameters to instantiate the HalfedgeDS will be provided by this other class template. Therefore, the three template parameters and their meaning are mandatory. We distinguish between the template HalfedgeDS and an instantiation of it.

请注意,我只对与 3D 几何相关的解决方案感兴趣。

最佳答案

我猜你有兴趣使用 CGAL::HalfedgeDS_list ,这是 Polyhedron 类默认使用的。作为 HalfedgeDS 概念的所有模型,它有一个分配器作为模板参数。

然后使用共享内存分配器(如 boost interprocess allocator)就可以完成这项工作。

关于c++ - 如何在共享内存中分配 CGAL Halfedge 结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12807616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com