[Bf-blender-cvs] [0d6ae3f] master: Main API: refactor naming, use BKE_main_ prefix and add main arg.

Campbell Barton noreply at git.blender.org
Mon Dec 30 03:26:49 CET 2013


Commit: 0d6ae3fda2e5a3dbde941b6985e6895a42c71b9e
Author: Campbell Barton
Date:   Mon Dec 30 13:25:27 2013 +1100
https://developer.blender.org/rB0d6ae3fda2e5a3dbde941b6985e6895a42c71b9e

Main API: refactor naming, use BKE_main_ prefix and add main arg.

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

M	source/blender/blenkernel/BKE_blender.h
M	source/blender/blenkernel/BKE_library.h
M	source/blender/blenkernel/intern/blender.c
M	source/blender/blenkernel/intern/depsgraph.c
M	source/blender/blenkernel/intern/library.c
M	source/blender/blenkernel/intern/scene.c
M	source/blender/blenloader/intern/readblenentry.c
M	source/blender/blenloader/intern/readfile.c
M	source/blender/editors/object/object_add.c
M	source/blender/editors/object/object_group.c
M	source/blender/editors/object/object_relations.c
M	source/blender/editors/render/render_internal.c
M	source/blender/editors/render/render_preview.c
M	source/blender/editors/space_view3d/view3d_ops.c
M	source/blender/makesrna/intern/rna_main_api.c
M	source/blender/makesrna/intern/rna_scene.c
M	source/blender/python/intern/bpy_library.c
M	source/blender/render/intern/source/bake.c
M	source/blender/windowmanager/intern/wm_operators.c
M	source/gameengine/Converter/KX_BlenderSceneConverter.cpp
M	source/gameengine/GamePlayer/ghost/GPG_ghost.cpp

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

diff --git a/source/blender/blenkernel/BKE_blender.h b/source/blender/blenkernel/BKE_blender.h
index a240e79..f397e6b 100644
--- a/source/blender/blenkernel/BKE_blender.h
+++ b/source/blender/blenkernel/BKE_blender.h
@@ -103,7 +103,7 @@ extern int BKE_undo_save_file(const char *filename);
 extern struct Main *BKE_undo_get_main(struct Scene **scene);
 
 /* copybuffer */
-void BKE_copybuffer_begin(void);
+void BKE_copybuffer_begin(struct Main *bmain);
 void BKE_copybuffer_tag_ID(struct ID *id);
 int BKE_copybuffer_save(const char *filename, struct ReportList *reports);
 int BKE_copybuffer_paste(struct bContext *C, const char *libname, struct ReportList *reports);
diff --git a/source/blender/blenkernel/BKE_library.h b/source/blender/blenkernel/BKE_library.h
index cad3f26..cb0ab23 100644
--- a/source/blender/blenkernel/BKE_library.h
+++ b/source/blender/blenkernel/BKE_library.h
@@ -78,19 +78,29 @@ void BKE_libblock_free_ex(struct ListBase *lb, void *idv, bool do_id_user);
 void BKE_libblock_free_us(struct ListBase *lb, void *idv);
 void BKE_libblock_free_data(struct ID *id);
 
+
+/* Main API */
 struct Main *BKE_main_new(void);
-void free_main(struct Main *mainvar);
+void BKE_main_free(struct Main *mainvar);
+
+void BKE_main_id_tag_idcode(struct Main *mainvar, const short type, const bool tag);
+void BKE_main_id_tag_listbase(struct ListBase *lb, const bool tag);
+void BKE_main_id_tag_all(struct Main *mainvar, const bool tag);
+
+void BKE_main_id_flag_listbase(ListBase *lb, const short flag, const bool value);
+void BKE_main_id_flag_all(struct Main *bmain, const short flag, const bool value);
+
+void BKE_main_id_clear_newpoins(struct Main *bmain);
 
-void tag_main_idcode(struct Main *mainvar, const short type, const short tag);
-void tag_main_lb(struct ListBase *lb, const short tag);
-void tag_main(struct Main *mainvar, const short tag);
+void BKE_main_lib_objects_recalc_all(struct Main *bmain);
 
 void rename_id(struct ID *id, const char *name);
 void name_uiprefix_id(char *name, const struct ID *id);
 void test_idbutton(char *name);
+
 void BKE_library_make_local(struct Main *bmain, struct Library *lib, bool untagged_only);
+
 struct ID *BKE_libblock_find_name(const short type, const char *name) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL();
-void clear_id_newpoins(void);
 
 #if 0
 void IDnames_to_pupstring(const char **str, const char *title, const char *extraops,
@@ -99,10 +109,6 @@ void IMAnames_to_pupstring(const char **str, const char *title, const char *extr
                            struct ListBase *lb, struct ID *link, short *nr);
 #endif
 
-void flag_listbase_ids(ListBase *lb, short flag, short value);
-void flag_all_listbases_ids(short flag, short value);
-void recalc_all_library_objects(struct Main *main);
-
 void set_free_windowmanager_cb(void (*func)(struct bContext *, struct wmWindowManager *) );
 void set_free_notifier_reference_cb(void (*func)(const void *) );
 
diff --git a/source/blender/blenkernel/intern/blender.c b/source/blender/blenkernel/intern/blender.c
index 5b40e3a..5b8eb13 100644
--- a/source/blender/blenkernel/intern/blender.c
+++ b/source/blender/blenkernel/intern/blender.c
@@ -113,7 +113,7 @@ char versionstr[48] = "";
 void free_blender(void)
 {
 	/* samples are in a global list..., also sets G.main->sound->sample NULL */
-	free_main(G.main);
+	BKE_main_free(G.main);
 	G.main = NULL;
 
 	BKE_spacetypes_free();      /* after free main, it uses space callbacks */
@@ -164,7 +164,7 @@ static void clear_global(void)
 {
 //	extern short winqueue_break;	/* screen.c */
 
-	free_main(G.main);          /* free all lib data */
+	BKE_main_free(G.main);          /* free all lib data */
 	
 //	free_vertexpaint();
 
@@ -449,7 +449,7 @@ int BKE_read_file(bContext *C, const char *filepath, ReportList *reports)
 		if (bfd->user) retval = BKE_READ_FILE_OK_USERPREFS;
 		
 		if (0 == handle_subversion_warning(bfd->main, reports)) {
-			free_main(bfd->main);
+			BKE_main_free(bfd->main);
 			MEM_freeN(bfd);
 			bfd = NULL;
 			retval = BKE_READ_FILE_FAIL;
@@ -516,7 +516,7 @@ int BKE_read_file_userdef(const char *filepath, ReportList *reports)
 		U = *bfd->user;
 		MEM_freeN(bfd->user);
 	}
-	free_main(bfd->main);
+	BKE_main_free(bfd->main);
 	MEM_freeN(bfd);
 	
 	return retval;
@@ -870,10 +870,10 @@ Main *BKE_undo_get_main(Scene **scene)
 
 /* assumes data is in G.main */
 
-void BKE_copybuffer_begin(void)
+void BKE_copybuffer_begin(Main *bmain)
 {
 	/* set all id flags to zero; */
-	flag_all_listbases_ids(LIB_NEED_EXPAND | LIB_DOIT, 0);
+	BKE_main_id_flag_all(bmain, LIB_NEED_EXPAND | LIB_DOIT, false);
 }
 
 void BKE_copybuffer_tag_ID(ID *id)
@@ -943,7 +943,7 @@ int BKE_copybuffer_save(const char *filename, ReportList *reports)
 	MEM_freeN(mainb);
 	
 	/* set id flag to zero; */
-	flag_all_listbases_ids(LIB_NEED_EXPAND | LIB_DOIT, 0);
+	BKE_main_id_flag_all(G.main, LIB_NEED_EXPAND | LIB_DOIT, false);
 	
 	if (path_list_backup) {
 		BKE_bpath_list_restore(G.main, path_list_flag, path_list_backup);
@@ -974,8 +974,8 @@ int BKE_copybuffer_paste(bContext *C, const char *libname, ReportList *reports)
 	/* tag everything, all untagged data can be made local
 	 * its also generally useful to know what is new
 	 *
-	 * take extra care flag_all_listbases_ids(LIB_LINK_TAG, 0) is called after! */
-	flag_all_listbases_ids(LIB_PRE_EXISTING, 1);
+	 * take extra care BKE_main_id_flag_all(bmain, LIB_LINK_TAG, false) is called after! */
+	BKE_main_id_flag_all(bmain, LIB_PRE_EXISTING, true);
 	
 	/* here appending/linking starts */
 	mainl = BLO_library_append_begin(bmain, &bh, libname);
@@ -985,7 +985,7 @@ int BKE_copybuffer_paste(bContext *C, const char *libname, ReportList *reports)
 	BLO_library_append_end(C, mainl, &bh, 0, 0);
 	
 	/* mark all library linked objects to be updated */
-	recalc_all_library_objects(bmain);
+	BKE_main_lib_objects_recalc_all(bmain);
 	IMB_colormanagement_check_file_config(bmain);
 	
 	/* append, rather than linking */
@@ -994,7 +994,7 @@ int BKE_copybuffer_paste(bContext *C, const char *libname, ReportList *reports)
 	
 	/* important we unset, otherwise these object wont
 	 * link into other scenes from this blend file */
-	flag_all_listbases_ids(LIB_PRE_EXISTING, 0);
+	BKE_main_id_flag_all(bmain, LIB_PRE_EXISTING, false);
 	
 	/* recreate dependency graph to include new objects */
 	DAG_relations_tag_update(bmain);
diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c
index 6376878..cdbf59d 100644
--- a/source/blender/blenkernel/intern/depsgraph.c
+++ b/source/blender/blenkernel/intern/depsgraph.c
@@ -894,9 +894,9 @@ DagForest *build_dag(Main *bmain, Scene *sce, short mask)
 	}
 	
 	/* clear "LIB_DOIT" flag from all materials, to prevent infinite recursion problems later [#32017] */
-	tag_main_idcode(bmain, ID_MA, FALSE);
-	tag_main_idcode(bmain, ID_LA, FALSE);
-	tag_main_idcode(bmain, ID_GR, FALSE);
+	BKE_main_id_tag_idcode(bmain, ID_MA, false);
+	BKE_main_id_tag_idcode(bmain, ID_LA, false);
+	BKE_main_id_tag_idcode(bmain, ID_GR, false);
 	
 	/* add base node for scene. scene is always the first node in DAG */
 	scenenode = dag_add_node(dag, sce);
@@ -912,7 +912,7 @@ DagForest *build_dag(Main *bmain, Scene *sce, short mask)
 			build_dag_group(dag, scenenode, sce, ob->dup_group, mask);
 	}
 	
-	tag_main_idcode(bmain, ID_GR, FALSE);
+	BKE_main_id_tag_idcode(bmain, ID_GR, false);
 	
 	/* Now all relations were built, but we need to solve 1 exceptional case;
 	 * When objects have multiple "parents" (for example parent + constraint working on same object)
@@ -2003,7 +2003,7 @@ void DAG_scene_update_flags(Main *bmain, Scene *scene, unsigned int lay, const s
 	GroupObject *go;
 	Scene *sce_iter;
 
-	tag_main_idcode(bmain, ID_GR, FALSE);
+	BKE_main_id_tag_idcode(bmain, ID_GR, false);
 
 	/* set ob flags where animated systems are */
 	for (SETLOOPER(scene, sce_iter, base)) {
@@ -2071,7 +2071,7 @@ static void dag_current_scene_layers(Main *bmain, ListBase *lb)
 	/* if we have a windowmanager, look into windows */
 	if ((wm = bmain->wm.first)) {
 		
-		flag_listbase_ids(&bmain->scene, LIB_DOIT, 1);
+		BKE_main_id_flag_listbase(&bmain->scene, LIB_DOIT, 1);
 
 		for (win = wm->windows.first; win; win = win->next) {
 			if (win->screen && win->screen->scene->theDag) {
@@ -2146,7 +2146,7 @@ void DAG_on_visible_update(Main *bmain, const short do_time)
 		 * note armature poses or object matrices are preserved and do not
 		 * require updates, so we skip those */
 		dag_scene_flush_layers(scene, lay);
-		tag_main_idcode(bmain, ID_GR, FALSE);
+		BKE_main_id_tag_idcode(bmain, ID_GR, false);
 
 		for (SETLOOPER(scene, sce_iter, base)) {
 			ob = base->object;
@@ -2163,7 +2163,7 @@ void DAG_on_visible_update(Main *bmain, const short do_time)
 			}
 		}
 
-		tag_main_idcode(bmain, ID_GR, FALSE);
+		BKE_main_id_tag_idcode(bmain, ID_GR, false);
 
 		/* now tag update flags, to ensure deformers get calculated on redraw */
 		DAG_scene_update_flags(bmain, scene, lay, do_time);
diff --git a/source/blender/blenkernel/intern/library.c b/source/blender/blenkernel/intern/library.c
index 43bd6a0..9fa9ce6f 100644
--- a/source/blender/blenkernel/intern/library.c
+++ b/source/blender/blenkernel/intern/library.c
@@ -522,33 +522,35 @@ ListBase *which_libbase(Main *mainlib, short type)
 }
 
 /* Flag all ids in listbase */
-void flag_listbase_ids(ListBase *lb, short flag, short value)
+void BKE_main_id_flag_listbase(ListBase *lb, const short flag, const bool value)
 {
 	ID *id;
 	if (value) {
 		for (id = lb->first; id; id = id->next) id->flag |= flag;
 	}
 	else {
-		flag = ~flag;
-		for (id = lb->first; id; id = id->next) id->flag &= flag;
+		const short nflag = ~flag;
+		for (id = lb->first; id; id = id->next) id->flag &= nflag;
 	}
 }
 
 /* Flag all ids in listbase */
-void flag_all_listbases_ids(short flag, short value)
+void BKE_main_id_flag_all(Main *bmain, const short flag, const bool value)
 {
 	ListBase *lbarray[MAX_LIBARRAY];
 	int a;
-	a = set_listbasepointers(G.main, lbarray);
-	while (a--) flag_listbase_ids(lbarray[a], flag, value);
+	a = set_listbasepointers(bmain, lbarray);
+	while (a--) {
+		BKE_main_id_flag_listbase(lbarray[a], flag, value);
+	}
 }
 
-void recalc_all_library_objects(Main *main)
+

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list