|
template<typename TreeOrLeafManagerT > |
void | dilateActiveValues (TreeOrLeafManagerT &tree, const int iterations=1, const NearestNeighbors nn=NN_FACE, const TilePolicy mode=PRESERVE_TILES, const bool threaded=true) |
| Topologically dilate all active values (i.e. both voxels and tiles) in a tree using one of three nearest neighbor connectivity patterns. More...
|
|
template<typename TreeOrLeafManagerT > |
void | erodeActiveValues (TreeOrLeafManagerT &tree, const int iterations=1, const NearestNeighbors nn=NN_FACE, const TilePolicy mode=PRESERVE_TILES, const bool threaded=true) |
| Topologically erode all active values (i.e. both voxels and tiles) in a tree using one of three nearest neighbor connectivity patterns. More...
|
|
template<typename TreeT > |
std::enable_if< std::is_same< TreeT, typename TreeT::template ValueConverter< ValueMask >::Type >::value, typename TreeT::template ValueConverter< ValueMask >::Type * >::type | getMaskTree (TreeT &tree) |
|
template<typename TreeT > |
std::enable_if<!std::is_same< TreeT, typename TreeT::template ValueConverter< ValueMask >::Type >::value, typename TreeT::template ValueConverter< ValueMask >::Type * >::type | getMaskTree (TreeT &) |
|
template<typename TreeType > |
void | dilateVoxels (TreeType &tree, int iterations=1, NearestNeighbors nn=NN_FACE) |
| Topologically dilate all leaf-level active voxels in a tree using one of three nearest neighbor connectivity patterns. More...
|
|
template<typename TreeType > |
void | dilateVoxels (tree::LeafManager< TreeType > &manager, int iterations=1, NearestNeighbors nn=NN_FACE) |
| Topologically dilate all leaf-level active voxels in a tree using one of three nearest neighbor connectivity patterns. More...
|
|
|
template<typename TreeType > |
void | erodeVoxels (TreeType &tree, int iterations=1, NearestNeighbors nn=NN_FACE) |
| Topologically erode all leaf-level active voxels in the given tree. More...
|
|
template<typename TreeType > |
void | erodeVoxels (tree::LeafManager< TreeType > &manager, int iterations=1, NearestNeighbors nn=NN_FACE) |
|
Implementation of morphological dilation and erosion.
- Authors
- Ken Museth, Nick Avramoussis
- Note
- By design the morphological operations only change the state of voxels, not their values. If one desires to change the values of voxels that change state an efficient technique is to construct a boolean mask by performing a topology difference between the original and final grids.