[Bf-blender-cvs] [504d45b] alembic_basic_io: Fix for missing modifier update when enabling the new depsgraph.

Kévin Dietrich noreply at git.blender.org
Fri Jun 3 21:28:40 CEST 2016


Commit: 504d45bad0bc0ce4264da83b92efe83568074266
Author: Kévin Dietrich
Date:   Fri Jun 3 21:09:44 2016 +0200
Branches: alembic_basic_io
https://developer.blender.org/rB504d45bad0bc0ce4264da83b92efe83568074266

Fix for missing modifier update when enabling the new depsgraph.

===================================================================

M	source/blender/alembic/intern/abc_hair.cc
M	source/blender/alembic/intern/abc_mesh.cc
M	source/blender/alembic/intern/abc_object.cc
M	source/blender/alembic/intern/abc_object.h
M	source/blender/alembic/intern/abc_points.cc

===================================================================

diff --git a/source/blender/alembic/intern/abc_hair.cc b/source/blender/alembic/intern/abc_hair.cc
index c525804..6cca00d 100644
--- a/source/blender/alembic/intern/abc_hair.cc
+++ b/source/blender/alembic/intern/abc_hair.cc
@@ -365,6 +365,6 @@ void AbcHairReader::readObjectData(Main *bmain, Scene *scene, float time)
 	cu->actvert = CU_ACT_NONE;
 
 	if (m_settings->is_sequence || !m_curves_schema.isConstant()) {
-		addDefaultModifier();
+		addDefaultModifier(bmain);
 	}
 }
diff --git a/source/blender/alembic/intern/abc_mesh.cc b/source/blender/alembic/intern/abc_mesh.cc
index 7ef30a3..dda2523 100644
--- a/source/blender/alembic/intern/abc_mesh.cc
+++ b/source/blender/alembic/intern/abc_mesh.cc
@@ -1154,7 +1154,7 @@ void AbcMeshReader::readObjectData(Main *bmain, Scene *scene, float time)
 	}
 
 	if (m_settings->is_sequence || !is_constant) {
-		addDefaultModifier();
+		addDefaultModifier(bmain);
 	}
 }
 
diff --git a/source/blender/alembic/intern/abc_object.cc b/source/blender/alembic/intern/abc_object.cc
index 21297d3..ddaa5d3 100644
--- a/source/blender/alembic/intern/abc_object.cc
+++ b/source/blender/alembic/intern/abc_object.cc
@@ -32,6 +32,7 @@ extern "C" {
 #include "DNA_object_types.h"
 
 #include "BKE_constraint.h"
+#include "BKE_depsgraph.h"
 #include "BKE_idprop.h"
 #include "BKE_modifier.h"
 #include "BKE_object.h"
@@ -40,8 +41,6 @@ extern "C" {
 #include "BLI_math.h"
 #include "BLI_utildefines.h"
 #include "BLI_string.h"
-
-#include "BKE_depsgraph.h"
 }
 
 using Alembic::AbcGeom::IObject;
@@ -408,7 +407,7 @@ void AbcObjectReader::readObjectMatrix(const float time)
 	}
 }
 
-void AbcObjectReader::addDefaultModifier() const
+void AbcObjectReader::addDefaultModifier(Main *bmain) const
 {
 	ModifierData *md = modifier_new(eModifierType_MeshSequenceCache);
 	BLI_addtail(&m_object->modifiers, md);
@@ -418,4 +417,7 @@ void AbcObjectReader::addDefaultModifier() const
 	BLI_strncpy(mcmd->filepath, m_iobject.getArchive().getName().c_str(), 1024);
 	BLI_strncpy(mcmd->abc_object_path, m_iobject.getFullName().c_str(), 1024);
 	mcmd->is_sequence = m_settings->is_sequence;
+
+	DAG_id_tag_update(&m_object->id, OB_RECALC_DATA);
+	DAG_relations_tag_update(bmain);
 }
diff --git a/source/blender/alembic/intern/abc_object.h b/source/blender/alembic/intern/abc_object.h
index e242d4e..db45334 100644
--- a/source/blender/alembic/intern/abc_object.h
+++ b/source/blender/alembic/intern/abc_object.h
@@ -123,5 +123,5 @@ public:
 
 	void readObjectMatrix(const float time);
 
-	void addDefaultModifier() const;
+	void addDefaultModifier(Main *bmain) const;
 };
diff --git a/source/blender/alembic/intern/abc_points.cc b/source/blender/alembic/intern/abc_points.cc
index 8276d72..ef66140 100644
--- a/source/blender/alembic/intern/abc_points.cc
+++ b/source/blender/alembic/intern/abc_points.cc
@@ -164,6 +164,6 @@ void AbcPointsReader::readObjectData(Main *bmain, Scene *scene, float time)
 	m_object->data = mesh;
 
 	if (m_settings->is_sequence || !m_schema.isConstant()) {
-		addDefaultModifier();
+		addDefaultModifier(bmain);
 	}
 }




More information about the Bf-blender-cvs mailing list