我有一个由4(x,y,z)点定义的四边形(就像一个有边的平面)。我有一个OpenVDB网格。我想要填充四边形(包括边缘)内的值为1的所有体素。手动设置四边形(有限平面)的每个体素是否可以这样做?
答案 0 :(得分:0)
如果四个点构建一个矩形,则可以使用
void fill(const CoordBBox& bbox, const ValueType& value, bool active = true);
Grid
- 类中存在的函数。无法转换CoordBBox
进行旋转,而是必须通过更改网格的转换来实现。使用伪代码,它可能看起来像
CoordBBox plane; // created from your points
Transform old = grid.transform();
grid.setTransform(...); // Some transformation that places the grid correctly with respect to the plane
grid.fill(plane, 1);
grid.setTransform(old);
如果不是这种情况,则必须自己设置值。