[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26416] trunk/blender/source/blender/ blenkernel: A few minor code cleanup tweaks for recent commits in animation code, to better follow conventions elsewhere here :)
Joshua Leung
aligorith at gmail.com
Sat Jan 30 06:08:43 CET 2010
Revision: 26416
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26416
Author: aligorith
Date: 2010-01-30 06:08:42 +0100 (Sat, 30 Jan 2010)
Log Message:
-----------
A few minor code cleanup tweaks for recent commits in animation code, to better follow conventions elsewhere here :)
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/BKE_animsys.h
trunk/blender/source/blender/blenkernel/intern/anim_sys.c
trunk/blender/source/blender/blenkernel/intern/library.c
Modified: trunk/blender/source/blender/blenkernel/BKE_animsys.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_animsys.h 2010-01-30 04:43:36 UTC (rev 26415)
+++ trunk/blender/source/blender/blenkernel/BKE_animsys.h 2010-01-30 05:08:42 UTC (rev 26416)
@@ -94,8 +94,16 @@
/* Fix all the paths for the entire database... */
void BKE_all_animdata_fix_paths_rename(char *prefix, char *oldName, char *newName);
-void BKE_animdata_main_cb(struct Main *main, void (*func)(struct ID *, struct AnimData *, void *), void *user_data);
+/* ************************************* */
+/* Batch AnimData API */
+/* Define for callback looper used in BKE_animdata_main_cb */
+typedef void (*ID_AnimData_Edit_Callback)(struct ID *id, struct AnimData *adt, void *user_data);
+
+
+/* Loop over all datablocks applying callback */
+void BKE_animdata_main_cb(struct Main *main, ID_AnimData_Edit_Callback func, void *user_data);
+
/* ************************************* */
// TODO: overrides, remapping, and path-finding api's
Modified: trunk/blender/source/blender/blenkernel/intern/anim_sys.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/anim_sys.c 2010-01-30 04:43:36 UTC (rev 26415)
+++ trunk/blender/source/blender/blenkernel/intern/anim_sys.c 2010-01-30 05:08:42 UTC (rev 26416)
@@ -422,14 +422,17 @@
MEM_freeN(newN);
}
-void BKE_animdata_main_cb(Main *main, void (*func)(ID *, AnimData *, void *), void *user_data)
+/* Whole Database Ops -------------------------------------------- */
+
+/* apply the given callback function on all data in main database */
+void BKE_animdata_main_cb (Main *main, ID_AnimData_Edit_Callback func, void *user_data)
{
ID *id;
#define ANIMDATA_IDS_CB(first) \
for (id= first; id; id= id->next) { \
AnimData *adt= BKE_animdata_from_id(id); \
- if(adt) func(id, adt, user_data); \
+ if (adt) func(id, adt, user_data); \
}
ANIMDATA_IDS_CB(main->nodetree.first); /* nodes */
@@ -450,15 +453,15 @@
for (id= main->scene.first; id; id= id->next) {
AnimData *adt= BKE_animdata_from_id(id);
Scene *scene= (Scene *)id;
-
+
/* do compositing nodes first (since these aren't included in main tree) */
if (scene->nodetree) {
AnimData *adt2= BKE_animdata_from_id((ID *)scene->nodetree);
- if(adt2) func(id, adt2, user_data);
+ if (adt2) func(id, adt2, user_data);
}
-
+
/* now fix scene animation data as per normal */
- if(adt) func((ID *)id, adt, user_data);
+ if (adt) func((ID *)id, adt, user_data);
}
}
Modified: trunk/blender/source/blender/blenkernel/intern/library.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/library.c 2010-01-30 04:43:36 UTC (rev 26415)
+++ trunk/blender/source/blender/blenkernel/intern/library.c 2010-01-30 05:08:42 UTC (rev 26416)
@@ -117,6 +117,7 @@
#include "BKE_idprop.h"
#include "BKE_particle.h"
#include "BKE_gpencil.h"
+#include "BKE_fcurve.h"
#define MAX_IDPUP 60 /* was 24 */
@@ -706,16 +707,16 @@
/* find the driver this belongs to and update it */
for (fcu=adt->drivers.first; fcu; fcu=fcu->next) {
driver= fcu->driver;
-
+
if (driver) {
DriverVar *dvar;
for (dvar= driver->variables.first; dvar; dvar= dvar->next) {
- DriverTarget *dtar= &dvar->targets[0];
- int tarIndex= 0;
- for (; tarIndex < MAX_DRIVER_TARGETS; tarIndex++, dtar++) {
- if(dtar->id == userdata)
+ DRIVER_TARGETS_USED_LOOPER(dvar)
+ {
+ if (dtar->id == userdata)
dtar->id= NULL;
}
+ DRIVER_TARGETS_LOOPER_END
}
}
}
More information about the Bf-blender-cvs
mailing list