Carve CSG ライブラリのコンパイルと使用に成功した人はいますか? プロジェクトで使用しようとしていますが、機能させることができませんでした。また、ドキュメントはかなりひどいです。Blender のソースを調べたところ、Carve がうまく使用されているように見えますが、複製に問題がありました。
Carveで使用するキューブを作成するためだけに、私が使用しようとしているコードは次のとおりです。
std::vector<carve::geom3d::Vector> vertices;
vertices.push_back(carve::geom::VECTOR(+1.0, +1.0, +1.0));
vertices.push_back(carve::geom::VECTOR(-1.0, +1.0, +1.0));
vertices.push_back(carve::geom::VECTOR(-1.0, -1.0, +1.0));
vertices.push_back(carve::geom::VECTOR(+1.0, -1.0, +1.0));
vertices.push_back(carve::geom::VECTOR(+1.0, +1.0, -1.0));
vertices.push_back(carve::geom::VECTOR(-1.0, +1.0, -1.0));
vertices.push_back(carve::geom::VECTOR(-1.0, -1.0, -1.0));
vertices.push_back(carve::geom::VECTOR(+1.0, -1.0, -1.0));
std::vector<int> f;
int numfaces = 6;
f.push_back(4);
f.push_back(0);
f.push_back(1);
f.push_back(2);
f.push_back(3);
f.push_back(4);
f.push_back(7);
f.push_back(6);
f.push_back(5);
f.push_back(4);
f.push_back(4);
f.push_back(0);
f.push_back(4);
f.push_back(5);
f.push_back(1);
f.push_back(4);
f.push_back(1);
f.push_back(5);
f.push_back(6);
f.push_back(2);
f.push_back(4);
f.push_back(2);
f.push_back(6);
f.push_back(7);
f.push_back(3);
f.push_back(4);
f.push_back(3);
f.push_back(7);
f.push_back(4);
f.push_back(0);
carve::mesh::MeshSet<3> *poly = new carve::mesh::MeshSet<3> (vertices, numfaces, f);
最後の行で行き詰まり、長時間ループに陥り、セグフォルトが発生しているようです。