|
OpenVDB
2.3.0
|
#include <openvdb/Types.h>#include <openvdb/math/FiniteDifference.h>#include <openvdb/math/Operators.h>#include <openvdb/math/Proximity.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 <deque>#include <limits>Go to the source code of this file.
Classes | |
| class | MeshToVolume< FloatGridT, InterruptT > |
| class | MeshToVoxelEdgeData |
| Extracts and stores voxel edge intersection data from a mesh. More... | |
| struct | MeshToVoxelEdgeData::EdgeData |
| Internal edge data type. More... | |
| class | PointTransform |
| struct | Tolerance< ValueType > |
| class | MeshVoxelizer< FloatTreeT, InterruptT > |
| 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< FloatTreeT, InterruptT > |
| 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< FloatTreeT, InterruptT > |
| TBB body object that that finds seed points for the parallel flood fill. More... | |
| class | PropagateSign< FloatTreeT, InterruptT > |
| TBB body object that performs a parallel flood fill. More... | |
| class | IntersectingVoxelSign< FloatTreeT > |
| 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< FloatTreeT > |
| TBB body object that removes intersecting voxels that were set via voxelization of self-intersecting parts of a mesh. More... | |
| class | ShellVoxelCleaner< FloatTreeT > |
| TBB body object that removes non-intersecting voxels that where set by rasterizing self-intersecting parts of the mesh. More... | |
| struct | CopyActiveVoxelsOp< TreeType > |
| class | ExpandNB< FloatTreeT > |
| TBB body 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 > |
| struct | LeafTopologyDiffOp< TreeType > |
| struct | SDFPrune< ValueType > |
| class | MeshToVoxelEdgeData::GenEdgeData |
Namespaces | |
| openvdb | |
| openvdb::v2_3_0 | |
| openvdb::v2_3_0::tools | |
| openvdb::v2_3_0::tools::internal | |
Enumerations | |
| enum | { GENERATE_PRIM_INDEX_GRID = 0x1, OUTPUT_RAW_DATA = 0x2 } |
| Conversion flags, used to control the MeshToVolume output. More... | |
Functions | |
| template<typename GridType > | |
| GridType::Ptr | meshToLevelSet (const openvdb::math::Transform &xform, const std::vector< Vec3s > &points, const std::vector< Vec3I > &triangles, float halfWidth=float(LEVEL_SET_HALF_WIDTH)) |
| Convert a triangle mesh to a level set volume. More... | |
| template<typename GridType > | |
| GridType::Ptr | meshToLevelSet (const openvdb::math::Transform &xform, const std::vector< Vec3s > &points, const std::vector< Vec4I > &quads, float halfWidth=float(LEVEL_SET_HALF_WIDTH)) |
| Convert a quad mesh to a level set volume. More... | |
| template<typename GridType > | |
| GridType::Ptr | meshToLevelSet (const openvdb::math::Transform &xform, const std::vector< Vec3s > &points, const std::vector< Vec3I > &triangles, const std::vector< Vec4I > &quads, float halfWidth=float(LEVEL_SET_HALF_WIDTH)) |
| Convert a triangle and quad mesh to a level set volume. More... | |
| template<typename GridType > | |
| GridType::Ptr | meshToSignedDistanceField (const openvdb::math::Transform &xform, const std::vector< Vec3s > &points, const std::vector< Vec3I > &triangles, const std::vector< Vec4I > &quads, float exBandWidth, float inBandWidth) |
| Convert a triangle and quad mesh to a signed distance field with an asymmetrical narrow band. More... | |
| template<typename GridType > | |
| GridType::Ptr | meshToUnsignedDistanceField (const openvdb::math::Transform &xform, const std::vector< Vec3s > &points, const std::vector< Vec3I > &triangles, const std::vector< Vec4I > &quads, float bandWidth) |
| Convert a triangle and quad mesh to an unsigned distance field. More... | |
| template<typename FloatTreeT , typename IntTreeT > | |
| void | combine (FloatTreeT &lhsDist, IntTreeT &lhsIndex, FloatTreeT &rhsDist, IntTreeT &rhsIndex) |
| template<typename GridType > | |
| boost::enable_if < boost::is_floating_point < typename GridType::ValueType > , typename GridType::Ptr > ::type | doMeshConversion (const openvdb::math::Transform &xform, const std::vector< Vec3s > &points, const std::vector< Vec3I > &triangles, const std::vector< Vec4I > &quads, float exBandWidth, float inBandWidth, bool unsignedDistanceField=false) |
| template<typename GridType > | |
| boost::disable_if < boost::is_floating_point < typename GridType::ValueType > , typename GridType::Ptr > ::type | doMeshConversion (const math::Transform &, const std::vector< Vec3s > &, const std::vector< Vec3I > &, const std::vector< Vec4I > &, float, float, bool unsignedDistanceField=false) |
| std::ostream & | operator<< (std::ostream &ostr, const MeshToVoxelEdgeData::EdgeData &rhs) |
| MeshToVoxelEdgeData::EdgeData | Abs (const MeshToVoxelEdgeData::EdgeData &x) |
1.8.7