diff options
Diffstat (limited to 'source/blender/io/usd/usd.h')
-rw-r--r-- | source/blender/io/usd/usd.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/source/blender/io/usd/usd.h b/source/blender/io/usd/usd.h index d42cc9152b4..d993d7d62cf 100644 --- a/source/blender/io/usd/usd.h +++ b/source/blender/io/usd/usd.h @@ -28,6 +28,8 @@ extern "C" { struct Scene; struct bContext; +typedef struct CacheArchiveHandle CacheArchiveHandle; + struct USDExportParams { bool export_animation; bool export_hair; @@ -81,6 +83,39 @@ bool USD_import(struct bContext *C, int USD_get_version(void); +// ----- USD Import and Mesh Cache interface + +CacheArchiveHandle *USD_create_handle(struct Main *bmain, + const char *filename, + struct ListBase *object_paths); + +void USD_free_handle(CacheArchiveHandle *handle); + +void USD_get_transform(struct CacheReader *reader, float r_mat[4][4], float time, float scale); + +/* Either modifies current_mesh in-place or constructs a new mesh. */ +// struct Mesh *USD_read_mesh(struct CacheReader *reader, +// struct Object *ob, +// struct Mesh *current_mesh, +// const float time, +// const char **err_str, +// int flags, +// float vel_scale); +// +// bool USD_mesh_topology_changed(struct CacheReader *reader, +// struct Object *ob, +// struct Mesh *existing_mesh, +// const float time, +// const char **err_str); + +struct CacheReader *CacheReader_open_usd_object(struct CacheArchiveHandle *handle, + struct CacheReader *reader, + struct Object *object, + const char *object_path); + +void USDCacheReader_incref(struct CacheReader *reader); +void USDCacheReader_free(struct CacheReader *reader); + #ifdef __cplusplus } #endif |