【发布时间】:2012-10-09 20:04:40
【问题描述】:
我想继续我之前的问题,该问题被误解为与 2D 几何有关,因此我没有得到令人满意的答案 (Share CGAL's geometry between processes in C++) 并再次询问,但这一次正确地强调,我在谈论3D Cgals 多面体几何。
在 CGAL 手册中,我读到可以实例化 HalfedgeDS。我想将它放在共享内存中,以便其他进程可以使用它(请注意,它必须在进程之间共享,而不是线程之间)。如何制作适合我需要的自定义分配器,以便我可以将其作为 Alloc 参数?还有其他参数——“Traits”和“Items”——通常你不必担心只使用顶级类。下面我发布了我在 CGALs 手册中找到的最有趣的片段,我认为这可能会有所帮助:
HalfedgeDS 是一个类模板,将被使用 作为其他类模板的参数,例如 CGAL::Polyhedron_3。 用于实例化的模板参数 HalfedgeDS 将由这个其他类提供 模板。因此,三个模板参数及其含义 是必须的。我们区分模板 HalfedgeDS 及其实例化。
请注意,我只对与 3D 几何相关的解决方案感兴趣。
【问题讨论】:
标签: c++ geometry ipc shared-memory cgal