diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-12-30 06:25:27 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-12-30 06:25:27 +0400 |
commit | 0d6ae3fda2e5a3dbde941b6985e6895a42c71b9e (patch) | |
tree | b0c89b9a01da31fffc6b6db7c9395ff2db97de53 /source/blender/blenkernel/intern | |
parent | 19103b443711d7c1b3a24f7fab949f71343d8200 (diff) |
Main API: refactor naming, use BKE_main_ prefix and add main arg.
Diffstat (limited to 'source/blender/blenkernel/intern')
-rw-r--r-- | source/blender/blenkernel/intern/blender.c | 22 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/depsgraph.c | 16 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/library.c | 40 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/scene.c | 10 |
4 files changed, 46 insertions, 42 deletions
diff --git a/source/blender/blenkernel/intern/blender.c b/source/blender/blenkernel/intern/blender.c index 5b40e3ae68e..5b8eb13a5e7 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 6376878c664..cdbf59d688b 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 43bd6a0b36c..9fa9ce6f55c 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) +void BKE_main_lib_objects_recalc_all(Main *bmain) { Object *ob; /* flag for full recalc */ - for (ob = main->object.first; ob; ob = ob->id.next) + for (ob = bmain->object.first; ob; ob = ob->id.next) if (ob->id.lib) ob->recalc |= OB_RECALC_OB | OB_RECALC_DATA | OB_RECALC_TIME; } @@ -1017,7 +1019,7 @@ Main *BKE_main_new(void) return bmain; } -void free_main(Main *mainvar) +void BKE_main_free(Main *mainvar) { /* also call when reading a file, erase all, etc */ ListBase *lbarray[MAX_LIBARRAY]; @@ -1436,8 +1438,10 @@ bool new_id(ListBase *lb, ID *id, const char *tname) return result; } -/* Pull an ID out of a library (make it local). Only call this for IDs that - * don't have other library users. */ +/** + * Pull an ID out of a library (make it local). Only call this for IDs that + * don't have other library users. + */ void id_clear_lib_data(Main *bmain, ID *id) { bNodeTree *ntree = NULL; @@ -1463,13 +1467,13 @@ void id_clear_lib_data(Main *bmain, ID *id) } /* next to indirect usage in read/writefile also in editobject.c scene.c */ -void clear_id_newpoins(void) +void BKE_main_id_clear_newpoins(Main *bmain) { ListBase *lbarray[MAX_LIBARRAY]; ID *id; int a; - a = set_listbasepointers(G.main, lbarray); + a = set_listbasepointers(bmain, lbarray); while (a--) { id = lbarray[a]->first; while (id) { @@ -1526,7 +1530,7 @@ static void lib_indirect_test_id(ID *id, Library *lib) #undef LIBTAG } -void tag_main_lb(ListBase *lb, const short tag) +void BKE_main_id_tag_listbase(ListBase *lb, const bool tag) { ID *id; if (tag) { @@ -1541,21 +1545,21 @@ void tag_main_lb(ListBase *lb, const short tag) } } -void tag_main_idcode(struct Main *mainvar, const short type, const short tag) +void BKE_main_id_tag_idcode(struct Main *mainvar, const short type, const bool tag) { ListBase *lb = which_libbase(mainvar, type); - tag_main_lb(lb, tag); + BKE_main_id_tag_listbase(lb, tag); } -void tag_main(struct Main *mainvar, const short tag) +void BKE_main_id_tag_all(struct Main *mainvar, const bool tag) { ListBase *lbarray[MAX_LIBARRAY]; int a; a = set_listbasepointers(mainvar, lbarray); while (a--) { - tag_main_lb(lbarray[a], tag); + BKE_main_id_tag_listbase(lbarray[a], tag); } } diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index 3ca702e0068..cda1cea4171 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -175,7 +175,7 @@ Scene *BKE_scene_copy(Scene *sce, int type) scen = BKE_libblock_copy(&sce->id); BLI_duplicatelist(&(scen->base), &(sce->base)); - clear_id_newpoins(); + BKE_main_id_clear_newpoins(G.main); id_us_plus((ID *)scen->world); id_us_plus((ID *)scen->set); @@ -1440,8 +1440,8 @@ void BKE_scene_update_tagged(EvaluationContext *eval_ctx, Main *bmain, Scene *sc /* clear "LIB_DOIT" flag from all materials, to prevent infinite recursion problems later * when trying to find materials with drivers that need evaluating [#32017] */ - tag_main_idcode(bmain, ID_MA, FALSE); - tag_main_idcode(bmain, ID_LA, FALSE); + BKE_main_id_tag_idcode(bmain, ID_MA, false); + BKE_main_id_tag_idcode(bmain, ID_LA, false); /* update all objects: drivers, matrices, displists, etc. flags set * by depgraph or manual, no layer check here, gets correct flushed @@ -1521,8 +1521,8 @@ void BKE_scene_update_for_newframe(EvaluationContext *eval_ctx, Main *bmain, Sce /* clear "LIB_DOIT" flag from all materials, to prevent infinite recursion problems later * when trying to find materials with drivers that need evaluating [#32017] */ - tag_main_idcode(bmain, ID_MA, FALSE); - tag_main_idcode(bmain, ID_LA, FALSE); + BKE_main_id_tag_idcode(bmain, ID_MA, false); + BKE_main_id_tag_idcode(bmain, ID_LA, false); /* run rigidbody sim */ /* NOTE: current position is so that rigidbody sim affects other objects, might change in the future */ |