Commit: 401ddff4107d969ffc471870dd100dafc2ec494a
Author: Jacques Lucke
Date:   Thu Apr 16 12:44:34 2020 +0200
Branches: temp-test-point-cloud-simulation-depsgraph-integration
https://developer.blender.org/rB401ddff4107d969ffc471870dd100dafc2ec494a

get current scene time

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

M       source/blender/blenkernel/BKE_simulation.h
M       source/blender/blenkernel/intern/simulation.cc
M       source/blender/depsgraph/intern/builder/deg_builder_nodes.cc

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

diff --git a/source/blender/blenkernel/BKE_simulation.h 
b/source/blender/blenkernel/BKE_simulation.h
index d1d3aab7eed..baf08ecf28b 100644
--- a/source/blender/blenkernel/BKE_simulation.h
+++ b/source/blender/blenkernel/BKE_simulation.h
@@ -23,11 +23,14 @@ extern "C" {
 
 struct Depsgraph;
 struct Main;
+struct Scene;
 struct Simulation;
 
 void *BKE_simulation_add(struct Main *bmain, const char *name);
 
-void BKE_simulation_eval(struct Depsgraph *depsgraph, struct Simulation 
*simulation);
+void BKE_simulation_eval(struct Depsgraph *depsgraph,
+                         struct Simulation *simulation,
+                         struct Scene *scene);
 
 #ifdef __cplusplus
 }
diff --git a/source/blender/blenkernel/intern/simulation.cc 
b/source/blender/blenkernel/intern/simulation.cc
index 61b2541b5fd..e463c3cb8bb 100644
--- a/source/blender/blenkernel/intern/simulation.cc
+++ b/source/blender/blenkernel/intern/simulation.cc
@@ -44,6 +44,9 @@
 
 #include "BLT_translation.h"
 
+#include "DEG_depsgraph.h"
+#include "DEG_depsgraph_query.h"
+
 static void simulation_init_data(ID *id)
 {
   Simulation *simulation = (Simulation *)id;
@@ -113,7 +116,9 @@ IDTypeInfo IDType_ID_SIM = {
     /* make_local */ simulation_make_local,
 };
 
-void BKE_simulation_eval(Depsgraph *depsgraph, Simulation *simulation)
+void BKE_simulation_eval(Depsgraph *depsgraph, Simulation *simulation, Scene 
*scene)
 {
-  printf("%s %s\n", __func__, simulation->id.name);
+  int current_frame = scene->r.cfra;
+  float current_subframe = scene->r.subframe;
+  printf("Output simulation state at frame %d + %f\n", current_frame, 
current_subframe);
 }
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc 
b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
index eb0d482c641..4cb84de80fe 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
@@ -1717,10 +1717,11 @@ void DepsgraphNodeBuilder::build_simulation(Simulation 
*simulation)
   }
 
   Simulation *simulation_cow = get_cow_datablock(simulation);
+  Scene *scene_cow = get_cow_datablock(scene_);
   add_operation_node(&simulation->id,
                      NodeType::PARAMETERS,
                      OperationCode::SIMULATION_EVAL,
-                     function_bind(BKE_simulation_eval, _1, simulation_cow));
+                     function_bind(BKE_simulation_eval, _1, simulation_cow, 
scene_cow));
 
   add_id_node(&simulation->id);
   build_animdata(&simulation->id);

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to