OpenVDB  1.1.0
Classes | Namespaces | Enumerations | Functions
MeshToVolume.h File Reference
#include <openvdb/Types.h>
#include <openvdb/math/FiniteDifference.h>
#include <openvdb/math/Operators.h>
#include <openvdb/math/Proximity.h>
#include <openvdb/tools/LevelSetUtil.h>
#include <openvdb/tools/Morphology.h>
#include <openvdb/util/NullInterrupter.h>
#include <openvdb/util/Util.h>
#include <tbb/blocked_range.h>
#include <tbb/parallel_for.h>
#include <tbb/parallel_reduce.h>
#include <list>
#include <deque>
#include <limits>

Go to the source code of this file.

Classes

class  MeshToVolume< DistGridT, InterruptT >
 
struct  Tolerance< ValueType >
 
class  MeshVoxelizer< DistTreeT, InterruptT >
 TBB class object to voxelize a mesh of triangles and/or quads into a collection of VDB grids, namely a square distance grid, closest primitive grid and a intersecting voxels grid (the voxels intersect the mesh). More...
 
class  ContourTracer< DistTreeT, InterruptT >
 TBB Class object that slices up the volume into 2D slices that can be processed in parallel and marks the exterior contour of disjoint voxel sets in each slice. More...
 
class  IntersectingVoxelSign< DistTreeT >
 TBB Class object that traversers all the intersecting voxels (defined by the intersectingVoxelsGrid) and potentially flips their sign, by comparing the 'closest point' directions of outside-marked and non-intersecting neighbouring voxel. More...
 
class  IntersectingVoxelCleaner< DistTreeT >
 TBB Class object that removes intersecting voxels that where set by rasterizing self-intersecting parts of the mesh. More...
 
class  ShellVoxelCleaner< DistTreeT >
 TBB Class object that removes non-intersecting voxels that where set by rasterizing self-intersecting parts of the mesh. More...
 
class  ExpandNB< DistTreeT >
 TBB Class object to expand the level-set narrow-band. More...
 
struct  SqrtAndScaleOp< ValueType >
 
struct  VoxelSignOp< ValueType >
 
struct  TrimOp< ValueType >
 
struct  OffsetOp< ValueType >
 
struct  RenormOp< GridType, ValueType >
 
struct  MinOp< TreeType, ValueType >
 
struct  MergeBufferOp< TreeType, ValueType >
 

Namespaces

namespace  openvdb
 
namespace  openvdb::v1_1_0
 
namespace  openvdb::v1_1_0::tools
 
namespace  openvdb::v1_1_0::tools::internal
 

Enumerations

enum  { GENERATE_PRIM_INDEX_GRID = 0x1 }
 Conversion flags, used to control the MeshToVolume output. More...
 

Functions

template<typename DistTreeT , typename IndexTreeT >
void combine (DistTreeT &lhsDist, IndexTreeT &lhsIndex, DistTreeT &rhsDist, IndexTreeT &rhsIndex)
 
template<typename DistTreeT >
void surfaceTracer (const Coord &seed, DistTreeT &distTree, typename DistTreeT::template ValueConverter< bool >::Type &intersectionTree)
 Surface tracing method that flips the sign of interior marked voxels, will not cross the boundary defined by the intersecting voxels. More...
 
template<typename DistTreeT , typename InterruptT >
void propagateSign (DistTreeT &distTree, typename DistTreeT::template ValueConverter< bool >::Type &intersectionTree, InterruptT *interrupter=NULL)
 Does a sparse iteration on the distance grid to find regions with inconsistent sign information. The surfaceTracer method is then used to resolve the sign inconsistency in these regions. More...