OpenVDB
12.0.0
|
Mesh any scalar grid that has a continuous isosurface. More...
#include <openvdb/tools/VolumeToMesh.h>
Public Member Functions | |
VolumeToMesh (double isovalue=0, double adaptivity=0, bool relaxDisorientedTriangles=true) | |
template<typename InputGridType > | |
void | operator() (const InputGridType &) |
Main call. More... | |
void | setRefGrid (const GridBase::ConstPtr &grid, double secAdaptivity=0) |
When surfacing fractured SDF fragments, the original unfractured SDF grid can be used to eliminate seam lines and tag polygons that are coincident with the reference surface with the POLYFLAG_EXTERIOR flag and polygons that are in proximity to the seam lines with the POLYFLAG_FRACTURE_SEAM flag. (The performance cost for using this reference based scheme compared to the regular meshing scheme is approximately 15% for the first fragment and neglect-able for subsequent fragments.) More... | |
void | setSurfaceMask (const GridBase::ConstPtr &mask, bool invertMask=false) |
void | setSpatialAdaptivity (const GridBase::ConstPtr &grid) |
void | setAdaptivityMask (const TreeBase::ConstPtr &tree) |
size_t | pointListSize () const |
PointList & | pointList () |
const PointList & | pointList () const |
size_t | polygonPoolListSize () const |
PolygonPoolList & | polygonPoolList () |
const PolygonPoolList & | polygonPoolList () const |
std::vector< uint8_t > & | pointFlags () |
const std::vector< uint8_t > & | pointFlags () const |
Mesh any scalar grid that has a continuous isosurface.
|
inline |
isovalue | Determines which isosurface to mesh. |
adaptivity | Adaptivity threshold [0 to 1] |
relaxDisorientedTriangles | Toggle relaxing disoriented triangles during adaptive meshing. |
|
inline |
Main call.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
tree | A boolean tree whose active topology defines the adaptivity mask. |
GridT's
tree configuration.
|
inline |
When surfacing fractured SDF fragments, the original unfractured SDF grid can be used to eliminate seam lines and tag polygons that are coincident with the reference surface with the POLYFLAG_EXTERIOR
flag and polygons that are in proximity to the seam lines with the POLYFLAG_FRACTURE_SEAM
flag. (The performance cost for using this reference based scheme compared to the regular meshing scheme is approximately 15% for the first fragment and neglect-able for subsequent fragments.)
POLYFLAG_EXTERIOR
flag. Polygons that are not marked with this flag are interior to reference surface and might need projected UV coordinates or a different material. Polygons marked as POLYFLAG_FRACTURE_SEAM
can be used to drive secondary elements such as debris and dust in a FX pipeline.grid | reference surface grid of GridT type. |
secAdaptivity | Secondary adaptivity threshold [0 to 1]. Used in regions that do not exist in the reference grid. (Parts of the fragment surface that are not coincident with the reference surface.) |
|
inline |
grid | A scalar grid used as a spatial multiplier for the adaptivity threshold. |
GridT's
tree configuration.
|
inline |
mask | A boolean grid whose active topology defines the region to mesh. |
invertMask | Toggle to mesh the complement of the mask. |
GridT's
tree configuration.