Commit: 628f6774b71b3ef9a380dd0b004582efbce9fa3d
Author: Joshua Leung
Date:   Thu Dec 18 16:04:08 2014 +1300
Branches: depsgraph_refactor
https://developer.blender.org/rB628f6774b71b3ef9a380dd0b004582efbce9fa3d

"Done" callback for object transforms was missing

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

M       source/blender/blenkernel/BKE_object.h
M       source/blender/blenkernel/intern/object_update.c
M       source/blender/depsgraph/intern/depsgraph_build_nodes.cpp
M       source/blender/depsgraph/intern/depsgraph_type_defines.cpp

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

diff --git a/source/blender/blenkernel/BKE_object.h 
b/source/blender/blenkernel/BKE_object.h
index 85cfe1e..2bd7d83 100644
--- a/source/blender/blenkernel/BKE_object.h
+++ b/source/blender/blenkernel/BKE_object.h
@@ -181,6 +181,7 @@ void BKE_object_eval_parent(struct EvaluationContext 
*eval_ctx,
 void BKE_object_eval_constraints(struct EvaluationContext *eval_ctx,
                                  struct Scene *scene,
                                  struct Object *ob);
+void BKE_object_eval_done(struct EvaluationContext *eval_ctx, struct Object 
*ob);
 
 /* (placeholder helpers for granular object transform updates) */
 void BKE_object_solve_parenting(struct Scene *scene, struct Object *ob, struct 
Object *par, float obmat[4][4], float slowmat[4][4],
diff --git a/source/blender/blenkernel/intern/object_update.c 
b/source/blender/blenkernel/intern/object_update.c
index 4b2d171..5a03c5f 100644
--- a/source/blender/blenkernel/intern/object_update.c
+++ b/source/blender/blenkernel/intern/object_update.c
@@ -90,6 +90,13 @@ void BKE_object_eval_constraints(EvaluationContext *eval_ctx,
        (void) ob;  /* Ignored. */
 }
 
+void BKE_object_eval_done(EvaluationContext *eval_ctx, Object *ob)
+{
+       PRINT("%s on %s\n", __func__, ob->id.name);
+       (void) eval_ctx; /* Ignored. */
+       (void) ob;  /* Ignored. */
+}
+
 void BKE_object_eval_modifier(struct EvaluationContext *eval_ctx,
                               struct Scene *scene,
                               struct Object *ob,
diff --git a/source/blender/depsgraph/intern/depsgraph_build_nodes.cpp 
b/source/blender/depsgraph/intern/depsgraph_build_nodes.cpp
index 5b07312..5949611 100644
--- a/source/blender/depsgraph/intern/depsgraph_build_nodes.cpp
+++ b/source/blender/depsgraph/intern/depsgraph_build_nodes.cpp
@@ -301,6 +301,11 @@ void DepsgraphNodeBuilder::build_object_transform(Scene 
*scene, Object *ob)
        add_operation_node(&ob->id, DEPSNODE_TYPE_TRANSFORM,
                           DEPSOP_TYPE_EXEC, 
function_bind(BKE_object_eval_uber_transform, _1, scene, ob),
                           DEG_OPCODE_OBJECT_UBEREVAL);
+       
+       /* object transform is done */
+       add_operation_node(&ob->id, DEPSNODE_TYPE_TRANSFORM,
+                          DEPSOP_TYPE_POST, 
function_bind(BKE_object_eval_done, _1, ob),
+                          DEG_OPCODE_TRANSFORM_FINAL);
 }
 
 /* == Constraints Graph Notes ==
diff --git a/source/blender/depsgraph/intern/depsgraph_type_defines.cpp 
b/source/blender/depsgraph/intern/depsgraph_type_defines.cpp
index 01060fc..08cc4c1 100644
--- a/source/blender/depsgraph/intern/depsgraph_type_defines.cpp
+++ b/source/blender/depsgraph/intern/depsgraph_type_defines.cpp
@@ -254,7 +254,14 @@ void BKE_particle_system_eval(EvaluationContext *eval_ctx, 
Object *ob, ParticleS
 
 void BKE_rigidbody_rebuild_sim(EvaluationContext *eval_ctx, Scene *scene) {}
 void BKE_rigidbody_eval_simulation(EvaluationContext *eval_ctx, Scene *scene) 
{}
-void BKE_rigidbody_object_sync_transforms(EvaluationContext *eval_ctx, Scene 
*scene, Object *ob) {}
+
+void BKE_rigidbody_object_sync_transforms(EvaluationContext *eval_ctx, Scene 
*scene, Object *ob)
+{
+       printf("%s on %s\n", __func__, ob->id.name);
+       
+       (void) eval_ctx; /* Ignored. */
+       (void) scene; /* Ignored. */
+}
 
 void BKE_mesh_eval_geometry(EvaluationContext *eval_ctx, Mesh *mesh) {}
 void BKE_mball_eval_geometry(EvaluationContext *eval_ctx, MetaBall *mball) {}

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to