Merge branch 'master' into blender2.8

This commit is contained in:
Sergey Sharybin 2018-05-04 12:50:40 +02:00
commit 3248eef697
4 changed files with 14 additions and 8 deletions

View File

@ -33,6 +33,8 @@
#include "BLI_utildefines.h"
#include "BLI_ghash.h"
#include "DNA_ID.h"
namespace DEG {
BuilderMap::BuilderMap() {

View File

@ -166,7 +166,7 @@ void DepsgraphNodeBuilder::build_rig(Object *object)
* mechanism in-between here to ensure that we can use same rig
* multiple times in same scene.
*/
if (!built_map_.checkIsBuilt(armature)) {
if (!built_map_.checkIsBuiltAndTag(armature)) {
build_animdata(&armature->id);
/* Make sure pose is up-to-date with armature updates. */
add_operation_node(&armature->id,

View File

@ -539,7 +539,9 @@ void DepsgraphRelationBuilder::build_object_data(Object *object)
}
ID *obdata_id = (ID *)object->data;
/* Object data animation. */
build_animdata(obdata_id);
if (!built_map_.checkIsBuilt(obdata_id)) {
build_animdata(obdata_id);
}
/* type-specific data. */
switch (object->type) {
case OB_MESH:
@ -557,7 +559,7 @@ void DepsgraphRelationBuilder::build_object_data(Object *object)
build_proxy_rig(object);
}
else {
build_rig(object);
build_rig(object);
}
break;
case OB_LAMP:

View File

@ -317,11 +317,13 @@ void DepsgraphRelationBuilder::build_rig(Object *object)
add_relation(init_ik_key, flush_key, "Pose Init IK -> Pose Cleanup");
/* Make sure pose is up-to-date with armature updates. */
OperationKey armature_key(&arm->id,
DEG_NODE_TYPE_PARAMETERS,
DEG_OPCODE_PLACEHOLDER,
"Armature Eval");
add_relation(armature_key, init_key, "Data dependency");
if (!built_map_.checkIsBuiltAndTag(arm)) {
OperationKey armature_key(&arm->id,
DEG_NODE_TYPE_PARAMETERS,
DEG_OPCODE_PLACEHOLDER,
"Armature Eval");
add_relation(armature_key, init_key, "Data dependency");
}
/* IK Solvers...
* - These require separate processing steps are pose-level