diff options
author | Jacques Lucke <jacques@blender.org> | 2021-05-21 13:20:36 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2021-05-21 13:20:36 +0300 |
commit | cfe5232226c43f78782be02848cac64d3576ebcc (patch) | |
tree | bfe6707ac9b1f8f45b2b872059e0fd40bed91e97 /source/blender/io/alembic/intern/abc_customdata.h | |
parent | aa6817616c17d323fe5da79bba8590f6b2fb1c1d (diff) | |
parent | ff51c2e89a0951d043a843435b4c25ba7a15e8e2 (diff) |
Merge branch 'master' into temp-attributes-paneltemp-attributes-panel
Diffstat (limited to 'source/blender/io/alembic/intern/abc_customdata.h')
-rw-r--r-- | source/blender/io/alembic/intern/abc_customdata.h | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/source/blender/io/alembic/intern/abc_customdata.h b/source/blender/io/alembic/intern/abc_customdata.h index 4eb515f132c..9ee964c0545 100644 --- a/source/blender/io/alembic/intern/abc_customdata.h +++ b/source/blender/io/alembic/intern/abc_customdata.h @@ -72,12 +72,16 @@ struct CDStreamConfig { const char **modifier_error_message; - /* Alembic needs Blender to keep references to C++ objects (the destructors - * finalize the writing to ABC). This map stores OV2fGeomParam objects for the - * 2nd and subsequent UV maps; the primary UV map is kept alive by the Alembic - * mesh sample itself. */ + /* Alembic needs Blender to keep references to C++ objects (the destructors finalize the writing + * to ABC). The following fields are all used to keep these references. */ + + /* Mapping from UV map name to its ABC property, for the 2nd and subsequent UV maps; the primary + * UV map is kept alive by the Alembic mesh sample itself. */ std::map<std::string, Alembic::AbcGeom::OV2fGeomParam> abc_uv_maps; + /* OCRO coordinates, aka Generated Coordinates. */ + Alembic::AbcGeom::OV3fGeomParam abc_ocro; + CDStreamConfig() : mloop(NULL), totloop(0), @@ -102,6 +106,12 @@ struct CDStreamConfig { * For now the active layer is used, maybe needs a better way to choose this. */ const char *get_uv_sample(UVSample &sample, const CDStreamConfig &config, CustomData *data); +void write_generated_coordinates(const OCompoundProperty &prop, CDStreamConfig &config); + +void read_generated_coordinates(const ICompoundProperty &prop, + const CDStreamConfig &config, + const Alembic::Abc::ISampleSelector &iss); + void write_custom_data(const OCompoundProperty &prop, CDStreamConfig &config, CustomData *data, |