HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal Namespace Reference

Classes

struct  FillArray
 
struct  ComputePoints
 
struct  SeamLineWeights
 
struct  SetSeamLineFlags
 
struct  TransferSeamLineFlags
 
struct  MaskSeamLineVoxels
 
struct  MergeVoxelRegions
 
struct  UniformPrimBuilder
 
struct  AdaptivePrimBuilder
 
struct  MaskTileBorders
 
class  PointListCopy
 
struct  LeafNodeVoxelOffsets
 
struct  VoxelEdgeAccessor
 Utility method to marks all voxels that share an edge. More...
 
struct  IdentifyIntersectingVoxels
 
struct  MaskIntersectingVoxels
 
struct  MaskBorderVoxels
 
struct  SyncMaskValues
 
struct  MaskSurface
 
struct  ComputeAuxiliaryData
 
struct  LeafNodePointCount
 
struct  AdaptiveLeafNodePointCount
 
struct  MapPoints
 
struct  ComputePolygons
 
struct  CopyArray
 
struct  FlagAndCountQuadsToSubdivide
 
struct  SubdivideQuads
 
struct  ReviseSeamLineFlags
 
struct  MaskDisorientedTrianglePoints
 

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 ValueType >
void fillArray (ValueType *array, const ValueType &val, const size_t length)
 
bool isPlanarQuad (const Vec3d &p0, const Vec3d &p1, const Vec3d &p2, const Vec3d &p3, double epsilon=0.001)
 
template<typename T >
bool isBoolValue ()
 
template<>
bool isBoolValue< bool > ()
 
template<typename T >
bool isInsideValue (T value, T isovalue)
 
template<>
bool isInsideValue< bool > (bool value, bool)
 
template<typename AccessorT >
void getCellVertexValues (const AccessorT &accessor, Coord ijk, math::Tuple< 8, typename AccessorT::ValueType > &values)
 
template<typename LeafT >
void getCellVertexValues (const LeafT &leaf, const Index offset, math::Tuple< 8, typename LeafT::ValueType > &values)
 
template<typename ValueType >
uint8_t computeSignFlags (const math::Tuple< 8, ValueType > &values, const ValueType iso)
 
template<typename AccessorT >
uint8_t 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 >
uint8_t 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 (uint8_t &signs, uint8_t 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 evalZeroCrossing (double v0, double v1, double iso)
 linear interpolation. More...
 
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 coordinate. More...
 
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 uint32_t *seamPointArray)
 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 SignDataTreeType >
void markSeamLineData (SignDataTreeType &signFlagsTree, const SignDataTreeType &refSignFlagsTree)
 
template<typename SignAccT , typename IdxAccT , typename PrimBuilder >
void constructPolygons (bool invertSurfaceOrientation, Int16 flags, Int16 refFlags, const Vec3i &offsets, const Coord &ijk, const SignAccT &signAcc, const IdxAccT &idxAcc, PrimBuilder &mesher)
 
template<typename InputTreeType >
void maskActiveTileBorders (const InputTreeType &inputTree, typename InputTreeType::ValueType iso, typename InputTreeType::template ValueConverter< bool >::Type &mask)
 
template<typename VoxelEdgeAcc , typename LeafNode >
void evalInternalVoxelEdges (VoxelEdgeAcc &edgeAcc, const LeafNode &leafnode, const LeafNodeVoxelOffsets &voxels, const typename LeafNode::ValueType iso)
 
template<typename LeafNode , typename TreeAcc , typename VoxelEdgeAcc >
void evalExtrenalVoxelEdges (VoxelEdgeAcc &edgeAcc, TreeAcc &acc, const LeafNode &lhsNode, const LeafNodeVoxelOffsets &voxels, const typename LeafNode::ValueType iso)
 
template<typename LeafNode , typename TreeAcc , typename VoxelEdgeAcc >
void evalExtrenalVoxelEdgesInv (VoxelEdgeAcc &edgeAcc, TreeAcc &acc, const LeafNode &leafnode, const LeafNodeVoxelOffsets &voxels, const typename LeafNode::ValueType iso)
 
template<typename InputTreeType >
void identifySurfaceIntersectingVoxels (typename InputTreeType::template ValueConverter< bool >::Type &intersectionTree, const InputTreeType &inputTree, typename InputTreeType::ValueType isovalue)
 
template<typename InputGridType >
void applySurfaceMask (typename InputGridType::TreeType::template ValueConverter< bool >::Type &intersectionTree, typename InputGridType::TreeType::template ValueConverter< bool >::Type &borderTree, const InputGridType &inputGrid, const GridBase::ConstPtr &maskGrid, bool invertMask, typename InputGridType::ValueType isovalue)
 
template<typename InputTreeType >
void computeAuxiliaryData (typename InputTreeType::template ValueConverter< Int16 >::Type &signFlagsTree, typename InputTreeType::template ValueConverter< Index32 >::Type &pointIndexTree, const typename InputTreeType::template ValueConverter< bool >::Type &intersectionTree, const InputTreeType &inputTree, typename InputTreeType::ValueType isovalue)
 
void subdivideNonplanarSeamLineQuads (PolygonPoolList &polygonPoolList, size_t polygonPoolListSize, PointList &pointList, size_t &pointListSize, std::vector< uint8_t > &pointFlags)
 
void reviseSeamLineFlags (PolygonPoolList &polygonPoolList, size_t polygonPoolListSize, std::vector< uint8_t > &pointFlags)
 
template<typename InputTree >
void relaxDisorientedTriangles (bool invertSurfaceOrientation, const InputTree &inputTree, const math::Transform &transform, PolygonPoolList &polygonPoolList, size_t polygonPoolListSize, PointList &pointList, const size_t pointListSize)
 

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...
 

Enumeration Type Documentation

anonymous enum

Bit-flags used to classify cells.

Enumerator
SIGNS 
EDGES 
INSIDE 
XEDGE 
YEDGE 
ZEDGE 
SEAM 

Definition at line 424 of file VolumeToMesh.h.

anonymous enum

Utility methods for point quantization.

Enumerator
MASK_FIRST_10_BITS 
MASK_DIRTY_BIT 
MASK_INVALID_BIT 

Definition at line 582 of file VolumeToMesh.h.

Function Documentation

template<typename InputGridType >
void openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::applySurfaceMask ( typename InputGridType::TreeType::template ValueConverter< bool >::Type &  intersectionTree,
typename InputGridType::TreeType::template ValueConverter< bool >::Type &  borderTree,
const InputGridType &  inputGrid,
const GridBase::ConstPtr &  maskGrid,
bool  invertMask,
typename InputGridType::ValueType  isovalue 
)
inline

Definition at line 3675 of file VolumeToMesh.h.

template<typename LeafT >
void openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::collectCornerValues ( const LeafT &  leaf,
const Index  offset,
std::vector< double > &  values 
)
inline

Extracts the eight corner values for leaf inclusive cells.

Definition at line 1011 of file VolumeToMesh.h.

template<typename AccessorT >
void openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::collectCornerValues ( const AccessorT &  acc,
const Coord &  ijk,
std::vector< double > &  values 
)
inline

Extracts the eight corner values for a cell starting at the given coordinate.

Definition at line 1027 of file VolumeToMesh.h.

template<typename InputTreeType >
void openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::computeAuxiliaryData ( typename InputTreeType::template ValueConverter< Int16 >::Type &  signFlagsTree,
typename InputTreeType::template ValueConverter< Index32 >::Type &  pointIndexTree,
const typename InputTreeType::template ValueConverter< bool >::Type &  intersectionTree,
const InputTreeType &  inputTree,
typename InputTreeType::ValueType  isovalue 
)
inline

Definition at line 3890 of file VolumeToMesh.h.

void openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::computeCellPoints ( std::vector< Vec3d > &  points,
const std::vector< double > &  values,
unsigned char  signs,
double  iso 
)
inline

Computes the average cell points defined by the sign configuration signs and the given corner values values.

Definition at line 1411 of file VolumeToMesh.h.

void openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::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 uint32_t *  seamPointArray 
)
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.

Definition at line 1442 of file VolumeToMesh.h.

int openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::computeMaskedPoint ( Vec3d &  avg,
const std::vector< double > &  values,
unsigned char  signs,
unsigned char  signsMask,
unsigned char  edgeGroup,
double  iso 
)
inline

Computes the average cell point for a given edge group, ignoring edge samples present in the signsMask configuration.

Definition at line 1149 of file VolumeToMesh.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::computePoint ( const std::vector< double > &  values,
unsigned char  signs,
unsigned char  edgeGroup,
double  iso 
)
inline

Computes the average cell point for a given edge group.

Definition at line 1057 of file VolumeToMesh.h.

template<typename ValueType >
uint8_t openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::computeSignFlags ( const math::Tuple< 8, ValueType > &  values,
const ValueType  iso 
)
inline

Definition at line 677 of file VolumeToMesh.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::computeWeightedPoint ( const Vec3d &  p,
const std::vector< double > &  values,
unsigned char  signs,
unsigned char  edgeGroup,
double  iso 
)
inline

Computes the average cell point for a given edge group, by computing convex weights based on the distance from the sample point p.

Definition at line 1253 of file VolumeToMesh.h.

template<typename SignAccT , typename IdxAccT , typename PrimBuilder >
void openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::constructPolygons ( bool  invertSurfaceOrientation,
Int16  flags,
Int16  refFlags,
const Vec3i &  offsets,
const Coord &  ijk,
const SignAccT &  signAcc,
const IdxAccT &  idxAcc,
PrimBuilder &  mesher 
)
inline

Definition at line 2538 of file VolumeToMesh.h.

template<class AccessorT >
void openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::correctCellSigns ( uint8_t &  signs,
uint8_t  face,
const AccessorT &  acc,
Coord  ijk,
typename AccessorT::ValueType  iso 
)
inline

Used to correct topological ambiguities related to two adjacent cells that share an ambiguous face.

Definition at line 759 of file VolumeToMesh.h.

template<typename AccessorT >
uint8_t openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::evalCellSigns ( const AccessorT &  accessor,
const Coord &  ijk,
typename AccessorT::ValueType  iso 
)
inline

General method that computes the cell-sign configuration at the given ijk coordinate.

Definition at line 696 of file VolumeToMesh.h.

template<typename LeafT >
uint8_t openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::evalCellSigns ( const LeafT &  leaf,
const Index  offset,
typename LeafT::ValueType  iso 
)
inline

Leaf node optimized method that computes the cell-sign configuration at the given local offset.

Definition at line 723 of file VolumeToMesh.h.

template<typename LeafNode , typename TreeAcc , typename VoxelEdgeAcc >
void openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::evalExtrenalVoxelEdges ( VoxelEdgeAcc &  edgeAcc,
TreeAcc &  acc,
const LeafNode &  lhsNode,
const LeafNodeVoxelOffsets &  voxels,
const typename LeafNode::ValueType  iso 
)

Utility method to check for sign changes along the x + 1, y + 1 or z + 1 directions. The direction is determined by the edgeAcc parameter. All voxels that reside in the specified leafnode face: back, top or right are evaluated.

Definition at line 3158 of file VolumeToMesh.h.

template<typename LeafNode , typename TreeAcc , typename VoxelEdgeAcc >
void openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::evalExtrenalVoxelEdgesInv ( VoxelEdgeAcc &  edgeAcc,
TreeAcc &  acc,
const LeafNode &  leafnode,
const LeafNodeVoxelOffsets &  voxels,
const typename LeafNode::ValueType  iso 
)

Utility method to check for sign changes along the x - 1, y - 1 or z - 1 directions. The direction is determined by the edgeAcc parameter. All voxels that reside in the specified leafnode face: front, bottom or left are evaluated.

Definition at line 3206 of file VolumeToMesh.h.

template<typename VoxelEdgeAcc , typename LeafNode >
void openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::evalInternalVoxelEdges ( VoxelEdgeAcc &  edgeAcc,
const LeafNode &  leafnode,
const LeafNodeVoxelOffsets &  voxels,
const typename LeafNode::ValueType  iso 
)

Utility method to check for sign changes along the x + 1, y + 1 or z + 1 directions. The direction is determined by the edgeAcc parameter. Only voxels that have internal neighbours are evaluated.

Definition at line 3128 of file VolumeToMesh.h.

double openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::evalZeroCrossing ( double  v0,
double  v1,
double  iso 
)
inline

linear interpolation.

Definition at line 1005 of file VolumeToMesh.h.

template<typename ValueType >
void openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::fillArray ( ValueType *  array,
const ValueType &  val,
const size_t  length 
)
inline

Definition at line 414 of file VolumeToMesh.h.

template<typename AccessorT >
void openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::getCellVertexValues ( const AccessorT &  accessor,
Coord  ijk,
math::Tuple< 8, typename AccessorT::ValueType > &  values 
)
inline

Definition at line 638 of file VolumeToMesh.h.

template<typename LeafT >
void openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::getCellVertexValues ( const LeafT &  leaf,
const Index  offset,
math::Tuple< 8, typename LeafT::ValueType > &  values 
)
inline

Definition at line 661 of file VolumeToMesh.h.

template<typename InputTreeType >
void openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::identifySurfaceIntersectingVoxels ( typename InputTreeType::template ValueConverter< bool >::Type &  intersectionTree,
const InputTreeType &  inputTree,
typename InputTreeType::ValueType  isovalue 
)
inline

Definition at line 3348 of file VolumeToMesh.h.

template<typename T >
bool openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::isBoolValue ( )
inline

Definition at line 622 of file VolumeToMesh.h.

Definition at line 625 of file VolumeToMesh.h.

template<typename T >
bool openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::isInsideValue ( value,
isovalue 
)
inline

Definition at line 630 of file VolumeToMesh.h.

template<>
bool openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::isInsideValue< bool > ( bool  value,
bool   
)
inline

Definition at line 633 of file VolumeToMesh.h.

template<class LeafType >
bool openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::isMergable ( LeafType &  leaf,
const Coord &  start,
int  dim,
typename LeafType::ValueType::value_type  adaptivity 
)
inline

Definition at line 967 of file VolumeToMesh.h.

template<class AccessorT >
bool openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::isNonManifold ( const AccessorT &  accessor,
const Coord &  ijk,
typename AccessorT::ValueType  isovalue,
const int  dim 
)
inline

Definition at line 795 of file VolumeToMesh.h.

bool openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::isPlanarQuad ( const Vec3d &  p0,
const Vec3d &  p1,
const Vec3d &  p2,
const Vec3d &  p3,
double  epsilon = 0.001 
)
inline

Definition at line 547 of file VolumeToMesh.h.

template<typename SignDataTreeType >
void openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::markSeamLineData ( SignDataTreeType &  signFlagsTree,
const SignDataTreeType &  refSignFlagsTree 
)
inline

Definition at line 2075 of file VolumeToMesh.h.

template<typename InputTreeType >
void openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::maskActiveTileBorders ( const InputTreeType &  inputTree,
typename InputTreeType::ValueType  iso,
typename InputTreeType::template ValueConverter< bool >::Type &  mask 
)
inline

Definition at line 2831 of file VolumeToMesh.h.

int openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::matchEdgeGroup ( unsigned char  groupId,
unsigned char  lhsSigns,
unsigned char  rhsSigns 
)
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.

Definition at line 1424 of file VolumeToMesh.h.

template<class LeafType >
void openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::mergeVoxels ( LeafType &  leaf,
const Coord &  start,
int  dim,
int  regionId 
)
inline

Definition at line 946 of file VolumeToMesh.h.

uint32_t openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::packPoint ( const Vec3d &  v)
inline

Utility methods for point quantization.

Definition at line 589 of file VolumeToMesh.h.

template<typename InputTree >
void openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::relaxDisorientedTriangles ( bool  invertSurfaceOrientation,
const InputTree &  inputTree,
const math::Transform &  transform,
PolygonPoolList &  polygonPoolList,
size_t  polygonPoolListSize,
PointList &  pointList,
const size_t  pointListSize 
)
inline

Definition at line 4595 of file VolumeToMesh.h.

void openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::reviseSeamLineFlags ( PolygonPoolList &  polygonPoolList,
size_t  polygonPoolListSize,
std::vector< uint8_t > &  pointFlags 
)
inline

Definition at line 4506 of file VolumeToMesh.h.

void openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::subdivideNonplanarSeamLineQuads ( PolygonPoolList &  polygonPoolList,
size_t  polygonPoolListSize,
PointList &  pointList,
size_t &  pointListSize,
std::vector< uint8_t > &  pointFlags 
)
inline

Definition at line 4393 of file VolumeToMesh.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::unpackPoint ( uint32_t  data)
inline

Utility methods for point quantization.

Definition at line 605 of file VolumeToMesh.h.

Variable Documentation

const bool openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::sAdaptable[256]
Initial value:
= {
1,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1,0,1,0,0,0,1,0,1,0,1,0,1,0,1,
1,0,1,1,0,0,1,1,0,0,0,1,0,0,1,1,1,1,1,1,0,0,1,1,0,1,0,1,0,0,0,1,
1,0,0,0,1,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1,0,1,1,1,0,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,1,1,0,1,0,0,0,0,1,1,0,1,1,1,0,1,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,0,1,0,0,0,1,
1,0,0,0,1,0,1,0,1,1,0,0,1,1,1,1,1,1,0,0,1,0,0,0,1,1,0,0,1,1,0,1,
1,0,1,0,1,0,1,0,1,0,0,0,1,0,1,1,1,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1}

Used to quickly determine if a given cell is adaptable.

Definition at line 429 of file VolumeToMesh.h.

const unsigned char openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::sAmbiguousFace[256]
Initial value:
= {
0,0,0,0,0,5,0,0,0,0,5,0,0,0,0,0,0,0,1,0,0,5,1,0,4,0,0,0,4,0,0,0,
0,1,0,0,2,0,0,0,0,1,5,0,2,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,0,0,0,0,
0,0,2,2,0,5,0,0,3,3,0,0,0,0,0,0,6,6,0,0,6,0,0,0,0,0,0,0,0,0,0,0,
0,1,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,4,0,4,3,0,3,0,0,0,5,0,0,0,0,0,0,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,
6,0,6,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,4,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}

Contains the ambiguous face index for certain cell configuration.

Definition at line 441 of file VolumeToMesh.h.

const unsigned char openvdb::OPENVDB_VERSION_NAME::tools::volume_to_mesh_internal::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.

Definition at line 455 of file VolumeToMesh.h.