我正在寻找在进程之间发送 CGAL 几何的最快方法(C++)。假设我们有 2 个进程 - A 和 B。进程 A 正在生成几何图形,进程 B 正在显示它。我想以最快的方式连接它们。几何形状为 CGAL 多面体类型。
我知道我可以使用共享内存,但是我遇到了一些问题:
- 当我想将几何图形从进程 A 复制到共享内存时,我可以使用流式多面体到/从 OFF 格式,但我对此不感兴趣,因为转换到这种格式对于我的目的来说太慢了。
- 我可以创建共享内存并使用“placement new”在共享内存中创建我的对象并克服流式传输和转换的开销,但是我无法通过内部多面体函数进一步控制内存分配。(例如,当使用 Polyhedron_incremental_builder_3 添加新顶点时,我无法指定它应该放置在内存中的确切位置 - 我可以调用 B.add_vertex( Point( 0, 0, 0)); 并且在该方法中处理内存分配内部)
有没有办法在共享内存的特定位置创建对象并确保它及其动态结构将“存在”在该内存中?
或者也许还有另一种在两个进程之间共享动态数据(即半边结构)的快速方法?