OpenVDB
0.104.0
|
#include <openvdb/Types.h>
#include <openvdb/math/FiniteDifference.h>
#include <openvdb/math/Operators.h>
#include <openvdb/math/Proximity.h>
#include <openvdb/tools/LevelSetUtil.h>
#include <openvdb/tools/Morphology.h>
#include <openvdb/util/NullInterrupter.h>
#include <openvdb/util/Util.h>
#include <tbb/blocked_range.h>
#include <tbb/parallel_for.h>
#include <tbb/parallel_reduce.h>
#include <list>
#include <deque>
#include <limits>
Go to the source code of this file.
Classes | |
class | MeshToVolume< DistGridT, InterruptT > |
class | MeshVoxelizer< DistTreeT, InterruptT > |
TBB class object to voxelize a mesh of triangles and/or quads into a collection of VDB grids, namely a square distance grid, closest primitive grid and a intersecting voxels grid (the voxels intersect the mesh). More... | |
class | ContourTracer< DistTreeT, InterruptT > |
TBB Class object that slices up the volume into 2D slices that can be processed in parallel and marks the exterior contour of disjoint voxel sets in each slice. More... | |
class | IntersectingVoxelSign< DistTreeT > |
TBB Class object that traversers all the intersecting voxels (defined by the intersectingVoxelsGrid) and potentially flips their sign, by comparing the 'closest point' directions of outside-marked and non-intersecting neighbouring voxel. More... | |
class | IntersectingVoxelCleaner< DistTreeT > |
TBB Class object that removes intersecting voxels that where set by rasterizing self-intersecting parts of the mesh. More... | |
class | ShellVoxelCleaner< DistTreeT > |
TBB Class object that removes non-intersecting voxels that where set by rasterizing self-intersecting parts of the mesh. More... | |
class | ExpandNB< DistTreeT > |
TBB Class object to expand the level-set narrow-band. More... | |
struct | SqrtAndScaleOp< ValueType > |
struct | VoxelSignOp< ValueType > |
struct | TrimOp< ValueType > |
struct | OffsetOp< ValueType > |
struct | RenormOp< GridType, ValueType > |
struct | MinOp< TreeType, ValueType > |
struct | MergeBufferOp< TreeType, ValueType > |
Namespaces | |
namespace | openvdb |
namespace | openvdb::v0_104_0 |
namespace | openvdb::v0_104_0::tools |
namespace | openvdb::v0_104_0::tools::internal |
Enumerations | |
enum | { GENERATE_PRIM_INDEX_GRID = 0x1 } |
Conversion flags, used to control the MeshToVolume output. More... | |
Functions | |
template<typename DistTreeT , typename IndexTreeT > | |
void | combine (DistTreeT &lhsDist, IndexTreeT &lhsIndex, DistTreeT &rhsDist, IndexTreeT &rhsIndex) |
template<typename DistTreeT > | |
void | surfaceTracer (const Coord &seed, DistTreeT &distTree, typename DistTreeT::template ValueConverter< bool >::Type &intersectionTree) |
Surface tracing method that flips the sign of interior marked voxels, will not cross the boundary defined by the intersecting voxels. More... | |
template<typename DistTreeT , typename InterruptT > | |
void | propagateSign (DistTreeT &distTree, typename DistTreeT::template ValueConverter< bool >::Type &intersectionTree, InterruptT *interrupter=NULL) |
Does a sparse iteration on the distance grid to find regions with inconsistent sign information. The surfaceTracer method is then used to resolve the sign inconsistency in these regions. More... | |