OpenVDB  6.2.0
Classes | Namespaces | Functions
TopologyToLevelSet.h File Reference

This tool generates a narrow-band signed distance field / level set from the interface between active and inactive voxels in a vdb grid. More...

#include "LevelSetFilter.h"
#include "Morphology.h"
#include "SignedFloodFill.h"
#include <openvdb/Grid.h>
#include <openvdb/Types.h>
#include <openvdb/math/FiniteDifference.h>
#include <openvdb/util/NullInterrupter.h>
#include <tbb/task_group.h>
#include <algorithm>
#include <vector>

Go to the source code of this file.

Classes

struct  DilateOp< TreeT >
 
struct  ErodeOp< TreeT >
 
struct  OffsetAndMinComp< TreeType >
 

Namespaces

 openvdb
 
 openvdb::v6_2
 
 openvdb::v6_2::tools
 
 openvdb::v6_2::tools::ttls_internal
 

Functions

template<typename GridT >
GridT::template ValueConverter< float >::Type::Ptr topologyToLevelSet (const GridT &grid, int halfWidth=3, int closingSteps=1, int dilation=0, int smoothingSteps=0)
 Compute the narrow-band signed distance to the interface between active and inactive voxels in the input grid. More...
 
template<typename GridT , typename InterrupterT >
GridT::template ValueConverter< float >::Type::Ptr topologyToLevelSet (const GridT &grid, int halfWidth=3, int closingSteps=1, int dilation=0, int smoothingSteps=0, InterrupterT *interrupt=nullptr)
 Compute the narrow-band signed distance to the interface between active and inactive voxels in the input grid. More...
 
template<typename GridType , typename InterrupterType >
void normalizeLevelSet (GridType &grid, const int halfWidthInVoxels, InterrupterType *interrupt=nullptr)
 
template<typename GridType , typename InterrupterType >
void smoothLevelSet (GridType &grid, int iterations, int halfBandWidthInVoxels, InterrupterType *interrupt=nullptr)
 

Detailed Description

This tool generates a narrow-band signed distance field / level set from the interface between active and inactive voxels in a vdb grid.

Example:
Combine with tools::PointsToVolume for fast point cloud to level set conversion.