OpenVDB  1.2.0
Classes | Namespaces | Constant Groups | Enumerations | Functions | Variables
VolumeToMesh.h File Reference
#include <openvdb/tree/ValueAccessor.h>
#include <openvdb/util/Util.h>
#include <openvdb/math/Operators.h>
#include <openvdb/tools/Morphology.h>
#include <openvdb/tree/LeafManager.h>
#include <boost/scoped_array.hpp>
#include <boost/scoped_ptr.hpp>
#include <tbb/blocked_range.h>
#include <tbb/parallel_for.h>
#include <tbb/parallel_reduce.h>
#include <vector>

Go to the source code of this file.

Classes

class  PolygonPool
 Collection of quads and triangles. More...
 
class  VolumeToMesh
 Mesh any scalar grid that has a continuous isosurface. More...
 
class  LeafCPtrList< TreeT >
 
class  LeafPtrList< TreeT >
 
struct  ReferenceData< DistTreeT >
 
class  Count< DistTreeT >
 
class  Merge< DistTreeT >
 
class  PointGen< DistTreeT >
 
struct  QuadMeshOp
 
struct  AdaptiveMeshOp
 
class  MeshGen< DistTreeT, MeshingOp >
 
struct  PartOp
 
class  PartGen< SrcTreeT >
 
class  MaskGen< SrcTreeT >
 
struct  BoundaryMergeOp< IntTreeT >
 
class  BoundaryMaskGen< SrcTreeT >
 
class  AuxiliaryData< SrcTreeT, LeafManagerT, AuxDataT >
 
class  SeamMaskGen< DistTreeT >
 
class  EdgeSmooth< DistTreeT >
 
class  AuxDataGenerator< CharAccessorT, AuxAccessorT >
 
class  PointListCopy
 

Namespaces

 openvdb
 
 openvdb::v1_2_0
 
 openvdb::v1_2_0::tools
 
 openvdb::v1_2_0::tools::internal
 

Constant Groups

 openvdb
 
 openvdb::v1_2_0
 
 openvdb::v1_2_0::tools
 
 openvdb::v1_2_0::tools::internal
 

Typedefs

typedef boost::scoped_array
< openvdb::Vec3s
PointList
 Point and primitive list types. More...
 
typedef boost::scoped_array
< PolygonPool > 
PolygonPoolList
 Point and primitive list types. More...
 

Enumerations

enum  { POLYFLAG_EXTERIOR = 0x1, POLYFLAG_FRACTURE_SEAM = 0x2 }
 Polygon flags, used for reference based meshing. More...
 
enum  { INSIDE = 0x1, XEDGE = 0x2, YEDGE = 0x4, ZEDGE = 0x8 }
 

Functions

template<typename GridType >
void 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 volumeToMesh (const GridType &grid, std::vector< Vec3s > &points, std::vector< Vec3I > &triangles, std::vector< Vec4I > &quads, double isovalue=0.0, double adaptivity=0.0)
 Adaptively mesh any scalar grid that has a continuous isosurface. More...
 
Vec3d 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...
 
template<class AccessorT >
bool isAmbiguous (const AccessorT &accessor, const Coord &ijk, typename AccessorT::ValueType isovalue, int dim)
 
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)
 
template<class DistTreeT , class AuxTreeT , class CharTreeT >
void tileAuxiliaryData (const DistTreeT &distTree, CharTreeT &edgeTree, AuxTreeT &auxTree, double iso)
 

Variables

const bool sAmbiguous [256]