Commit: 8e7eefbf32dc87058c2ca774f7acd8473f6d2a79 Author: Sybren A. Stüvel Date: Thu Sep 10 12:34:34 2020 +0200 Branches: temp-T50725-alembic-export-custom-properties https://developer.blender.org/rB8e7eefbf32dc87058c2ca774f7acd8473f6d2a79
Alembic export: Use correct time sampling for custom properties =================================================================== M source/blender/io/alembic/exporter/abc_custom_props.cc M source/blender/io/alembic/exporter/abc_custom_props.h M source/blender/io/alembic/exporter/abc_writer_transform.cc =================================================================== diff --git a/source/blender/io/alembic/exporter/abc_custom_props.cc b/source/blender/io/alembic/exporter/abc_custom_props.cc index a9d69db64c7..97cd314f6e4 100644 --- a/source/blender/io/alembic/exporter/abc_custom_props.cc +++ b/source/blender/io/alembic/exporter/abc_custom_props.cc @@ -51,8 +51,8 @@ using Alembic::Abc::OStringProperty; namespace blender::io::alembic { CustomPropertiesExporter::CustomPropertiesExporter( - Alembic::Abc::OCompoundProperty abc_compound_prop) - : abc_compound_prop_(abc_compound_prop) + Alembic::Abc::OCompoundProperty abc_compound_prop, uint32_t timesample_index) + : abc_compound_prop_(abc_compound_prop), timesample_index_(timesample_index) { } @@ -91,6 +91,7 @@ void CustomPropertiesExporter::set_scalar_property(const StringRef property_name { auto create_callback = [this, property_name]() -> OArrayProperty { ABCPropertyType abc_property(abc_compound_prop_, property_name); + abc_property.setTimeSampling(timesample_index_); return abc_property; }; @@ -110,7 +111,7 @@ void CustomPropertiesExporter::write(IDProperty *id_property) break; } case IDP_INT: { - set_scalar_property<OInt64ArrayProperty, int>(id_property->name, IDP_Int(id_property)); + set_scalar_property<OInt64ArrayProperty, uint64_t>(id_property->name, IDP_Int(id_property)); break; } case IDP_FLOAT: { diff --git a/source/blender/io/alembic/exporter/abc_custom_props.h b/source/blender/io/alembic/exporter/abc_custom_props.h index 9a86b61c2c8..e1981ead2ef 100644 --- a/source/blender/io/alembic/exporter/abc_custom_props.h +++ b/source/blender/io/alembic/exporter/abc_custom_props.h @@ -49,8 +49,11 @@ class CustomPropertiesExporter { * scalar properties as single-element arrays. */ Map<std::string, Alembic::Abc::OArrayProperty> abc_properties_; + uint32_t timesample_index_; + public: - CustomPropertiesExporter(Alembic::Abc::OCompoundProperty abc_compound_prop); + CustomPropertiesExporter(Alembic::Abc::OCompoundProperty abc_compound_prop, + uint32_t timesample_index); virtual ~CustomPropertiesExporter(); void write_all(IDProperty *group); diff --git a/source/blender/io/alembic/exporter/abc_writer_transform.cc b/source/blender/io/alembic/exporter/abc_writer_transform.cc index b4db3e78b07..3177a4dc879 100644 --- a/source/blender/io/alembic/exporter/abc_writer_transform.cc +++ b/source/blender/io/alembic/exporter/abc_writer_transform.cc @@ -52,8 +52,8 @@ void ABCTransformWriter::create_alembic_objects(const HierarchyContext * /*conte abc_xform_ = OXform(args_.abc_parent, args_.abc_name, timesample_index_); abc_xform_schema_ = abc_xform_.getSchema(); - custom_props_ = std::make_unique<CustomPropertiesExporter>( - abc_xform_schema_.getUserProperties()); + custom_props_ = std::make_unique<CustomPropertiesExporter>(abc_xform_schema_.getUserProperties(), + timesample_index_); } void ABCTransformWriter::do_write(HierarchyContext &context) _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs