Has anyone successfully compiled and used the Carve CSG library? I'm trying to use it in a project and I haven't been able to get it to work. Also, the documentation is pretty terrible. I've been looking at the Blender source and it appears to use Carve successfully, but I've been having trouble replicating it.
Here's the code I've been attempting to use, just to create a cube to use with 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);
It seems to be getting stuck on the last line, falling into a long-running loop, then seg-faulting.