2

我有一个由 4 个 (x,y,z) 点定义的四边形(就像一个有边的平面)。我有一个 OpenVDB 网格。我想用值 1 填充我的四边形(包括边缘)内的所有体素。如果不手动设置四边形(有限平面)的每个体素,这样的事情可能吗?

4

1 回答 1

0

如果四个点构成一个矩形,则可以使用

void fill(const CoordBBox& bbox, const ValueType& value, bool active = true);

Grid-class中存在的函数。无法转换CoordBBoxfor 旋转,而是必须通过更改网格的转换来做到这一点。使用伪代码它可能看起来像

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);

如果不是这种情况,则必须自己设置值。

于 2016-07-23T01:23:56.050 回答