Changeset View
Changeset View
Standalone View
Standalone View
intern/openvdb/openvdb_capi.h
| Show All 18 Lines | |||||
| #ifndef __OPENVDB_CAPI_H__ | #ifndef __OPENVDB_CAPI_H__ | ||||
| #define __OPENVDB_CAPI_H__ | #define __OPENVDB_CAPI_H__ | ||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||
| extern "C" { | extern "C" { | ||||
| #endif | #endif | ||||
| /* Level Set Filters */ | |||||
| typedef 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, | |||||
| } OpenVDBLevelSet_FilterType; | |||||
| typedef enum OpenVDBLevelSet_FilterBias { | |||||
| OPENVDB_LEVELSET_FIRST_BIAS = 0, | |||||
| OPENVDB_LEVELSET_SECOND_BIAS, | |||||
| OPENVDB_LEVELSET_THIRD_BIAS, | |||||
| OPENVDB_LEVELSET_WENO5_BIAS, | |||||
| OPENVDB_LEVELSET_HJWENO5_BIAS, | |||||
| } OpenVDBLevelSet_FilterBias; | |||||
| /* Level Set CSG Operations */ | |||||
| typedef enum OpenVDBLevelSet_CSGOperation { | |||||
| OPENVDB_LEVELSET_CSG_UNION = 0, | |||||
| OPENVDB_LEVELSET_CSG_DIFFERENCE = 1, | |||||
| OPENVDB_LEVELSET_CSG_INTERSECTION = 2, | |||||
| } OpenVDBLevelSet_CSGOperation; | |||||
| typedef enum OpenVDBLevelSet_GridSampler { | |||||
| OPENVDB_LEVELSET_GRIDSAMPLER_NONE = 0, | |||||
| OPENVDB_LEVELSET_GRIDSAMPLER_POINT = 1, | |||||
| OPENVDB_LEVELSET_GRIDSAMPLER_BOX = 2, | |||||
| OPENVDB_LEVELSET_GRIDSAMPLER_QUADRATIC = 3, | |||||
| } OpenVDBLevelSet_Gridsampler; | |||||
| struct OpenVDBReader; | struct OpenVDBReader; | ||||
| struct OpenVDBWriter; | struct OpenVDBWriter; | ||||
| struct OpenVDBTransform; | |||||
| struct OpenVDBLevelSet; | |||||
| struct OpenVDBFloatGrid; | struct OpenVDBFloatGrid; | ||||
| struct OpenVDBIntGrid; | struct OpenVDBIntGrid; | ||||
| struct OpenVDBVectorGrid; | struct OpenVDBVectorGrid; | ||||
brecht: Add empty line above this one. | |||||
| struct OpenVDBVolumeToMeshData { | |||||
| int tottriangles; | |||||
| int totquads; | |||||
| int totvertices; | |||||
| float *vertices; | |||||
| unsigned int *quads; | |||||
| unsigned int *triangles; | |||||
| }; | |||||
| struct OpenVDBRemeshData { | |||||
| float *verts; | |||||
| unsigned int *faces; | |||||
| int totfaces; | |||||
| int totverts; | |||||
| float *out_verts; | |||||
| unsigned int *out_faces; | |||||
| unsigned int *out_tris; | |||||
| int out_totverts; | |||||
| int out_totfaces; | |||||
| int out_tottris; | |||||
| int filter_type; | |||||
Not Done Inline ActionsFor type safetype and clarity you could instead use this: enum OpenVDBLevelSet_FilterType filter_type; enum OpenVDBLevelSet_FilterBias filter_bias; brecht: For type safetype and clarity you could instead use this:
```
enum OpenVDBLevelSet_FilterType… | |||||
| enum OpenVDBLevelSet_FilterType filter_bias; | |||||
Not Done Inline ActionsComment style: /* Parameter for gaussian, median, mean. */ brecht: Comment style: `/* Parameter for gaussian, median, mean. */` | |||||
| enum OpenVDBLevelSet_FilterBias filter_width; /* Parameter for gaussian, median, mean*/ | |||||
| float voxel_size; | |||||
| float isovalue; | |||||
| float adaptivity; | |||||
| int relax_disoriented_triangles; | |||||
| }; | |||||
| int OpenVDB_getVersionHex(void); | int OpenVDB_getVersionHex(void); | ||||
| enum { | enum { | ||||
| VEC_INVARIANT = 0, | VEC_INVARIANT = 0, | ||||
| VEC_COVARIANT = 1, | VEC_COVARIANT = 1, | ||||
| VEC_COVARIANT_NORMALIZE = 2, | VEC_COVARIANT_NORMALIZE = 2, | ||||
| VEC_CONTRAVARIANT_RELATIVE = 3, | VEC_CONTRAVARIANT_RELATIVE = 3, | ||||
| VEC_CONTRAVARIANT_ABSOLUTE = 4, | VEC_CONTRAVARIANT_ABSOLUTE = 4, | ||||
| ▲ Show 20 Lines • Show All 66 Lines • ▼ Show 20 Lines | |||||
| void OpenVDBReader_get_meta_fl(struct OpenVDBReader *reader, const char *name, float *value); | void OpenVDBReader_get_meta_fl(struct OpenVDBReader *reader, const char *name, float *value); | ||||
| void OpenVDBReader_get_meta_int(struct OpenVDBReader *reader, const char *name, int *value); | void OpenVDBReader_get_meta_int(struct OpenVDBReader *reader, const char *name, int *value); | ||||
| void OpenVDBReader_get_meta_v3(struct OpenVDBReader *reader, const char *name, float value[3]); | void OpenVDBReader_get_meta_v3(struct OpenVDBReader *reader, const char *name, float value[3]); | ||||
| void OpenVDBReader_get_meta_v3_int(struct OpenVDBReader *reader, const char *name, int value[3]); | void OpenVDBReader_get_meta_v3_int(struct OpenVDBReader *reader, const char *name, int value[3]); | ||||
| void OpenVDBReader_get_meta_mat4(struct OpenVDBReader *reader, | void OpenVDBReader_get_meta_mat4(struct OpenVDBReader *reader, | ||||
| const char *name, | const char *name, | ||||
| float value[4][4]); | float value[4][4]); | ||||
| struct OpenVDBTransform *OpenVDBTransform_create(void); | |||||
| void OpenVDBTransform_free(struct OpenVDBTransform *transform); | |||||
| void OpenVDBTransform_create_linear_transform(struct OpenVDBTransform *transform, | |||||
| double voxel_size); | |||||
| struct OpenVDBLevelSet *OpenVDBLevelSet_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 OpenVDBLevelSet *OpenVDBLevelSet_transform_and_resample(struct OpenVDBLevelSet *level_setA, | |||||
| struct OpenVDBLevelSet *level_setB, | |||||
| char sampler, | |||||
| float isolevel); | |||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||
| } | } | ||||
| #endif | #endif | ||||
| #endif /* __OPENVDB_CAPI_H__ */ | #endif /* __OPENVDB_CAPI_H__ */ | ||||
Add empty line above this one.