【发布时间】:2014-09-19 13:47:14
【问题描述】:
我有一个 openvdb 网格,我想重置所有非背景体素的活动状态。
目前我正在使用一个运算符和函数 openvdb::tools::foreach 迭代所有值节点。 特别是我可能只想对给定边界框内的元素执行此操作
openvdb::CoordBBox myBoundingBox;
struct Activator {
static inline void op(const openvdb::FloatGrid::ValueAllIter& iter) {
if ( [not background] )
iter->setActiveState(myBoundingBox.isInside(iter->getCoord()));
}
};
// Apply the function to all values.
openvdb::tools::foreach(grid->beginValueAll(), Activator ::op);
1) 有没有更好的方法来打开/关闭所有这些体素?
2) 此外,可以快速设置为打开(或关闭)位于给定轴对齐边界框内且不是背景的所有体素?
例如
openvdb::tree::setActiveState(const CoordBBox &bbox, bool on)
【问题讨论】:
标签: c++ sparse-matrix voxel