OpenVDB 12.1.0

Loading...
Searching...
No Matches
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.
| 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() [1/2]

template<typename GridType, typename ScalarType = float, typename InterruptT = util::NullInterrupter, bool PtPartition = true>

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

  vertices | vertices of the mesh in world units
  triangles | triangle indices indices in the mesh
  radius | radius of all faces in world units
  voxelSize | voxel size in world units
  halfWidth | half-width in voxel units
  interrupter | pointer to optional interrupter. Use template argument util::NullInterrupter if no interruption is desired.

## ◆ DilatedMeshVoxelizer() [2/2]

template<typename GridType, typename ScalarType = float, typename InterruptT = util::NullInterrupter, bool PtPartition = true>

DilatedMeshVoxelizer | ( | DilatedMeshVoxelizer< GridType, ScalarType, InterruptT, PtPartition > & | other,
|  | tbb::split | )
| inline

## Member Function Documentation

## ◆ bucketSize()

template<typename GridType, typename ScalarType = float, typename InterruptT = util::NullInterrupter, bool PtPartition = true>

Index64 bucketSize | ( |  | ) | const
| inline

## ◆ cellSize()

template<typename GridType, typename ScalarType = float, typename InterruptT = util::NullInterrupter, bool PtPartition = true>

Index64 cellSize | ( |  | ) | const
| inline

## ◆ getGrid()

template<typename GridType, typename ScalarType = float, typename InterruptT = util::NullInterrupter, bool PtPartition = true>

GridPtr getGrid | ( |  | ) | const
| inline

## ◆ join()

template<typename GridType, typename ScalarType = float, typename InterruptT = util::NullInterrupter, bool PtPartition = true>

void join | ( | DilatedMeshVoxelizer< GridType, ScalarType, InterruptT, PtPartition > & | other | ) |
| inline

## ◆ operator()()

template<typename GridType, typename ScalarType = float, typename InterruptT = util::NullInterrupter, bool PtPartition = true>

void operator() | ( | const tbb::blocked_range< size_t > & | rng | ) |
| inline