HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType > Class Template Reference

#include <Morphology.h>

Classes

struct  CopyMasks
 
struct  ErodeVoxelsOp
 
struct  LeafCache
 
struct  MaskManager
 
struct  Neighbor
 
struct  UpdateMasks
 

Public Types

using ManagerType = tree::LeafManager< TreeType >
 

Public Member Functions

 Morphology (TreeType &tree)
 
 Morphology (ManagerType *mgr)
 
virtual ~Morphology ()
 
void dilateVoxels6 ()
 Face-adjacent dilation pattern. More...
 
void dilateVoxels18 ()
 Face- and edge-adjacent dilation pattern. More...
 
void dilateVoxels26 ()
 Face-, edge- and vertex-adjacent dilation pattern. More...
 
void dilateVoxels (int iterations=1, NearestNeighbors nn=NN_FACE)
 
void erodeVoxels6 ()
 Face-adjacent erosion pattern. More...
 
void erodeVoxels18 ()
 Face- and edge-adjacent erosion pattern. More...
 
void erodeVoxels26 ()
 Face-, edge- and vertex-adjacent erosion pattern. More...
 
void erodeVoxels (int iterations=1, NearestNeighbors nn=NN_FACE)
 

Protected Types

using LeafType = typename TreeType::LeafNodeType
 
using MaskType = typename LeafType::NodeMaskType
 
using AccessorType = tree::ValueAccessor< TreeType >
 
using Word = typename DimToWord< LEAF_LOG2DIM >::Type
 

Protected Member Functions

void doErosion (NearestNeighbors nn)
 
void copyMasks (std::vector< MaskType > &a, const ManagerType &b)
 

Protected Attributes

const bool mOwnsManager
 
ManagerTypemManager
 
AccessorType mAcc
 
int mSteps
 

Static Protected Attributes

static const int LEAF_DIM = LeafType::DIM
 
static const int END = LEAF_DIM - 1
 
static const int LEAF_LOG2DIM = LeafType::LOG2DIM
 

Detailed Description

template<typename TreeType>
class openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >

Definition at line 219 of file Morphology.h.

Member Typedef Documentation

template<typename TreeType>
using openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::AccessorType = tree::ValueAccessor<TreeType>
protected

Definition at line 256 of file Morphology.h.

template<typename TreeType>
using openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::LeafType = typename TreeType::LeafNodeType
protected

Definition at line 254 of file Morphology.h.

template<typename TreeType>
using openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::ManagerType = tree::LeafManager<TreeType>

Definition at line 222 of file Morphology.h.

template<typename TreeType>
using openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::MaskType = typename LeafType::NodeMaskType
protected

Definition at line 255 of file Morphology.h.

template<typename TreeType>
using openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::Word = typename DimToWord<LEAF_LOG2DIM>::Type
protected

Definition at line 266 of file Morphology.h.

Constructor & Destructor Documentation

template<typename TreeType>
openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::Morphology ( TreeType &  tree)
inline

Definition at line 224 of file Morphology.h.

template<typename TreeType>
openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::Morphology ( ManagerType mgr)
inline

Definition at line 226 of file Morphology.h.

template<typename TreeType>
virtual openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::~Morphology ( )
inlinevirtual

Definition at line 228 of file Morphology.h.

Member Function Documentation

template<typename TreeType>
void openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::copyMasks ( std::vector< MaskType > &  a,
const ManagerType b 
)
inlineprotected

Definition at line 421 of file Morphology.h.

template<typename TreeType >
void openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::dilateVoxels ( int  iterations = 1,
NearestNeighbors  nn = NN_FACE 
)
inline

Definition at line 427 of file Morphology.h.

template<typename TreeType >
void openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::dilateVoxels18 ( )
inline

Face- and edge-adjacent dilation pattern.

Todo:
Currently operates only on leaf voxels; need to extend to tiles.

Definition at line 490 of file Morphology.h.

template<typename TreeType >
void openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::dilateVoxels26 ( )
inline

Face-, edge- and vertex-adjacent dilation pattern.

Definition at line 540 of file Morphology.h.

template<typename TreeType >
void openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::dilateVoxels6 ( )
inline

Face-adjacent dilation pattern.

Todo:
Currently operates only on leaf voxels; need to extend to tiles.

Definition at line 447 of file Morphology.h.

template<typename TreeType >
void openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::doErosion ( NearestNeighbors  nn)
inlineprotected
Todo:
Currently operates only on leaf voxels; need to extend to tiles.

Definition at line 792 of file Morphology.h.

template<typename TreeType>
void openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::erodeVoxels ( int  iterations = 1,
NearestNeighbors  nn = NN_FACE 
)
inline

Definition at line 244 of file Morphology.h.

template<typename TreeType>
void openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::erodeVoxels18 ( )
inline

Face- and edge-adjacent erosion pattern.

Definition at line 241 of file Morphology.h.

template<typename TreeType>
void openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::erodeVoxels26 ( )
inline

Face-, edge- and vertex-adjacent erosion pattern.

Definition at line 243 of file Morphology.h.

template<typename TreeType>
void openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::erodeVoxels6 ( )
inline

Face-adjacent erosion pattern.

Definition at line 239 of file Morphology.h.

Member Data Documentation

template<typename TreeType>
const int openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::END = LEAF_DIM - 1
staticprotected

Definition at line 264 of file Morphology.h.

template<typename TreeType>
const int openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::LEAF_DIM = LeafType::DIM
staticprotected

Definition at line 263 of file Morphology.h.

template<typename TreeType>
const int openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::LEAF_LOG2DIM = LeafType::LOG2DIM
staticprotected

Definition at line 265 of file Morphology.h.

template<typename TreeType>
AccessorType openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::mAcc
protected

Definition at line 260 of file Morphology.h.

template<typename TreeType>
ManagerType* openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::mManager
protected

Definition at line 259 of file Morphology.h.

template<typename TreeType>
const bool openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::mOwnsManager
protected

Definition at line 258 of file Morphology.h.

template<typename TreeType>
int openvdb::OPENVDB_VERSION_NAME::tools::Morphology< TreeType >::mSteps
protected

Definition at line 261 of file Morphology.h.


The documentation for this class was generated from the following file: