[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31764] branches/particles-2010/source/ blender: Added update calls after setting properties in the SetData node.
Lukas Toenne
lukas.toenne at googlemail.com
Sun Sep 5 13:06:50 CEST 2010
Revision: 31764
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31764
Author: lukastoenne
Date: 2010-09-05 13:06:50 +0200 (Sun, 05 Sep 2010)
Log Message:
-----------
Added update calls after setting properties in the SetData node.
Modified Paths:
--------------
branches/particles-2010/source/blender/blenkernel/BKE_node.h
branches/particles-2010/source/blender/modifiers/intern/MOD_nodetree.c
branches/particles-2010/source/blender/nodes/intern/SIM_nodes/SIM_set_data.c
branches/particles-2010/source/blender/nodes/intern/SIM_util.c
branches/particles-2010/source/blender/nodes/intern/SIM_util.h
branches/particles-2010/source/blender/nodes/intern/node_tree_simulation.c
Modified: branches/particles-2010/source/blender/blenkernel/BKE_node.h
===================================================================
--- branches/particles-2010/source/blender/blenkernel/BKE_node.h 2010-09-05 09:50:24 UTC (rev 31763)
+++ branches/particles-2010/source/blender/blenkernel/BKE_node.h 2010-09-05 11:06:50 UTC (rev 31764)
@@ -562,7 +562,7 @@
#define SIM_NODE_DEBUGPRINT 801
/* API */
-void ntreeSimulationExecTree(struct bNodeTree *ntree, struct PointerRNA *self, float frame, float dframe, float time, float dtime);
+void ntreeSimulationExecTree(struct bNodeTree *ntree, struct Scene *scene, struct PointerRNA *self, float frame, float dframe, float time, float dtime);
struct StructRNA *simnode_getdata_get_type(struct bNode *node);
void simnode_getdata_set_type(struct bNodeTree *ntree, struct bNode *node, struct StructRNA *type);
Modified: branches/particles-2010/source/blender/modifiers/intern/MOD_nodetree.c
===================================================================
--- branches/particles-2010/source/blender/modifiers/intern/MOD_nodetree.c 2010-09-05 09:50:24 UTC (rev 31763)
+++ branches/particles-2010/source/blender/modifiers/intern/MOD_nodetree.c 2010-09-05 11:06:50 UTC (rev 31764)
@@ -92,7 +92,7 @@
PointerRNA self;
RNA_id_pointer_create((ID*)ob->data, &self);
- ntreeSimulationExecTree(ntmd->nodetree, &self, md->scene->r.cfra, 1.0f, md->scene->r.cfra, 1.0f);
+ ntreeSimulationExecTree(ntmd->nodetree, md->scene, &self, md->scene->r.cfra, 1.0f, md->scene->r.cfra, 1.0f);
}
#if 0
Modified: branches/particles-2010/source/blender/nodes/intern/SIM_nodes/SIM_set_data.c
===================================================================
--- branches/particles-2010/source/blender/nodes/intern/SIM_nodes/SIM_set_data.c 2010-09-05 09:50:24 UTC (rev 31763)
+++ branches/particles-2010/source/blender/nodes/intern/SIM_nodes/SIM_set_data.c 2010-09-05 11:06:50 UTC (rev 31764)
@@ -28,6 +28,7 @@
#include "../SIM_util.h"
+#include "BKE_depsgraph.h"
#include "BKE_main.h"
#include "BKE_node.h"
#include "BKE_scene.h"
@@ -188,6 +189,7 @@
case SOCK_FLOAT:
while (iter.valid) {
RNA_property_float_set(&iter.ptr, (PropertyRNA*)in->base->nodedata, *(float*)cur);
+ RNA_property_update_main(G.main, ctx->scene, &iter.ptr, (PropertyRNA*)in->base->nodedata);
cur = (char*)cur + datasize;
RNA_property_collection_next(&iter);
}
@@ -195,6 +197,7 @@
case SOCK_INT:
while (iter.valid) {
RNA_property_int_set(&iter.ptr, (PropertyRNA*)in->base->nodedata, *(int*)cur);
+ RNA_property_update_main(G.main, ctx->scene, &iter.ptr, (PropertyRNA*)in->base->nodedata);
cur = (char*)cur + datasize;
RNA_property_collection_next(&iter);
}
@@ -202,6 +205,7 @@
case SOCK_BOOL:
while (iter.valid) {
RNA_property_boolean_set(&iter.ptr, (PropertyRNA*)in->base->nodedata, (int)(*(char*)cur));
+ RNA_property_update_main(G.main, ctx->scene, &iter.ptr, (PropertyRNA*)in->base->nodedata);
cur = (char*)cur + datasize;
RNA_property_collection_next(&iter);
}
@@ -209,6 +213,7 @@
case SOCK_VECTOR:
while (iter.valid) {
RNA_property_float_set_array(&iter.ptr, (PropertyRNA*)in->base->nodedata, (float*)cur);
+ RNA_property_update_main(G.main, ctx->scene, &iter.ptr, (PropertyRNA*)in->base->nodedata);
cur = (char*)cur + datasize;
RNA_property_collection_next(&iter);
}
@@ -216,6 +221,7 @@
case SOCK_RGBA:
while (iter.valid) {
RNA_property_float_set_array(&iter.ptr, (PropertyRNA*)in->base->nodedata, (float*)cur);
+ RNA_property_update_main(G.main, ctx->scene, &iter.ptr, (PropertyRNA*)in->base->nodedata);
cur = (char*)cur + datasize;
RNA_property_collection_next(&iter);
}
@@ -223,6 +229,7 @@
case SOCK_STRING:
while (iter.valid) {
RNA_property_string_set(&iter.ptr, (PropertyRNA*)in->base->nodedata, (char*)cur);
+ RNA_property_update_main(G.main, ctx->scene, &iter.ptr, (PropertyRNA*)in->base->nodedata);
cur = (char*)cur + datasize;
RNA_property_collection_next(&iter);
}
@@ -240,21 +247,27 @@
switch (in->type) {
case SOCK_FLOAT:
RNA_property_float_set(&ctx->ptr, (PropertyRNA*)in->base->nodedata, *(float*)buf);
+ RNA_property_update_main(G.main, ctx->scene, &ctx->ptr, (PropertyRNA*)in->base->nodedata);
break;
case SOCK_INT:
RNA_property_int_set(&ctx->ptr, (PropertyRNA*)in->base->nodedata, *(int*)buf);
+ RNA_property_update_main(G.main, ctx->scene, &ctx->ptr, (PropertyRNA*)in->base->nodedata);
break;
case SOCK_BOOL:
RNA_property_boolean_set(&ctx->ptr, (PropertyRNA*)in->base->nodedata, (int)(*(char*)buf));
+ RNA_property_update_main(G.main, ctx->scene, &ctx->ptr, (PropertyRNA*)in->base->nodedata);
break;
case SOCK_VECTOR:
RNA_property_float_set_array(&ctx->ptr, (PropertyRNA*)in->base->nodedata, (float*)buf);
+ RNA_property_update_main(G.main, ctx->scene, &ctx->ptr, (PropertyRNA*)in->base->nodedata);
break;
case SOCK_RGBA:
RNA_property_float_set_array(&ctx->ptr, (PropertyRNA*)in->base->nodedata, (float*)buf);
+ RNA_property_update_main(G.main, ctx->scene, &ctx->ptr, (PropertyRNA*)in->base->nodedata);
break;
case SOCK_STRING:
RNA_property_string_set(&ctx->ptr, (PropertyRNA*)in->base->nodedata, (char*)buf);
+ RNA_property_update_main(G.main, ctx->scene, &ctx->ptr, (PropertyRNA*)in->base->nodedata);
break;
}
}
@@ -288,10 +301,6 @@
for (i=1; i < node->totin; ++i) {
enqueue_input(execdata, &ctx, node->instack[i]);
}
-
- /* update */
-
- RNA_property_update_main();
}
}
Modified: branches/particles-2010/source/blender/nodes/intern/SIM_util.c
===================================================================
--- branches/particles-2010/source/blender/nodes/intern/SIM_util.c 2010-09-05 09:50:24 UTC (rev 31763)
+++ branches/particles-2010/source/blender/nodes/intern/SIM_util.c 2010-09-05 11:06:50 UTC (rev 31764)
@@ -115,8 +115,9 @@
#endif
}
-void sim_context_create(PointerRNA *ptr, PropertyRNA *prop, int key, SimDataContext *r_ctx)
+void sim_context_create(Scene *scene, PointerRNA *ptr, PropertyRNA *prop, int key, SimDataContext *r_ctx)
{
+ r_ctx->scene = scene;
if (ptr && ptr->data && ptr->type) {
r_ctx->ptr = *ptr;
r_ctx->prop = prop;
Modified: branches/particles-2010/source/blender/nodes/intern/SIM_util.h
===================================================================
--- branches/particles-2010/source/blender/nodes/intern/SIM_util.h 2010-09-05 09:50:24 UTC (rev 31763)
+++ branches/particles-2010/source/blender/nodes/intern/SIM_util.h 2010-09-05 11:06:50 UTC (rev 31764)
@@ -69,12 +69,13 @@
extern const char *cl_string_funcs;
typedef struct SimDataContext {
+ Scene *scene;
PointerRNA ptr;
PropertyRNA *prop;
int key;
} SimDataContext;
-void sim_context_create(struct PointerRNA *ptr, struct PropertyRNA *prop, int key, struct SimDataContext *r_ctx);
+void sim_context_create(struct Scene *scene, struct PointerRNA *ptr, struct PropertyRNA *prop, int key, struct SimDataContext *r_ctx);
struct StructRNA *sim_context_type(struct SimDataContext *ctx);
int sim_context_is_collection(struct SimDataContext *ctx);
int sim_context_path_resolve(struct SimDataContext *self, const char *path, struct SimDataContext *r_ctx);
Modified: branches/particles-2010/source/blender/nodes/intern/node_tree_simulation.c
===================================================================
--- branches/particles-2010/source/blender/nodes/intern/node_tree_simulation.c 2010-09-05 09:50:24 UTC (rev 31763)
+++ branches/particles-2010/source/blender/nodes/intern/node_tree_simulation.c 2010-09-05 11:06:50 UTC (rev 31764)
@@ -231,7 +231,7 @@
stack->base = sock;
stack->node = node;
stack->type = sock->type;
- sim_context_create(NULL, NULL, 0, &stack->context);
+ sim_context_create(NULL, NULL, NULL, 0, &stack->context);
}
static void calc_stack_indexes_recursive(bNodeTree *ntree, int *totnode, int *totin, int *totout)
@@ -1778,7 +1778,7 @@
/* preferredSocketType */ preferredSocketType
};
-void ntreeSimulationExecTree(bNodeTree *ntree, PointerRNA *self, float frame, float dframe, float time, float dtime)
+void ntreeSimulationExecTree(bNodeTree *ntree, Scene *scene, PointerRNA *self, float frame, float dframe, float time, float dtime)
{
SimulationContext sim;
@@ -1788,7 +1788,7 @@
printf("WITH_OPENCL disabled!\n");
#endif
- sim_context_create(self, NULL, 0, &sim.self);
+ sim_context_create(scene, self, NULL, 0, &sim.self);
sim.cfra = frame;
sim.dfra = dframe;
sim.time = time;
More information about the Bf-blender-cvs
mailing list