OpenVDB
12.1.0
|
Generate a narrow-band level set of a dilated surface mesh. More...
#include "ConvexVoxelizer.h"
#include <openvdb/tools/LevelSetTubes.h>
#include <openvdb/tools/PointPartitioner.h>
#include <openvdb/tools/Prune.h>
#include <openvdb/Grid.h>
#include <openvdb/math/Math.h>
#include <openvdb/util/NullInterrupter.h>
#include <tbb/parallel_for.h>
#include <tbb/parallel_reduce.h>
#include <vector>
#include <type_traits>
Go to the source code of this file.
Classes | |
class | OpenTriangularPrismVoxelizer< GridType, InterruptT > |
Class used to generate a grid of type GridType containing a narrow-band level set representation of an open prism. The only parts of the level set populated are along both normals of the triangle. Negative background tiles that fit inside the closed dilated triangle are also populated. More... | |
class | OpenCapsuleWedgeVoxelizer< GridType, InterruptT > |
Class used to generate a grid of type GridType containing a narrow-band level set representation of an open wedge. The only parts of the level set populated are within a sector of a capsule. The sector is defined by the intersection of two half spaces. More... | |
class | TriangleMeshEdgeConnectivity< ValueT > |
Class representing the connectivity of edges in a triangle mesh, where each edge is associated with the cells (triangles) sharing it. Provides methods to retrieve adjacent cells, vertex coordinates, normals, and other geometric properties. More... | |
class | DilatedMeshVoxelizer< GridType, ScalarType, InterruptT, PtPartition > |
Class used to generate a grid of type GridType containing a narrow-band level set representation of a dilated mesh (surface mesh dilated by a radius in all directions). More... | |
Namespaces | |
openvdb | |
openvdb::v12_1 | |
openvdb::v12_1::tools | |
openvdb::v12_1::tools::lvlset | |
Functions | |
template<typename GridType , typename ScalarType , typename InterruptT = util::NullInterrupter> | |
GridType::Ptr | createLevelSetDilatedMesh (const std::vector< math::Vec3< ScalarType >> &vertices, const std::vector< Vec3I > &triangles, ScalarType radius, float voxelSize, float halfWidth=float(LEVEL_SET_HALF_WIDTH), InterruptT *interrupter=nullptr) |
Return a grid of type GridType containing a narrow-band level set representation of a dilated triangle surface mesh (dilated by a radius in all directions). More... | |
template<typename GridType , typename ScalarType , typename InterruptT = util::NullInterrupter> | |
GridType::Ptr | createLevelSetDilatedMesh (const std::vector< math::Vec3< ScalarType >> &vertices, const std::vector< Vec4I > &quads, ScalarType radius, float voxelSize, float halfWidth=float(LEVEL_SET_HALF_WIDTH), InterruptT *interrupter=nullptr) |
Return a grid of type GridType containing a narrow-band level set representation of a dilated quad surface mesh (dilated by a radius in all directions). More... | |
template<typename GridType , typename ScalarType , typename InterruptT = util::NullInterrupter> | |
GridType::Ptr | createLevelSetDilatedMesh (const std::vector< math::Vec3< ScalarType >> &vertices, const std::vector< Vec3I > &triangles, const std::vector< Vec4I > &quads, ScalarType radius, float voxelSize, float halfWidth=float(LEVEL_SET_HALF_WIDTH), InterruptT *interrupter=nullptr) |
Return a grid of type GridType containing a narrow-band level set representation of a dilated triangle & quad surface mesh (dilated by a radius in all directions). More... | |
Generate a narrow-band level set of a dilated surface mesh.