我正在尝试创建一个 API 来使用 openVDB 网格,并且我想创建方法来执行 2 个网格的并集、差异和交集。但是当我使用 openvdb 的 csg 操作时,什么也没有发生。我只使用合并方法实现了联合,该方法没有其他操作的等价物。
openvdb::FloatGrid::ConstPtr
copyOfGridA = grid->deepCopy(),
copyOfGridB = vdb->deepCopy();
auto res = grid->deepCopy();
openvdb::tools::csgDifference(*res, *vdb);
// Restore the original grids.
grid = copyOfGridA->deepCopy();
vdb = copyOfGridB->deepCopy();
return res;
这是我尝试做的方式。