OpenVDB  12.1.0
Public Member Functions | List of all members
DilatedMeshVoxelizer< GridType, ScalarType, InterruptT, PtPartition > Class Template Reference

Class used to generate a grid of type GridType containing a narrow-band level set representation of a dilated mesh (surface mesh dilated by a radius in all directions). More...

#include <openvdb/tools/impl/LevelSetDilatedMeshImpl.h>

Public Member Functions

 DilatedMeshVoxelizer (const std::vector< Vec3T > &vertices, const std::vector< Vec3I > &triangles, ScalarType radius, float voxelSize, float halfWidth, InterruptT *interrupter)
 Constructor for constant radius. More...
 
 DilatedMeshVoxelizer (DilatedMeshVoxelizer &other, tbb::split)
 
void operator() (const tbb::blocked_range< size_t > &rng)
 
void join (DilatedMeshVoxelizer &other)
 
Index64 bucketSize () const
 
Index64 cellSize () const
 
GridPtr getGrid () const
 

Detailed Description

template<typename GridType, typename ScalarType = float, typename InterruptT = util::NullInterrupter, bool PtPartition = true>
class openvdb::v12_1::tools::lvlset::DilatedMeshVoxelizer< GridType, ScalarType, InterruptT, PtPartition >

Class used to generate a grid of type GridType containing a narrow-band level set representation of a dilated mesh (surface mesh dilated by a radius in all directions).

Note
GridType::ValueType must be a floating-point scalar.
ScalarType represents the mesh vertex and radius type and must be a floating-point scalar.

Constructor & Destructor Documentation

DilatedMeshVoxelizer ( const std::vector< Vec3T > &  vertices,
const std::vector< Vec3I > &  triangles,
ScalarType  radius,
float  voxelSize,
float  halfWidth,
InterruptT *  interrupter 
)
inline

Constructor for constant radius.

Parameters
verticesvertices of the mesh in world units
trianglestriangle indices indices in the mesh
radiusradius of all faces in world units
voxelSizevoxel size in world units
halfWidthhalf-width in voxel units
interrupterpointer to optional interrupter. Use template argument util::NullInterrupter if no interruption is desired.
DilatedMeshVoxelizer ( DilatedMeshVoxelizer< GridType, ScalarType, InterruptT, PtPartition > &  other,
tbb::split   
)
inline

Member Function Documentation

Index64 bucketSize ( ) const
inline
Index64 cellSize ( ) const
inline
GridPtr getGrid ( ) const
inline
void join ( DilatedMeshVoxelizer< GridType, ScalarType, InterruptT, PtPartition > &  other)
inline
void operator() ( const tbb::blocked_range< size_t > &  rng)
inline