Blender  V2.93
Classes | Typedefs | Enumerations | Functions
openvdb_capi.h File Reference

Go to the source code of this file.

Classes

struct  OpenVDBVolumeToMeshData
 
struct  OpenVDBRemeshData
 

Typedefs

typedef enum OpenVDBLevelSet_FilterType OpenVDBLevelSet_FilterType
 
typedef enum OpenVDBLevelSet_FilterBias OpenVDBLevelSet_FilterBias
 
typedef enum OpenVDBLevelSet_CSGOperation OpenVDBLevelSet_CSGOperation
 
typedef enum OpenVDBLevelSet_GridSampler OpenVDBLevelSet_Gridsampler
 

Enumerations

enum  OpenVDBLevelSet_FilterType {
  OPENVDB_LEVELSET_FILTER_NONE = 0 , OPENVDB_LEVELSET_FILTER_GAUSSIAN = 1 , OPENVDB_LEVELSET_FILTER_MEAN = 2 , OPENVDB_LEVELSET_FILTER_MEDIAN = 3 ,
  OPENVDB_LEVELSET_FILTER_MEAN_CURVATURE = 4 , OPENVDB_LEVELSET_FILTER_LAPLACIAN = 5 , OPENVDB_LEVELSET_FILTER_DILATE = 6 , OPENVDB_LEVELSET_FILTER_ERODE = 7
}
 
enum  OpenVDBLevelSet_FilterBias {
  OPENVDB_LEVELSET_FIRST_BIAS = 0 , OPENVDB_LEVELSET_SECOND_BIAS , OPENVDB_LEVELSET_THIRD_BIAS , OPENVDB_LEVELSET_WENO5_BIAS ,
  OPENVDB_LEVELSET_HJWENO5_BIAS
}
 
enum  OpenVDBLevelSet_CSGOperation { OPENVDB_LEVELSET_CSG_UNION = 0 , OPENVDB_LEVELSET_CSG_DIFFERENCE = 1 , OPENVDB_LEVELSET_CSG_INTERSECTION = 2 }
 
enum  OpenVDBLevelSet_GridSampler { OPENVDB_LEVELSET_GRIDSAMPLER_NONE = 0 , OPENVDB_LEVELSET_GRIDSAMPLER_POINT = 1 , OPENVDB_LEVELSET_GRIDSAMPLER_BOX = 2 , OPENVDB_LEVELSET_GRIDSAMPLER_QUADRATIC = 3 }
 
enum  {
  VEC_INVARIANT = 0 , VEC_COVARIANT = 1 , VEC_COVARIANT_NORMALIZE = 2 , VEC_CONTRAVARIANT_RELATIVE = 3 ,
  VEC_CONTRAVARIANT_ABSOLUTE = 4
}
 

Functions

int OpenVDB_getVersionHex (void)
 
struct OpenVDBTransformOpenVDBTransform_create (void)
 
void OpenVDBTransform_free (struct OpenVDBTransform *transform)
 
void OpenVDBTransform_create_linear_transform (struct OpenVDBTransform *transform, double voxel_size)
 
struct OpenVDBLevelSetOpenVDBLevelSet_create (bool initGrid, struct OpenVDBTransform *xform)
 
void OpenVDBLevelSet_free (struct OpenVDBLevelSet *level_set)
 
void OpenVDBLevelSet_mesh_to_level_set (struct OpenVDBLevelSet *level_set, const float *vertices, const unsigned int *faces, const unsigned int totvertices, const unsigned int totfaces, struct OpenVDBTransform *xform)
 
void OpenVDBLevelSet_mesh_to_level_set_transform (struct OpenVDBLevelSet *level_set, const float *vertices, const unsigned int *faces, const unsigned int totvertices, const unsigned int totfaces, struct OpenVDBTransform *transform)
 
void OpenVDBLevelSet_volume_to_mesh (struct OpenVDBLevelSet *level_set, struct OpenVDBVolumeToMeshData *mesh, const double isovalue, const double adaptivity, const bool relax_disoriented_triangles)
 
void OpenVDBLevelSet_filter (struct OpenVDBLevelSet *level_set, OpenVDBLevelSet_FilterType filter_type, int width, float distance, OpenVDBLevelSet_FilterBias bias)
 
void OpenVDBLevelSet_CSG_operation (struct OpenVDBLevelSet *out, struct OpenVDBLevelSet *gridA, struct OpenVDBLevelSet *gridB, OpenVDBLevelSet_CSGOperation operation)
 
struct OpenVDBLevelSetOpenVDBLevelSet_transform_and_resample (struct OpenVDBLevelSet *level_setA, struct OpenVDBLevelSet *level_setB, char sampler, float isolevel)
 

Typedef Documentation

◆ OpenVDBLevelSet_CSGOperation

◆ OpenVDBLevelSet_FilterBias

◆ OpenVDBLevelSet_FilterType

◆ OpenVDBLevelSet_Gridsampler

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
VEC_INVARIANT 
VEC_COVARIANT 
VEC_COVARIANT_NORMALIZE 
VEC_CONTRAVARIANT_RELATIVE 
VEC_CONTRAVARIANT_ABSOLUTE 

Definition at line 98 of file openvdb_capi.h.

◆ OpenVDBLevelSet_CSGOperation

Enumerator
OPENVDB_LEVELSET_CSG_UNION 
OPENVDB_LEVELSET_CSG_DIFFERENCE 
OPENVDB_LEVELSET_CSG_INTERSECTION 

Definition at line 48 of file openvdb_capi.h.

◆ OpenVDBLevelSet_FilterBias

Enumerator
OPENVDB_LEVELSET_FIRST_BIAS 
OPENVDB_LEVELSET_SECOND_BIAS 
OPENVDB_LEVELSET_THIRD_BIAS 
OPENVDB_LEVELSET_WENO5_BIAS 
OPENVDB_LEVELSET_HJWENO5_BIAS 

Definition at line 39 of file openvdb_capi.h.

◆ OpenVDBLevelSet_FilterType

Enumerator
OPENVDB_LEVELSET_FILTER_NONE 
OPENVDB_LEVELSET_FILTER_GAUSSIAN 
OPENVDB_LEVELSET_FILTER_MEAN 
OPENVDB_LEVELSET_FILTER_MEDIAN 
OPENVDB_LEVELSET_FILTER_MEAN_CURVATURE 
OPENVDB_LEVELSET_FILTER_LAPLACIAN 
OPENVDB_LEVELSET_FILTER_DILATE 
OPENVDB_LEVELSET_FILTER_ERODE 

Definition at line 28 of file openvdb_capi.h.

◆ OpenVDBLevelSet_GridSampler

Enumerator
OPENVDB_LEVELSET_GRIDSAMPLER_NONE 
OPENVDB_LEVELSET_GRIDSAMPLER_POINT 
OPENVDB_LEVELSET_GRIDSAMPLER_BOX 
OPENVDB_LEVELSET_GRIDSAMPLER_QUADRATIC 

Definition at line 54 of file openvdb_capi.h.

Function Documentation

◆ OpenVDB_getVersionHex()

int OpenVDB_getVersionHex ( void  )

Definition at line 25 of file openvdb_capi.cc.

Referenced by make_openvdb_info().

◆ OpenVDBLevelSet_create()

struct OpenVDBLevelSet* OpenVDBLevelSet_create ( bool  initGrid,
struct OpenVDBTransform xform 
)

◆ OpenVDBLevelSet_CSG_operation()

void OpenVDBLevelSet_CSG_operation ( struct OpenVDBLevelSet out,
struct OpenVDBLevelSet gridA,
struct OpenVDBLevelSet gridB,
OpenVDBLevelSet_CSGOperation  operation 
)

◆ OpenVDBLevelSet_filter()

void OpenVDBLevelSet_filter ( struct OpenVDBLevelSet level_set,
OpenVDBLevelSet_FilterType  filter_type,
int  width,
float  distance,
OpenVDBLevelSet_FilterBias  bias 
)

Definition at line 93 of file openvdb_capi.cc.

References distance(), OpenVDBLevelSet::filter(), and width.

◆ OpenVDBLevelSet_free()

void OpenVDBLevelSet_free ( struct OpenVDBLevelSet level_set)

Definition at line 59 of file openvdb_capi.cc.

Referenced by BKE_mesh_remesh_voxel_to_mesh_nomain().

◆ OpenVDBLevelSet_mesh_to_level_set()

void OpenVDBLevelSet_mesh_to_level_set ( struct OpenVDBLevelSet level_set,
const float vertices,
const unsigned int *  faces,
const unsigned int  totvertices,
const unsigned int  totfaces,
struct OpenVDBTransform xform 
)

◆ OpenVDBLevelSet_mesh_to_level_set_transform()

void OpenVDBLevelSet_mesh_to_level_set_transform ( struct OpenVDBLevelSet level_set,
const float vertices,
const unsigned int *  faces,
const unsigned int  totvertices,
const unsigned int  totfaces,
struct OpenVDBTransform transform 
)

Definition at line 74 of file openvdb_capi.cc.

References faces, OpenVDBLevelSet::mesh_to_level_set(), and transform().

◆ OpenVDBLevelSet_transform_and_resample()

struct OpenVDBLevelSet* OpenVDBLevelSet_transform_and_resample ( struct OpenVDBLevelSet level_setA,
struct OpenVDBLevelSet level_setB,
char  sampler,
float  isolevel 
)

◆ OpenVDBLevelSet_volume_to_mesh()

void OpenVDBLevelSet_volume_to_mesh ( struct OpenVDBLevelSet level_set,
struct OpenVDBVolumeToMeshData mesh,
const double  isovalue,
const double  adaptivity,
const bool  relax_disoriented_triangles 
)

Definition at line 84 of file openvdb_capi.cc.

References mesh, and OpenVDBLevelSet::volume_to_mesh().

◆ OpenVDBTransform_create()

struct OpenVDBTransform* OpenVDBTransform_create ( void  )

Definition at line 44 of file openvdb_capi.cc.

Referenced by BKE_mesh_remesh_voxel_to_mesh_nomain().

◆ OpenVDBTransform_create_linear_transform()

void OpenVDBTransform_create_linear_transform ( struct OpenVDBTransform transform,
double  voxel_size 
)

Definition at line 54 of file openvdb_capi.cc.

References transform().

Referenced by BKE_mesh_remesh_voxel_to_mesh_nomain().

◆ OpenVDBTransform_free()

void OpenVDBTransform_free ( struct OpenVDBTransform transform)

Definition at line 49 of file openvdb_capi.cc.

References transform().

Referenced by BKE_mesh_remesh_voxel_to_mesh_nomain().