Generates a signed distance field (or narrow band level set) to a single sphere.
More...
#include <openvdb/tools/LevelSetSphere.h>
template<typename GridT, typename InterruptT = util::NullInterrupter>
class openvdb::v12_0::tools::LevelSetSphere< GridT, InterruptT >
Generates a signed distance field (or narrow band level set) to a single sphere.
- Note
- The leapfrog algorithm employed in this class is best suited for a single large sphere. For multiple small spheres consider using the faster algorithm in tools/ParticlesToLevelSet.h
using TreeT = typename GridT::TreeType |
using ValueT = typename GridT::ValueType |
Constructor.
- Parameters
-
radius | radius of the sphere in world units |
center | center of the sphere in world units |
interrupt | pointer to optional interrupter. Use template argument util::NullInterrupter if no interruption is desired. |
- Note
- If the radius of the sphere is smaller than 1.5*voxelSize, i.e. the sphere is smaller than the Nyquist frequency of the grid, it is ignored!
GridT::Ptr getLevelSet |
( |
ValueT |
voxelSize, |
|
|
ValueT |
halfWidth, |
|
|
bool |
threaded = true |
|
) |
| |
|
inline |
- Returns
- a narrow-band level set of the sphere
- Parameters
-
voxelSize | Size of voxels in world units |
halfWidth | Half-width of narrow-band in voxel units |
threaded | If true multi-threading is enabled (true by default) |