2

2Dジオメトリに関連していると誤解されていた以前の質問を続けて、満足のいく答えが得られなかった(C++のプロセス間でCGALのジオメトリを共有する)もう一度質問したいのですが、今回はきちんと、強調して話しています3D Cgals 多面体ジオメトリについて。

CGAL のマニュアルで、HalfedgeDS をインスタンス化できることを読みました。他のプロセスが使用できるように共有メモリに配置したい(スレッドではなくプロセス間で共有する必要があることに注意してください)。私のニーズに合ったカスタムアロケーターを作成して、Allocパラメーターとして配置するにはどうすればよいですか? また、他のパラメータ (「Traits」と「Items」) についてはどうでしょうか? 通常、トップ レベル クラスのみを使用する場合は気にする必要はありません。以下に、CGAL マニュアルで見つけた最も興味深いフラグメントを投稿します。これは役立つと思います。

HalfedgeDS はクラス テンプレートであり、CGAL::Polyhedron_3 などの他のクラス テンプレートの引数として使用されます。HalfedgeDS をインスタンス化するためのテンプレート パラメーターは、この他のクラス テンプレートによって提供されます。したがって、3 つのテンプレート パラメータとその意味は必須です。テンプレート HalfedgeDS とそのインスタンス化を区別します。

3D ジオメトリに関連するソリューションのみに関心があることに注意してください。

4

1 に答える 1

1

Polyhedron クラスでデフォルトで使用されるCGAL::HalfedgeDS_listの使用に興味があると思います。HalfedgeDS コンセプトのすべてのモデルとして、テンプレート パラメーターとしてアロケーターを持っています。

次に、共有メモリ アロケータ ( boost interprocess allocatorなど) を使用すると、その作業が行われます。

于 2012-10-10T08:08:43.693 に答える