OpenVDB
2.3.0
|
Classes | |
struct | AdaptivePrimBuilder |
class | ClosestPointDist |
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... | |
struct | CopyActiveVoxelsOp |
class | CountPoints |
Counts the total number of points per leaf, accounts for cells with multiple points. More... | |
class | CountRegions |
Counts the total number of points per collapsed region. More... | |
class | ExpandNB |
TBB body object to expand the level set narrow band. More... | |
class | FlagUsedPoints |
class | FogVolumeOp |
class | GenBoundaryMask |
class | GenPoints |
class | GenPolygons |
class | GenSeamMask |
class | GenTileMask |
class | GenTopologyMask |
class | InteriorMaskOp |
class | IntersectingVoxelCleaner |
TBB body object that removes intersecting voxels that were set via voxelization of self-intersecting parts of a mesh. 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 | LeafBS |
struct | LeafTopologyDiffOp |
class | MapPoints |
Computes the point list indices for the index tree. More... | |
struct | MaskEdges |
struct | MergeBufferOp |
class | MergeVoxelRegions |
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... | |
struct | MinOp |
class | MovePoints |
class | NodeBS |
struct | OffsetOp |
class | PartGen |
struct | PartOp |
struct | PointAccessor |
class | PointListCopy |
class | PointListTransform |
class | PointTransform |
class | PrimCpy |
class | PropagateSign |
TBB body object that performs a parallel flood fill. More... | |
class | RemapIndices |
struct | RenormOp |
struct | SDFPrune |
class | SeamWeights |
class | ShellVoxelCleaner |
TBB body object that removes non-intersecting voxels that where set by rasterizing self-intersecting parts of the mesh. More... | |
class | SignData |
class | SignMask |
TBB body object that that finds seed points for the parallel flood fill. More... | |
struct | SqrtAndScaleOp |
class | TagSeamEdges |
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... | |
struct | Tolerance |
struct | TrimOp |
struct | UniformPrimBuilder |
struct | UniquePtr |
class | UpdatePoints |
struct | VoxelSignOp |
Enumerations | |
enum | { SIGNS = 0xFF, EDGES = 0xE00, INSIDE = 0x100, XEDGE = 0x200, YEDGE = 0x400, ZEDGE = 0x800, SEAM = 0x1000 } |
Bit-flags used to classify cells. More... | |
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) |
bool | isPlanarQuad (const Vec3d &p0, const Vec3d &p1, const Vec3d &p2, const Vec3d &p3, double epsilon=0.001) |
template<typename AccessorT > | |
unsigned char | evalCellSigns (const AccessorT &accessor, const Coord &ijk, typename AccessorT::ValueType iso) |
General method that computes the cell-sign configuration at the given ijk coordinate. More... | |
template<typename LeafT > | |
unsigned char | evalCellSigns (const LeafT &leaf, const Index offset, typename LeafT::ValueType iso) |
Leaf node optimized method that computes the cell-sign configuration at the given local offset . More... | |
template<class AccessorT > | |
void | correctCellSigns (unsigned char &signs, unsigned char face, const AccessorT &acc, Coord ijk, typename AccessorT::ValueType iso) |
Used to correct topological ambiguities related to two adjacent cells that share an ambiguous face. More... | |
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) |
double | evalRoot (double v0, double v1, double iso) |
template<typename LeafT > | |
void | collectCornerValues (const LeafT &leaf, const Index offset, std::vector< double > &values) |
Extracts the eight corner values for leaf inclusive cells. More... | |
template<typename AccessorT > | |
void | collectCornerValues (const AccessorT &acc, const Coord &ijk, std::vector< double > &values) |
Extracts the eight corner values for a cell starting at the given ![]() | |
Vec3d | computePoint (const std::vector< double > &values, unsigned char signs, unsigned char edgeGroup, double iso) |
Computes the average cell point for a given edge group. More... | |
int | computeMaskedPoint (Vec3d &avg, const std::vector< double > &values, unsigned char signs, unsigned char signsMask, unsigned char edgeGroup, double iso) |
Computes the average cell point for a given edge group, ignoring edge samples present in the signsMask configuration. More... | |
Vec3d | computeWeightedPoint (const Vec3d &p, const std::vector< double > &values, unsigned char signs, unsigned char edgeGroup, double iso) |
Computes the average cell point for a given edge group, by computing convex weights based on the distance from the sample point p . More... | |
void | computeCellPoints (std::vector< Vec3d > &points, const std::vector< double > &values, unsigned char signs, double iso) |
Computes the average cell points defined by the sign configuration signs and the given corner values values . More... | |
int | matchEdgeGroup (unsigned char groupId, unsigned char lhsSigns, unsigned char rhsSigns) |
Given a sign configuration lhsSigns and an edge group groupId , finds the corresponding edge group in a different sign configuration rhsSigns . Returns -1 if no match is found. More... | |
void | computeCellPoints (std::vector< Vec3d > &points, std::vector< bool > &weightedPointMask, const std::vector< double > &lhsValues, const std::vector< double > &rhsValues, unsigned char lhsSigns, unsigned char rhsSigns, double iso, size_t pointIdx, const boost::scoped_array< uint32_t > &seamPoints) |
Computes the average cell points defined by the sign configuration signs and the given corner values values . Combines data from two different level sets to eliminate seam lines when meshing fractured segments. More... | |
template<typename SignAccT , typename IdxAccT , typename PrimBuilder > | |
void | constructPolygons (Int16 flags, Int16 refFlags, const Vec4i &offsets, const Coord &ijk, const SignAccT &signAcc, const IdxAccT &idxAcc, PrimBuilder &mesher, Index32 pointListSize) |
template<class DistTreeT , class SignTreeT , class IdxTreeT > | |
void | tileData (const DistTreeT &distTree, SignTreeT &signTree, IdxTreeT &idxTree, double iso) |
template<typename LeafManagerT > | |
bool | needsActiveVoxePadding (const LeafManagerT &leafs, double iso, double voxelSize) |
Variables | |
const bool | sAdaptable [256] |
Used to quickly determine if a given cell is adaptable. More... | |
const unsigned char | sAmbiguousFace [256] |
Contains the ambiguous face index for certain cell configuration. More... | |
const unsigned char | sEdgeGroupTable [256][13] |
Lookup table for different cell sign configurations. The first entry specifies the total number of points that need to be generated inside a cell and the remaining 12 entries indicate different edge groups. More... | |
enum | { MASK_FIRST_10_BITS = 0x000003FF, MASK_DIRTY_BIT = 0x80000000, MASK_INVALID_BIT = 0x40000000 } |
Utility methods for point quantization. More... | |
uint32_t | packPoint (const Vec3d &v) |
Utility methods for point quantization. More... | |
Vec3d | unpackPoint (uint32_t data) |
Utility methods for point quantization. More... | |
anonymous enum |
anonymous enum |
|
inline |
Extracts the eight corner values for leaf inclusive cells.
|
inline |
Extracts the eight corner values for a cell starting at the given coordinate.
|
inline |
|
inline |
Computes the average cell points defined by the sign configuration signs
and the given corner values values
.
|
inline |
Computes the average cell points defined by the sign configuration signs
and the given corner values values
. Combines data from two different level sets to eliminate seam lines when meshing fractured segments.
|
inline |
Computes the average cell point for a given edge group, ignoring edge samples present in the signsMask
configuration.
|
inline |
Computes the average cell point for a given edge group.
|
inline |
Computes the average cell point for a given edge group, by computing convex weights based on the distance from the sample point p
.
|
inline |
|
inline |
Used to correct topological ambiguities related to two adjacent cells that share an ambiguous face.
|
inline |
General method that computes the cell-sign configuration at the given ijk
coordinate.
|
inline |
Leaf node optimized method that computes the cell-sign configuration at the given local offset
.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Given a sign configuration lhsSigns
and an edge group groupId
, finds the corresponding edge group in a different sign configuration rhsSigns
. Returns -1 if no match is found.
|
inline |
|
inline |
|
inline |
Utility methods for point quantization.
|
inline |
Segmentation scheme, splits disjoint fragments into separate grids.
|
inline |
|
inline |
Utility methods for point quantization.
const bool sAdaptable[256] |
Used to quickly determine if a given cell is adaptable.
const unsigned char sAmbiguousFace[256] |
Contains the ambiguous face index for certain cell configuration.
const unsigned char sEdgeGroupTable[256][13] |
Lookup table for different cell sign configurations. The first entry specifies the total number of points that need to be generated inside a cell and the remaining 12 entries indicate different edge groups.