gpt4 book ai didi

c++ - 如何填充给定平面内的 OpenVDB 体素?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:46:11 26 4
gpt4 key购买 nike

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

最佳答案

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

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

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

关于c++ - 如何填充给定平面内的 OpenVDB 体素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37973439/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com