プロセス (C++) 間で CGAL のジオメトリを送信する最速の方法を探しています。A と B の 2 つのプロセスがあるとします。プロセス A はジオメトリを生成し、プロセス B はそれを表示しています。利用可能な最速の方法でそれらを接続したい。ジオメトリは CGAL 多面体タイプです。
共有メモリを使用できることはわかっていますが、いくつか問題があります。
- プロセス A から共有メモリにジオメトリをコピーしたい場合、オフ形式との間でストリーミング多面体を使用できますが、この形式への変換は私の目的には遅すぎるため、興味がありません。
- 共有メモリを作成し、「placement new」を使用して共有メモリ内にオブジェクトを作成し、ストリーミングと変換のオーバーヘッドを克服できますが、内部多面体関数によるメモリ割り当てをそれ以上制御することはできません。(たとえば、Polyhedron_incremental_builder_3 で新しい頂点を追加する場合、メモリ内のどこに配置するかを正確に指定することはできません。B.add_vertex( Point( 0, 0, 0)) を呼び出すだけで済み、メモリ割り当てはそのメソッドで処理されます。初めの)
共有メモリ内の特定の場所にオブジェクトを作成し、それとその動的構造がこのメモリ内で「生きている」ことを確認する方法はありますか?
それとも、2 つのプロセス間で動的データ (つまり、Halfedge 構造) を共有する別の高速な方法があるのでしょうか?