OpenVDB  1.2.0
Classes | Enumerations | Functions | Variables
openvdb::v1_2_0::tools::internal Namespace Reference

Classes

class  TileSampler
 A TileSampler wraps a grid sampler of another type (BoxSampler, QuadraticSampler, etc.), and for samples that fall within a given tile of the grid, it returns a cached tile value instead of accessing the grid. More...
 
struct  TileSampler< PointSampler, TreeT >
 For point sampling, tree traversal is less expensive than testing bounding box membership. More...
 
struct  TileSampler< StaggeredPointSampler, TreeT >
 For point sampling, tree traversal is less expensive than testing bounding box membership. More...
 
class  PointListTransform
 
class  PrimCpy
 
class  FogVolumeOp
 
class  InteriorMaskOp
 
class  PointTransform
 
struct  Tolerance
 
class  MeshVoxelizer
 TBB body object to voxelize a mesh of triangles and/or quads into a collection of VDB grids, namely a squared distance grid, a closest primitive grid and an intersecting voxels grid (masks the mesh intersecting voxels) More...
 
class  ContourTracer
 TBB body object that partitions a volume into 2D slices that can be processed in parallel and marks the exterior contour of disjoint voxel sets in each slice. More...
 
class  SignMask
 TBB body object that that finds seed points for the parallel flood fill. More...
 
class  PropagateSign
 TBB body object that performs a parallel flood fill. More...
 
class  IntersectingVoxelSign
 TBB body object that traversers all intersecting voxels (defined by the intersectingVoxelsGrid) and potentially flips their sign, by comparing the "closest point" directions of outside-marked and non-intersecting neighboring voxels. More...
 
class  IntersectingVoxelCleaner
 TBB body object that removes intersecting voxels that were set via voxelization of self-intersecting parts of a mesh. More...
 
class  ShellVoxelCleaner
 TBB body object that removes non-intersecting voxels that where set by rasterizing self-intersecting parts of the mesh. More...
 
class  ExpandNB
 TBB body object to expand the level set narrow band. More...
 
struct  SqrtAndScaleOp
 
struct  VoxelSignOp
 
struct  TrimOp
 
struct  OffsetOp
 
struct  RenormOp
 
struct  MinOp
 
struct  MergeBufferOp
 
struct  LeafTopologyDiffOp
 
class  LeafCPtrList
 
class  LeafPtrList
 
struct  ReferenceData
 
class  Count
 
class  Merge
 
class  PointGen
 
struct  QuadMeshOp
 
struct  AdaptiveMeshOp
 
class  MeshGen
 
struct  PartOp
 
class  PartGen
 
class  MaskGen
 
struct  BoundaryMergeOp
 
class  BoundaryMaskGen
 
class  AuxiliaryData
 
class  SeamMaskGen
 
class  EdgeSmooth
 
class  AuxDataGenerator
 
class  PointListCopy
 

Enumerations

enum  { INSIDE = 0x1, XEDGE = 0x2, YEDGE = 0x4, ZEDGE = 0x8 }
 

Functions

template<typename GridType , typename InterruptType >
std::vector< typename
GridType::Ptr > 
segment (GridType &grid, InterruptType *interrupter=NULL)
 Segmentation scheme, splits disjoint fragments into separate grids. More...
 
template<typename FloatTreeT , typename IntTreeT >
void combine (FloatTreeT &lhsDist, IntTreeT &lhsIndex, FloatTreeT &rhsDist, IntTreeT &rhsIndex)
 
template<class AccessorT >
bool isAmbiguous (const AccessorT &accessor, const Coord &ijk, typename AccessorT::ValueType isovalue, int dim)
 
template<class AccessorT >
bool isNonManifold (const AccessorT &accessor, const Coord &ijk, typename AccessorT::ValueType isovalue, const int dim)
 
template<class LeafType >
void mergeVoxels (LeafType &leaf, const Coord &start, int dim, int regionId)
 
template<class LeafType >
bool isMergable (LeafType &leaf, const Coord &start, int dim, typename LeafType::ValueType::value_type adaptivity)
 
template<class DistTreeT , class AuxTreeT , class CharTreeT >
void tileAuxiliaryData (const DistTreeT &distTree, CharTreeT &edgeTree, AuxTreeT &auxTree, double iso)
 

Variables

const bool sAmbiguous [256]
 

Enumeration Type Documentation

anonymous enum
Enumerator
INSIDE 
XEDGE 
YEDGE 
ZEDGE 

Function Documentation

void openvdb::v1_2_0::tools::internal::combine ( FloatTreeT &  lhsDist,
IntTreeT &  lhsIndex,
FloatTreeT &  rhsDist,
IntTreeT &  rhsIndex 
)
inline
bool openvdb::v1_2_0::tools::internal::isAmbiguous ( const AccessorT &  accessor,
const Coord &  ijk,
typename AccessorT::ValueType  isovalue,
int  dim 
)
inline
bool openvdb::v1_2_0::tools::internal::isMergable ( LeafType &  leaf,
const Coord &  start,
int  dim,
typename LeafType::ValueType::value_type  adaptivity 
)
inline
bool openvdb::v1_2_0::tools::internal::isNonManifold ( const AccessorT &  accessor,
const Coord &  ijk,
typename AccessorT::ValueType  isovalue,
const int  dim 
)
inline
void openvdb::v1_2_0::tools::internal::mergeVoxels ( LeafType &  leaf,
const Coord &  start,
int  dim,
int  regionId 
)
inline
std::vector<typename GridType::Ptr> openvdb::v1_2_0::tools::internal::segment ( GridType &  grid,
InterruptType *  interrupter = NULL 
)
inline

Segmentation scheme, splits disjoint fragments into separate grids.

Note
This is a temporary solution and it will be replaced soon.
void openvdb::v1_2_0::tools::internal::tileAuxiliaryData ( const DistTreeT &  distTree,
CharTreeT &  edgeTree,
AuxTreeT &  auxTree,
double  iso 
)
inline

Variable Documentation

const bool sAmbiguous[256]