HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VolumeToMesh.h File Reference

Extract polygonal surfaces from scalar volumes. More...

#include <openvdb/Platform.h>
#include <openvdb/math/Operators.h>
#include <openvdb/tree/ValueAccessor.h>
#include <openvdb/util/Util.h>
#include <openvdb/openvdb.h>
#include <tbb/blocked_range.h>
#include <tbb/parallel_for.h>
#include <tbb/parallel_reduce.h>
#include <tbb/task_arena.h>
#include <cmath>
#include <cstring>
#include <map>
#include <memory>
#include <set>
#include <type_traits>
#include <vector>
+ Include dependency graph for VolumeToMesh.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  openvdb::OPENVDB_VERSION_NAME::tools::PolygonPool
 Collection of quads and triangles. More...
 
struct  openvdb::OPENVDB_VERSION_NAME::tools::VolumeToMesh
 Mesh any scalar grid that has a continuous isosurface. More...
 

Namespaces

 openvdb
 
 openvdb::OPENVDB_VERSION_NAME
 
 openvdb::OPENVDB_VERSION_NAME::tools
 

Typedefs

using openvdb::OPENVDB_VERSION_NAME::tools::PointList = std::unique_ptr< openvdb::Vec3s[]>
 Point and primitive list types. More...
 
using openvdb::OPENVDB_VERSION_NAME::tools::PolygonPoolList = std::unique_ptr< PolygonPool[]>
 Point and primitive list types. More...
 

Enumerations

enum  { openvdb::OPENVDB_VERSION_NAME::tools::POLYFLAG_EXTERIOR = 0x1, openvdb::OPENVDB_VERSION_NAME::tools::POLYFLAG_FRACTURE_SEAM = 0x2, openvdb::OPENVDB_VERSION_NAME::tools::POLYFLAG_SUBDIVIDED = 0x4 }
 Polygon flags, used for reference based meshing. More...
 

Functions

template<typename GridType >
void openvdb::OPENVDB_VERSION_NAME::tools::volumeToMesh (const GridType &grid, std::vector< Vec3s > &points, std::vector< Vec4I > &quads, double isovalue=0.0)
 Uniformly mesh any scalar grid that has a continuous isosurface. More...
 
template<typename GridType >
void openvdb::OPENVDB_VERSION_NAME::tools::volumeToMesh (const GridType &grid, std::vector< Vec3s > &points, std::vector< Vec3I > &triangles, std::vector< Vec4I > &quads, double isovalue=0.0, double adaptivity=0.0, bool relaxDisorientedTriangles=true)
 Adaptively mesh any scalar grid that has a continuous isosurface. More...
 
Vec3d openvdb::OPENVDB_VERSION_NAME::tools::findFeaturePoint (const std::vector< Vec3d > &points, const std::vector< Vec3d > &normals)
 Given a set of tangent elements, points with corresponding normals, this method returns the intersection point of all tangent elements. More...
 

Detailed Description

Extract polygonal surfaces from scalar volumes.

Author
Mihai Alden

Definition in file VolumeToMesh.h.