From 4c41ad2299bb77720a277146152c5c84a96d70e2 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 17 Jul 2013 09:57:02 +0000 Subject: fix/resolve [#36173] Current frame doesn't update while OpenGL Rendering Animation there was no feedback to the user about the current frame rendering, for longer renders this is no good. --- source/blender/editors/render/render_opengl.c | 31 ++++++++++++++++++++------- 1 file changed, 23 insertions(+), 8 deletions(-) (limited to 'source') diff --git a/source/blender/editors/render/render_opengl.c b/source/blender/editors/render/render_opengl.c index 13379425258..93ae913cee0 100644 --- a/source/blender/editors/render/render_opengl.c +++ b/source/blender/editors/render/render_opengl.c @@ -107,6 +107,10 @@ typedef struct OGLRender { bMovieHandle *mh; int cfrao, nfra; + /* wm vars for timer and progress cursor */ + wmWindowManager *wm; + wmWindow *win; + wmTimer *timer; /* use to check if running modal or not (invoke'd or exec'd)*/ } OGLRender; @@ -327,6 +331,9 @@ static void screen_opengl_render_apply(OGLRender *oglrender) static int screen_opengl_render_init(bContext *C, wmOperator *op) { /* new render clears all callbacks */ + wmWindowManager *wm = CTX_wm_manager(C); + wmWindow *win = CTX_wm_window(C); + Scene *scene = CTX_data_scene(C); ScrArea *prevsa = CTX_wm_area(C); ARegion *prevar = CTX_wm_region(C); @@ -353,7 +360,7 @@ static int screen_opengl_render_init(bContext *C, wmOperator *op) } /* only one render job at a time */ - if (WM_jobs_test(CTX_wm_manager(C), scene, WM_JOB_TYPE_RENDER)) + if (WM_jobs_test(wm, scene, WM_JOB_TYPE_RENDER)) return 0; if (!is_view_context && scene->camera == NULL) { @@ -367,7 +374,7 @@ static int screen_opengl_render_init(bContext *C, wmOperator *op) } /* stop all running jobs, except screen one. currently previews frustrate Render */ - WM_jobs_kill_all_except(CTX_wm_manager(C), CTX_wm_screen(C)); + WM_jobs_kill_all_except(wm, CTX_wm_screen(C)); /* create offscreen buffer */ sizex = (scene->r.size * scene->r.xsch) / 100; @@ -381,9 +388,6 @@ static int screen_opengl_render_init(bContext *C, wmOperator *op) return 0; } - /* handle UI stuff */ - WM_cursor_wait(1); - /* allocate opengl render */ oglrender = MEM_callocN(sizeof(OGLRender), "OGLRender"); op->customdata = oglrender; @@ -441,6 +445,10 @@ static int screen_opengl_render_init(bContext *C, wmOperator *op) rr->rectf = MEM_callocN(sizeof(float) * 4 * sizex * sizey, "screen_opengl_render_init rect"); RE_ReleaseResult(oglrender->re); + /* wm vars */ + oglrender->wm = wm; + oglrender->win = win; + return 1; } @@ -458,10 +466,13 @@ static void screen_opengl_render_end(bContext *C, OGLRender *oglrender) scene->r.cfra = oglrender->cfrao; BKE_scene_update_for_newframe(bmain, scene, screen_opengl_layers(oglrender)); - WM_event_remove_timer(CTX_wm_manager(C), CTX_wm_window(C), oglrender->timer); + WM_event_remove_timer(oglrender->wm, oglrender->win, oglrender->timer); + } + + if (oglrender->win) { + WM_cursor_restore(oglrender->win); } - WM_cursor_wait(0); WM_event_add_notifier(C, NC_SCENE | ND_RENDER_RESULT, oglrender->scene); U.obcenter_dia = oglrender->obcenter_dia_back; @@ -549,6 +560,10 @@ static int screen_opengl_render_anim_step(bContext *C, wmOperator *op) } } + if (oglrender->win) { + WM_cursor_time(oglrender->win, scene->r.cfra); + } + BKE_scene_update_for_newframe(bmain, scene, screen_opengl_layers(oglrender)); if (view_context) { @@ -714,7 +729,7 @@ static int screen_opengl_render_invoke(bContext *C, wmOperator *op, const wmEven render_view_open(C, event->x, event->y); WM_event_add_modal_handler(C, op); - oglrender->timer = WM_event_add_timer(CTX_wm_manager(C), CTX_wm_window(C), TIMER, 0.01f); + oglrender->timer = WM_event_add_timer(oglrender->wm, oglrender->win, TIMER, 0.01f); return OPERATOR_RUNNING_MODAL; } -- cgit v1.2.3 From a9eccaf85eb590d6ec8a44f687898045b3b49404 Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Wed, 17 Jul 2013 11:02:51 +0000 Subject: Fix for #36150, missing Preview Render Updates with Add/Remove material slot. --- source/blender/editors/render/render_shading.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'source') diff --git a/source/blender/editors/render/render_shading.c b/source/blender/editors/render/render_shading.c index 7a274396e86..3cdc2c771fc 100644 --- a/source/blender/editors/render/render_shading.c +++ b/source/blender/editors/render/render_shading.c @@ -110,6 +110,7 @@ static int material_slot_add_exec(bContext *C, wmOperator *UNUSED(op)) object_add_material_slot(ob); WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, ob); WM_event_add_notifier(C, NC_OBJECT | ND_OB_SHADING, ob); + WM_event_add_notifier(C, NC_MATERIAL | ND_SHADING_PREVIEW, ob); return OPERATOR_FINISHED; } @@ -146,6 +147,7 @@ static int material_slot_remove_exec(bContext *C, wmOperator *op) DAG_id_tag_update(&ob->id, OB_RECALC_DATA); WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, ob); WM_event_add_notifier(C, NC_OBJECT | ND_OB_SHADING, ob); + WM_event_add_notifier(C, NC_MATERIAL | ND_SHADING_PREVIEW, ob); return OPERATOR_FINISHED; } -- cgit v1.2.3 From c7e2c3f5e1e2c6e94511f89369af2fcd7e7fd8e9 Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Wed, 17 Jul 2013 12:57:03 +0000 Subject: Possible fix for [#36086] Activating the opencl option in the compositor causes blender crash * Now OCL_init() returns error messages if the OpenCL library cannot be loaded. --- source/blender/compositor/intern/COM_WorkScheduler.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'source') diff --git a/source/blender/compositor/intern/COM_WorkScheduler.cpp b/source/blender/compositor/intern/COM_WorkScheduler.cpp index 402fa28e210..be9a3612a0b 100644 --- a/source/blender/compositor/intern/COM_WorkScheduler.cpp +++ b/source/blender/compositor/intern/COM_WorkScheduler.cpp @@ -304,7 +304,8 @@ void WorkScheduler::initialize(bool use_opencl) g_context = NULL; g_program = NULL; - OCL_init(); /* this will check and skip if already initialized */ + if(!OCL_init()) /* this will check for errors and skip if already initialized */ + return; if (clCreateContextFromType) { cl_uint numberOfPlatforms = 0; -- cgit v1.2.3 From d527c669f7731ff71f8179a661f32fb1322cbe51 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 17 Jul 2013 14:05:50 +0000 Subject: fix [#36176] Connected font Bevel moves inwards for some letter combinations bevel wasn't taking into account overlapping text (bug goes back to 1.8). --- source/blender/blenkernel/intern/curve.c | 21 ++++++++++++--------- source/blender/makesdna/DNA_curve_types.h | 1 + 2 files changed, 13 insertions(+), 9 deletions(-) (limited to 'source') diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c index 3b9fbbb1c4d..00a479b8b88 100644 --- a/source/blender/blenkernel/intern/curve.c +++ b/source/blender/blenkernel/intern/curve.c @@ -2323,6 +2323,7 @@ void BKE_curve_bevelList_make(Object *ob) bl = MEM_callocN(sizeof(BevList) + 1 * sizeof(BevPoint), "makeBevelList1"); BLI_addtail(&(cu->bev), bl); bl->nr = 0; + bl->charidx = nu->charidx; } else { if (G.is_rendering && cu->resolu_ren != 0) @@ -2335,10 +2336,10 @@ void BKE_curve_bevelList_make(Object *ob) bl = MEM_callocN(sizeof(BevList) + len * sizeof(BevPoint), "makeBevelList2"); BLI_addtail(&(cu->bev), bl); - if (nu->flagu & CU_NURB_CYCLIC) bl->poly = 0; - else bl->poly = -1; + bl->poly = (nu->flagu & CU_NURB_CYCLIC) ? 0 : -1; bl->nr = len; bl->dupe_nr = 0; + bl->charidx = nu->charidx; bevp = (BevPoint *)(bl + 1); bp = nu->bp; @@ -2358,8 +2359,8 @@ void BKE_curve_bevelList_make(Object *ob) bl = MEM_callocN(sizeof(BevList) + len * sizeof(BevPoint), "makeBevelBPoints"); BLI_addtail(&(cu->bev), bl); - if (nu->flagu & CU_NURB_CYCLIC) bl->poly = 0; - else bl->poly = -1; + bl->poly = (nu->flagu & CU_NURB_CYCLIC) ? 0 : -1; + bl->charidx = nu->charidx; bevp = (BevPoint *)(bl + 1); a = nu->pntsu - 1; @@ -2445,8 +2446,8 @@ void BKE_curve_bevelList_make(Object *ob) BLI_addtail(&(cu->bev), bl); bl->nr = len; bl->dupe_nr = 0; - if (nu->flagu & CU_NURB_CYCLIC) bl->poly = 0; - else bl->poly = -1; + bl->poly = (nu->flagu & CU_NURB_CYCLIC) ? 0 : -1; + bl->charidx = nu->charidx; bevp = (BevPoint *)(bl + 1); BKE_nurb_makeCurve(nu, &bevp->vec[0], @@ -2572,9 +2573,11 @@ void BKE_curve_bevelList_make(Object *ob) bl = sd->bl; /* is bl a hole? */ sd1 = sortdata + (a - 1); for (b = a - 1; b >= 0; b--, sd1--) { /* all polys to the left */ - if (bevelinside(sd1->bl, bl)) { - bl->hole = 1 - sd1->bl->hole; - break; + if (sd1->bl->charidx == bl->charidx) { /* for text, only check matching char */ + if (bevelinside(sd1->bl, bl)) { + bl->hole = 1 - sd1->bl->hole; + break; + } } } } diff --git a/source/blender/makesdna/DNA_curve_types.h b/source/blender/makesdna/DNA_curve_types.h index 964fa11b0a2..7ff8667f90e 100644 --- a/source/blender/makesdna/DNA_curve_types.h +++ b/source/blender/makesdna/DNA_curve_types.h @@ -75,6 +75,7 @@ typedef struct BevList { struct BevList *next, *prev; int nr, dupe_nr; int poly, hole; + int charidx; } BevList; /* These two Lines with # tell makesdna this struct can be excluded. */ -- cgit v1.2.3 From 352c1e500da111989d2d7847fd6a6b9a130c5de4 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 17 Jul 2013 14:14:50 +0000 Subject: style cleanup --- source/blender/compositor/intern/COM_WorkScheduler.cpp | 2 +- source/blender/imbuf/intern/cineon/logImageCore.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'source') diff --git a/source/blender/compositor/intern/COM_WorkScheduler.cpp b/source/blender/compositor/intern/COM_WorkScheduler.cpp index be9a3612a0b..e0ac767b628 100644 --- a/source/blender/compositor/intern/COM_WorkScheduler.cpp +++ b/source/blender/compositor/intern/COM_WorkScheduler.cpp @@ -304,7 +304,7 @@ void WorkScheduler::initialize(bool use_opencl) g_context = NULL; g_program = NULL; - if(!OCL_init()) /* this will check for errors and skip if already initialized */ + if (!OCL_init()) /* this will check for errors and skip if already initialized */ return; if (clCreateContextFromType) { diff --git a/source/blender/imbuf/intern/cineon/logImageCore.c b/source/blender/imbuf/intern/cineon/logImageCore.c index d8d01d0cc5a..822f495d5bc 100644 --- a/source/blender/imbuf/intern/cineon/logImageCore.c +++ b/source/blender/imbuf/intern/cineon/logImageCore.c @@ -925,7 +925,7 @@ static float *getLinToLogLut(LogImageFile *logImage, LogImageElement logElement) unsigned int lutsize = (unsigned int)(logElement.maxValue + 1); unsigned int i; - lut = MEM_mallocN(sizeof(float)*lutsize, "getLinToLogLut"); + lut = MEM_mallocN(sizeof(float) * lutsize, "getLinToLogLut"); negativeFilmGamma = 0.6; step = logElement.refHighQuantity / logElement.maxValue; @@ -946,7 +946,7 @@ static float *getLogToLinLut(LogImageFile *logImage, LogImageElement logElement) unsigned int lutsize = (unsigned int)(logElement.maxValue + 1); unsigned int i; - lut = MEM_mallocN(sizeof(float)*lutsize, "getLogToLinLut"); + lut = MEM_mallocN(sizeof(float) * lutsize, "getLogToLinLut"); /* Building the Log -> Lin LUT */ step = logElement.refHighQuantity / logElement.maxValue; @@ -980,7 +980,7 @@ static float *getLinToSrgbLut(LogImageElement logElement) unsigned int lutsize = (unsigned int)(logElement.maxValue + 1); unsigned int i; - lut = MEM_mallocN(sizeof(float)*lutsize, "getLogToLinLut"); + lut = MEM_mallocN(sizeof(float) * lutsize, "getLogToLinLut"); for (i = 0; i < lutsize; i++) { col = (float)i / logElement.maxValue; @@ -999,7 +999,7 @@ static float *getSrgbToLinLut(LogImageElement logElement) unsigned int lutsize = (unsigned int)(logElement.maxValue + 1); unsigned int i; - lut = MEM_mallocN(sizeof(float)*lutsize, "getLogToLinLut"); + lut = MEM_mallocN(sizeof(float) * lutsize, "getLogToLinLut"); for (i = 0; i < lutsize; i++) { col = (float)i / logElement.maxValue; -- cgit v1.2.3 From 0b8d9467ea1a4dee9a7a3fc47f91e6a85a3a65ef Mon Sep 17 00:00:00 2001 From: Gaia Clary Date: Wed, 17 Jul 2013 17:07:11 +0000 Subject: Added some documentation for the minimal progress bar in blender_python_api --- source/blender/makesrna/intern/rna_wm_api.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'source') diff --git a/source/blender/makesrna/intern/rna_wm_api.c b/source/blender/makesrna/intern/rna_wm_api.c index 5805bcefdb4..c822378e76e 100644 --- a/source/blender/makesrna/intern/rna_wm_api.c +++ b/source/blender/makesrna/intern/rna_wm_api.c @@ -333,17 +333,23 @@ void RNA_api_wm(StructRNA *srna) /* Progress bar interface */ func = RNA_def_function(srna, "progress_begin", "rna_progress_begin"); + RNA_def_function_ui_description(func, "Start Progress bar"); + parm = RNA_def_property(func, "min", PROP_FLOAT, PROP_NONE); + RNA_def_property_ui_text(parm, "min", "any value in range [0,9999]"); RNA_def_property_flag(parm, PROP_REQUIRED); + parm = RNA_def_property(func, "max", PROP_FLOAT, PROP_NONE); RNA_def_property_flag(parm, PROP_REQUIRED); + RNA_def_property_ui_text(parm, "max", "any value in range [min+1,9998]"); func = RNA_def_function(srna, "progress_update", "rna_progress_update"); parm = RNA_def_property(func, "value", PROP_FLOAT, PROP_NONE); RNA_def_property_flag(parm, PROP_REQUIRED); - RNA_def_property_ui_text(parm, "value", "any value between min and max as set in progress_init()"); + RNA_def_property_ui_text(parm, "value", "any value between min and max as set in progress_begin()"); func = RNA_def_function(srna, "progress_end", "rna_progress_end"); + RNA_def_function_ui_description(func, "Terminate Progress bar"); /* invoke functions, for use with python */ func = RNA_def_function(srna, "invoke_props_popup", "rna_Operator_props_popup"); -- cgit v1.2.3 From 64a172907ac12a940a4bcd0c2ad27e294c2f6192 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 17 Jul 2013 17:31:12 +0000 Subject: Hide unnecessary error print when showing tooltip over a property with no RNA path, ideally this would work everywhere but it's a known limitation, no need to print an error in the console each time it happens. --- source/blender/editors/interface/interface.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source') diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c index 097f042d6c9..b59e06cbc0e 100644 --- a/source/blender/editors/interface/interface.c +++ b/source/blender/editors/interface/interface.c @@ -962,10 +962,10 @@ static bool ui_but_event_property_operator_string(const bContext *C, uiBut *but, data_path = BLI_sprintfN("scene.%s", path); MEM_freeN(path); } - else { + /*else { printf("ERROR in %s(): Couldn't get path for scene property - %s\n", __func__, RNA_property_identifier(but->rnaprop)); - } + }*/ } } else { -- cgit v1.2.3 From f2db6949c2de2a45c5864384d14f669779a8d61a Mon Sep 17 00:00:00 2001 From: Gaia Clary Date: Wed, 17 Jul 2013 20:22:08 +0000 Subject: Fix: #36184 Collada import/export... leaf bone size was not set as needed. --- source/blender/collada/ArmatureImporter.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'source') diff --git a/source/blender/collada/ArmatureImporter.cpp b/source/blender/collada/ArmatureImporter.cpp index 0cd48707566..5c69c7b1e63 100644 --- a/source/blender/collada/ArmatureImporter.cpp +++ b/source/blender/collada/ArmatureImporter.cpp @@ -133,11 +133,7 @@ void ArmatureImporter::create_bone(SkinInfo *skin, COLLADAFW::Node *node, EditBo add_v3_v3v3(bone->tail, bone->head, vec); // set parent tail - if (parent && totchild == 1) { - copy_v3_v3(parent->tail, bone->head); - - // not setting BONE_CONNECTED because this would lock child bone location with respect to parent - bone->flag |= BONE_CONNECTED; + if (parent) { // XXX increase this to prevent "very" small bones? const float epsilon = 0.000001f; @@ -148,9 +144,17 @@ void ArmatureImporter::create_bone(SkinInfo *skin, COLLADAFW::Node *node, EditBo leaf_bone_length = length; } - // treat zero-sized bone like a leaf bone - if (length <= epsilon) { - add_leaf_bone(parent_mat, parent, node); + if (totchild == 1) { + copy_v3_v3(parent->tail, bone->head); + + // not setting BONE_CONNECTED because this would lock child bone location with respect to parent + bone->flag |= BONE_CONNECTED; + + + // treat zero-sized bone like a leaf bone + if (length <= epsilon) { + add_leaf_bone(parent_mat, parent, node); + } } } -- cgit v1.2.3 From 89f4445b446b269ba84ef1445ac29c806199386c Mon Sep 17 00:00:00 2001 From: Gaia Clary Date: Wed, 17 Jul 2013 21:06:27 +0000 Subject: Leaf bone length calculation used wrong bone tail --- source/blender/collada/ArmatureImporter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source') diff --git a/source/blender/collada/ArmatureImporter.cpp b/source/blender/collada/ArmatureImporter.cpp index 5c69c7b1e63..eb92b089f48 100644 --- a/source/blender/collada/ArmatureImporter.cpp +++ b/source/blender/collada/ArmatureImporter.cpp @@ -139,7 +139,7 @@ void ArmatureImporter::create_bone(SkinInfo *skin, COLLADAFW::Node *node, EditBo const float epsilon = 0.000001f; // derive leaf bone length - float length = len_v3v3(parent->head, parent->tail); + float length = len_v3v3(parent->head, bone->head); if ((length < leaf_bone_length || totbone == 0) && length > epsilon) { leaf_bone_length = length; } -- cgit v1.2.3 From 66f6ace9383713ec27f4a684ec7561ce1a189d93 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 18 Jul 2013 02:59:28 +0000 Subject: fix for action editor view-selected behaving strangely. - when an fcurve had no selected keyframes, a default fallback value was used which caused view-selected to include frame 1, even when no selected frames were there. - the vertical axis was always reset, ideally we would center vertically too but the way this operator currently works we only know about the frame range, now don't change the vertical scroll when viewing selected since it would always jump to the top of the screen (view-all still acts this way). --- source/blender/blenkernel/BKE_fcurve.h | 2 +- source/blender/blenkernel/intern/fcurve.c | 4 ++- source/blender/editors/space_action/action_edit.c | 43 +++++++++++++++-------- 3 files changed, 32 insertions(+), 17 deletions(-) (limited to 'source') diff --git a/source/blender/blenkernel/BKE_fcurve.h b/source/blender/blenkernel/BKE_fcurve.h index d7ef04195d5..64a6811bf51 100644 --- a/source/blender/blenkernel/BKE_fcurve.h +++ b/source/blender/blenkernel/BKE_fcurve.h @@ -216,7 +216,7 @@ struct FCurve *rna_get_fcurve(struct PointerRNA *ptr, struct PropertyRNA *prop, int binarysearch_bezt_index(struct BezTriple array[], float frame, int arraylen, bool *r_replace); /* get the time extents for F-Curve */ -void calc_fcurve_range(struct FCurve *fcu, float *min, float *max, +bool calc_fcurve_range(struct FCurve *fcu, float *min, float *max, const short do_sel_only, const short do_min_length); /* get the bounding-box extents for F-Curve */ diff --git a/source/blender/blenkernel/intern/fcurve.c b/source/blender/blenkernel/intern/fcurve.c index 8958680d611..bd282095c33 100644 --- a/source/blender/blenkernel/intern/fcurve.c +++ b/source/blender/blenkernel/intern/fcurve.c @@ -577,7 +577,7 @@ short calc_fcurve_bounds(FCurve *fcu, float *xmin, float *xmax, float *ymin, flo } /* Calculate the extents of F-Curve's keyframes */ -void calc_fcurve_range(FCurve *fcu, float *start, float *end, +bool calc_fcurve_range(FCurve *fcu, float *start, float *end, const short do_sel_only, const short do_min_length) { float min = 999999999.0f, max = -999999999.0f; @@ -621,6 +621,8 @@ void calc_fcurve_range(FCurve *fcu, float *start, float *end, *start = min; *end = max; + + return foundvert; } /* ----------------- Status Checks -------------------------- */ diff --git a/source/blender/editors/space_action/action_edit.c b/source/blender/editors/space_action/action_edit.c index 803e7b71c77..7c9d867aad6 100644 --- a/source/blender/editors/space_action/action_edit.c +++ b/source/blender/editors/space_action/action_edit.c @@ -231,11 +231,12 @@ void ACTION_OT_markers_make_local(wmOperatorType *ot) /* *************************** Calculate Range ************************** */ /* Get the min/max keyframes*/ -static void get_keyframe_extents(bAnimContext *ac, float *min, float *max, const short onlySel) +static bool get_keyframe_extents(bAnimContext *ac, float *min, float *max, const short onlySel) { ListBase anim_data = {NULL, NULL}; bAnimListElem *ale; int filter; + bool found = false; /* get data to filter, from Action or Dopesheet */ /* XXX: what is sel doing here?! @@ -261,6 +262,7 @@ static void get_keyframe_extents(bAnimContext *ac, float *min, float *max, const const float framenum = (float)gpf->framenum; *min = min_ff(*min, framenum); *max = max_ff(*max, framenum); + found = true; } } else if (ale->datatype == ALE_MASKLAY) { @@ -275,6 +277,7 @@ static void get_keyframe_extents(bAnimContext *ac, float *min, float *max, const const float framenum = (float)masklay_shape->frame; *min = min_ff(*min, framenum); *max = max_ff(*max, framenum); + found = true; } } else { @@ -282,16 +285,18 @@ static void get_keyframe_extents(bAnimContext *ac, float *min, float *max, const float tmin, tmax; /* get range and apply necessary scaling before processing */ - calc_fcurve_range(fcu, &tmin, &tmax, onlySel, TRUE); + if (calc_fcurve_range(fcu, &tmin, &tmax, onlySel, TRUE)) { - if (adt) { - tmin = BKE_nla_tweakedit_remap(adt, tmin, NLATIME_CONVERT_MAP); - tmax = BKE_nla_tweakedit_remap(adt, tmax, NLATIME_CONVERT_MAP); - } + if (adt) { + tmin = BKE_nla_tweakedit_remap(adt, tmin, NLATIME_CONVERT_MAP); + tmax = BKE_nla_tweakedit_remap(adt, tmax, NLATIME_CONVERT_MAP); + } - /* try to set cur using these values, if they're more extreme than previously set values */ - *min = min_ff(*min, tmin); - *max = max_ff(*max, tmax); + /* try to set cur using these values, if they're more extreme than previously set values */ + *min = min_ff(*min, tmin); + *max = max_ff(*max, tmax); + found = true; + } } } @@ -309,6 +314,8 @@ static void get_keyframe_extents(bAnimContext *ac, float *min, float *max, const *max = 100; } } + + return found; } /* ****************** Automatic Preview-Range Operator ****************** */ @@ -357,11 +364,12 @@ void ACTION_OT_previewrange_set(wmOperatorType *ot) /* ****************** View-All Operator ****************** */ -static int actkeys_viewall(bContext *C, const short onlySel) +static int actkeys_viewall(bContext *C, const bool only_sel, const bool only_xaxis) { bAnimContext ac; View2D *v2d; float extra; + bool found; /* get editor data */ if (ANIM_animdata_get_context(C, &ac) == 0) @@ -369,15 +377,20 @@ static int actkeys_viewall(bContext *C, const short onlySel) v2d = &ac.ar->v2d; /* set the horizontal range, with an extra offset so that the extreme keys will be in view */ - get_keyframe_extents(&ac, &v2d->cur.xmin, &v2d->cur.xmax, onlySel); + found = get_keyframe_extents(&ac, &v2d->cur.xmin, &v2d->cur.xmax, only_sel); + + if (only_sel && (found == false)) + return OPERATOR_CANCELLED; extra = 0.1f * BLI_rctf_size_x(&v2d->cur); v2d->cur.xmin -= extra; v2d->cur.xmax += extra; /* set vertical range */ - v2d->cur.ymax = 0.0f; - v2d->cur.ymin = (float)-BLI_rcti_size_y(&v2d->mask); + if (only_xaxis == false) { + v2d->cur.ymax = 0.0f; + v2d->cur.ymin = (float)-BLI_rcti_size_y(&v2d->mask); + } /* do View2D syncing */ UI_view2d_sync(CTX_wm_screen(C), CTX_wm_area(C), v2d, V2D_LOCK_COPY); @@ -393,13 +406,13 @@ static int actkeys_viewall(bContext *C, const short onlySel) static int actkeys_viewall_exec(bContext *C, wmOperator *UNUSED(op)) { /* whole range */ - return actkeys_viewall(C, FALSE); + return actkeys_viewall(C, false, false); } static int actkeys_viewsel_exec(bContext *C, wmOperator *UNUSED(op)) { /* only selected */ - return actkeys_viewall(C, TRUE); + return actkeys_viewall(C, true, true); } void ACTION_OT_view_all(wmOperatorType *ot) -- cgit v1.2.3 From 1d4bd90c844ef2e9f48a97dbad1b8241e2abe29a Mon Sep 17 00:00:00 2001 From: Gaia Clary Date: Thu, 18 Jul 2013 07:54:19 +0000 Subject: Avoid creating Morph Controllers when shape key export is disabled --- source/blender/collada/ControllerExporter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source') diff --git a/source/blender/collada/ControllerExporter.cpp b/source/blender/collada/ControllerExporter.cpp index 4c6f71ff1a6..d04ed8d6fa1 100644 --- a/source/blender/collada/ControllerExporter.cpp +++ b/source/blender/collada/ControllerExporter.cpp @@ -123,7 +123,7 @@ void ControllerExporter::operator()(Object *ob) if (ob_arm) { export_skin_controller(ob, ob_arm); } - if (key) { + if (key && this->export_settings->include_shapekeys) { export_morph_controller(ob, key); } } -- cgit v1.2.3 From 530bcc422e97afa18ac998aa5ecd11e8e9560c55 Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Thu, 18 Jul 2013 10:08:28 +0000 Subject: Tradtional release commit! 2.68 splash and the numbering. - This should then follow the tagging - And I would still prefer to have at least 24 hours full freeze, for proper test and avoid last minute errors. --- source/blender/blenkernel/BKE_blender.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'source') diff --git a/source/blender/blenkernel/BKE_blender.h b/source/blender/blenkernel/BKE_blender.h index 9e874c9aa15..e73b30ab98a 100644 --- a/source/blender/blenkernel/BKE_blender.h +++ b/source/blender/blenkernel/BKE_blender.h @@ -41,8 +41,8 @@ extern "C" { /* these lines are grep'd, watch out for our not-so-awesome regex * and keep comment above the defines. * Use STRINGIFY() rather than defining with quotes */ -#define BLENDER_VERSION 267 -#define BLENDER_SUBVERSION 1 +#define BLENDER_VERSION 268 +#define BLENDER_SUBVERSION 0 /* 262 was the last editmesh release but it has compatibility code for bmesh data */ #define BLENDER_MINVERSION 262 @@ -50,9 +50,9 @@ extern "C" { /* used by packaging tools */ /* can be left blank, otherwise a,b,c... etc with no quotes */ -#define BLENDER_VERSION_CHAR b +#define BLENDER_VERSION_CHAR /* alpha/beta/rc/release, docs use this */ -#define BLENDER_VERSION_CYCLE rc +#define BLENDER_VERSION_CYCLE release extern char versionstr[]; /* from blender.c */ -- cgit v1.2.3 From 4e1afbe7cd6b9fc26726f39b83a96d0cf60942f5 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 08:04:05 +0000 Subject: fix [#36218] Crash attempting to delete right side of hard cut in VSE on movie strip deleting a strip would try free the anim membe twice. --- source/blender/blenkernel/intern/sequencer.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'source') diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c index e81afc7efb6..b080cfcff2f 100644 --- a/source/blender/blenkernel/intern/sequencer.c +++ b/source/blender/blenkernel/intern/sequencer.c @@ -179,8 +179,10 @@ static void BKE_sequence_free_ex(Scene *scene, Sequence *seq, const int do_cache if (seq->strip) seq_free_strip(seq->strip); - if (seq->anim) + if (seq->anim) { IMB_free_anim(seq->anim); + seq->anim = NULL; + } if (seq->type & SEQ_TYPE_EFFECT) { struct SeqEffectHandle sh = BKE_sequence_get_effect(seq); -- cgit v1.2.3 From b7826c42df5bc049b93b636b0ef81d5cca8397e4 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 10:39:25 +0000 Subject: enable type limits warning when compiling with gcc. --- source/blender/blenkernel/intern/implicit.c | 4 ++++ source/blender/blenkernel/intern/mask_rasterize.c | 8 ++++---- source/blender/bmesh/intern/bmesh_operators.c | 3 --- 3 files changed, 8 insertions(+), 7 deletions(-) (limited to 'source') diff --git a/source/blender/blenkernel/intern/implicit.c b/source/blender/blenkernel/intern/implicit.c index b9064fe8ba3..c8e18bc3dee 100644 --- a/source/blender/blenkernel/intern/implicit.c +++ b/source/blender/blenkernel/intern/implicit.c @@ -48,6 +48,10 @@ #include "BKE_global.h" +#ifdef __GNUC__ +# pragma GCC diagnostic ignored "-Wtype-limits" +#endif + #ifdef _OPENMP # define CLOTH_OPENMP_LIMIT 512 #endif diff --git a/source/blender/blenkernel/intern/mask_rasterize.c b/source/blender/blenkernel/intern/mask_rasterize.c index e68f87211eb..ac48eaa3185 100644 --- a/source/blender/blenkernel/intern/mask_rasterize.c +++ b/source/blender/blenkernel/intern/mask_rasterize.c @@ -496,10 +496,10 @@ static void layer_bucket_init(MaskRasterLayer *layer, const float pixel_size) /* this should _almost_ never happen but since it can in extreme cases, * we have to clamp the values or we overrun the buffer and crash */ - CLAMP(xi_min, 0, layer->buckets_x - 1); - CLAMP(xi_max, 0, layer->buckets_x - 1); - CLAMP(yi_min, 0, layer->buckets_y - 1); - CLAMP(yi_max, 0, layer->buckets_y - 1); + if (xi_min >= layer->buckets_x) xi_min = layer->buckets_x - 1; + if (xi_max >= layer->buckets_x) xi_max = layer->buckets_x - 1; + if (yi_min >= layer->buckets_y) yi_min = layer->buckets_y - 1; + if (yi_max >= layer->buckets_y) yi_max = layer->buckets_y - 1; for (yi = yi_min; yi <= yi_max; yi++) { unsigned int bucket_index = (layer->buckets_x * yi) + xi_min; diff --git a/source/blender/bmesh/intern/bmesh_operators.c b/source/blender/bmesh/intern/bmesh_operators.c index 7f8b40d85dc..63c00d5b545 100644 --- a/source/blender/bmesh/intern/bmesh_operators.c +++ b/source/blender/bmesh/intern/bmesh_operators.c @@ -561,8 +561,6 @@ static int bmo_mesh_flag_count(BMesh *bm, const char htype, const short oflag, BMElemF *ele_f; int i; - BLI_assert((unsigned int)test_for_enabled <= 1); - for (i = 0; i < 3; i++) { if (htype & flag_types[i]) { BM_ITER_MESH (ele_f, &iter, bm, iter_types[i]) { @@ -937,7 +935,6 @@ static void bmo_slot_buffer_from_flag(BMesh *bm, BMOperator *op, int totelement, i = 0; BLI_assert(op->slots_in == slot_args || op->slots_out == slot_args); - BLI_assert((unsigned int)test_for_enabled <= 1); if (test_for_enabled) totelement = BMO_mesh_enabled_flag_count(bm, htype, oflag); -- cgit v1.2.3 From 79b919644be280b57133344d4e6c84f4d9b479b4 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 10:39:32 +0000 Subject: code cleanup: remove array reallocation in bmesh duplicate function (use alloca) --- source/blender/bmesh/operators/bmo_dupe.c | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) (limited to 'source') diff --git a/source/blender/bmesh/operators/bmo_dupe.c b/source/blender/bmesh/operators/bmo_dupe.c index e41fbd69616..d65e2669a58 100644 --- a/source/blender/bmesh/operators/bmo_dupe.c +++ b/source/blender/bmesh/operators/bmo_dupe.c @@ -130,9 +130,11 @@ static BMFace *copy_face(BMOperator *op, BMOpSlot *slot_facemap_out, BMesh *source_mesh, BMFace *source_face, BMesh *target_mesh, - BMVert **vtar, BMEdge **edar, GHash *vhash, GHash *ehash) + GHash *vhash, GHash *ehash) { /* BMVert *target_vert1, *target_vert2; */ /* UNUSED */ + BMVert **vtar = BLI_array_alloca(vtar, source_face->len); + BMEdge **edar = BLI_array_alloca(edar, source_face->len); BMLoop *source_loop, *target_loop; BMFace *target_face = NULL; BMIter iter, iter2; @@ -190,11 +192,6 @@ static void bmo_mesh_copy(BMOperator *op, BMesh *bm_src, BMesh *bm_dst) BMVert *v = NULL, *v2; BMEdge *e = NULL; BMFace *f = NULL; - - BLI_array_declare(vtar); - BLI_array_declare(edar); - BMVert **vtar = NULL; - BMEdge **edar = NULL; BMIter viter, eiter, fiter; GHash *vhash, *ehash; @@ -280,14 +277,7 @@ static void bmo_mesh_copy(BMOperator *op, BMesh *bm_src, BMesh *bm_dst) } } - /* ensure arrays are the right size */ - BLI_array_empty(vtar); - BLI_array_empty(edar); - - BLI_array_grow_items(vtar, f->len); - BLI_array_grow_items(edar, f->len); - - copy_face(op, slot_face_map_out, bm_src, f, bm_dst, vtar, edar, vhash, ehash); + copy_face(op, slot_face_map_out, bm_src, f, bm_dst, vhash, ehash); BMO_elem_flag_enable(bm_src, f, DUPE_DONE); } } @@ -295,9 +285,6 @@ static void bmo_mesh_copy(BMOperator *op, BMesh *bm_src, BMesh *bm_dst) /* free pointer hashes */ BLI_ghash_free(vhash, NULL, NULL); BLI_ghash_free(ehash, NULL, NULL); - - BLI_array_free(vtar); /* free vert pointer array */ - BLI_array_free(edar); /* free edge pointer array */ } /** -- cgit v1.2.3 From 33e0bc6b486de3b597deaf35c07cb560c7dfefb1 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 10:39:37 +0000 Subject: code cleanup: avoid sqrt in isect_seg_seg_v2_point --- source/blender/blenlib/intern/math_geom.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'source') diff --git a/source/blender/blenlib/intern/math_geom.c b/source/blender/blenlib/intern/math_geom.c index 28bb97689d8..0e7ff521ce8 100644 --- a/source/blender/blenlib/intern/math_geom.c +++ b/source/blender/blenlib/intern/math_geom.c @@ -494,6 +494,7 @@ int isect_seg_seg_v2_point(const float v1[2], const float v2[2], const float v3[ float a1, a2, b1, b2, c1, c2, d; float u, v; const float eps = 0.000001f; + const float eps_sq = eps * eps; a1 = v2[0] - v1[0]; b1 = v4[0] - v3[0]; @@ -510,8 +511,8 @@ int isect_seg_seg_v2_point(const float v1[2], const float v2[2], const float v3[ float a[2], b[2], c[2]; float u2; - if (len_v2v2(v1, v2) == 0.0f) { - if (len_v2v2(v3, v4) > eps) { + if (equals_v2v2(v1, v2)) { + if (len_squared_v2v2(v3, v4) > eps_sq) { /* use non-point segment as basis */ SWAP(const float *, v1, v3); SWAP(const float *, v2, v4); -- cgit v1.2.3 From a15ac6ee09afb7f8bf68cbb60d2857243da4d40e Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 10:39:44 +0000 Subject: code cleanup: use bool for widget struct, also edit odd strncpy use. --- source/blender/editors/interface/interface_widgets.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'source') diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c index 9b736eb1bf4..daec8b3f442 100644 --- a/source/blender/editors/interface/interface_widgets.c +++ b/source/blender/editors/interface/interface_widgets.c @@ -96,8 +96,7 @@ typedef struct uiWidgetBase { float inner_v[WIDGET_SIZE_MAX][2]; float inner_uv[WIDGET_SIZE_MAX][2]; - short inner, outline, emboss; /* set on/off */ - short shadedir; + bool inner, outline, emboss, shadedir; uiWidgetTrias tria1; uiWidgetTrias tria2; @@ -2365,7 +2364,7 @@ void uiWidgetScrollDraw(uiWidgetColors *wcol, const rcti *rect, const rcti *slid uiWidgetBase wtb; int horizontal; float rad; - short outline = 0; + bool outline = false; widget_init(&wtb); @@ -2409,8 +2408,9 @@ void uiWidgetScrollDraw(uiWidgetColors *wcol, const rcti *rect, const rcti *slid wtb.emboss = 0; /* only emboss once */ /* exception for progress bar */ - if (state & UI_SCROLL_NO_OUTLINE) - SWAP(short, outline, wtb.outline); + if (state & UI_SCROLL_NO_OUTLINE) { + SWAP(bool, outline, wtb.outline); + } round_box_edges(&wtb, UI_CNR_ALL, slider, rad); @@ -2431,8 +2431,9 @@ void uiWidgetScrollDraw(uiWidgetColors *wcol, const rcti *rect, const rcti *slid } widgetbase_draw(&wtb, wcol); - if (state & UI_SCROLL_NO_OUTLINE) - SWAP(short, outline, wtb.outline); + if (state & UI_SCROLL_NO_OUTLINE) { + SWAP(bool, outline, wtb.outline); + } } } -- cgit v1.2.3 From 40c2f52dbf782d18a4819eb583ea3b297b6dfb77 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 10:39:49 +0000 Subject: code cleanup: simplify BLI_parent_dir using BLI_join_dirfile --- source/blender/blenlib/intern/path_util.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'source') diff --git a/source/blender/blenlib/intern/path_util.c b/source/blender/blenlib/intern/path_util.c index 1e76a7f3164..4c089e99202 100644 --- a/source/blender/blenlib/intern/path_util.c +++ b/source/blender/blenlib/intern/path_util.c @@ -610,9 +610,8 @@ bool BLI_parent_dir(char *path) { static char parent_dir[] = {'.', '.', SEP, '\0'}; /* "../" or "..\\" */ char tmp[FILE_MAX + 4]; - BLI_strncpy(tmp, path, sizeof(tmp) - 4); - BLI_add_slash(tmp); - strcat(tmp, parent_dir); + + BLI_join_dirfile(tmp, sizeof(tmp), path, parent_dir); BLI_cleanup_dir(NULL, tmp); /* does all the work of normalizing the path for us */ if (!BLI_testextensie(tmp, parent_dir)) { -- cgit v1.2.3 From fea5af0d88c7d97862ab428922b13231f88692b6 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 10:39:55 +0000 Subject: code cleanup: replace wm_macro_modal inline search for BLI_findptr. --- source/blender/windowmanager/intern/wm_operators.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'source') diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c index 981467cbba6..ddc48ce6332 100644 --- a/source/blender/windowmanager/intern/wm_operators.c +++ b/source/blender/windowmanager/intern/wm_operators.c @@ -307,14 +307,9 @@ static int wm_macro_modal(bContext *C, wmOperator *op, const wmEvent *event) /* if new operator is modal and also added its own handler */ if (retval & OPERATOR_RUNNING_MODAL && op->opm != opm) { wmWindow *win = CTX_wm_window(C); - wmEventHandler *handler = NULL; - - for (handler = win->modalhandlers.first; handler; handler = handler->next) { - /* first handler in list is the new one */ - if (handler->op == op) - break; - } + wmEventHandler *handler; + handler = BLI_findptr(&win->modalhandlers, op, offsetof(wmEventHandler, op)); if (handler) { BLI_remlink(&win->modalhandlers, handler); wm_event_free_handler(handler); -- cgit v1.2.3 From a926d9a0d4437943aa8658fd9c1a6c1d6f9c2042 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 10:40:01 +0000 Subject: code cleanup: remove redundant multiplying when jittering widget drawing. --- source/blender/editors/interface/interface_widgets.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'source') diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c index daec8b3f442..18c6d969222 100644 --- a/source/blender/editors/interface/interface_widgets.c +++ b/source/blender/editors/interface/interface_widgets.c @@ -208,9 +208,9 @@ void ui_draw_anti_tria(float x1, float y1, float x2, float y2, float x3, float y /* for each AA step */ for (j = 0; j < WIDGET_AA_JITTER; j++) { - glTranslatef(1.0f * jit[j][0], 1.0f * jit[j][1], 0.0f); + glTranslatef(jit[j][0], jit[j][1], 0.0f); glDrawArrays(GL_TRIANGLES, 0, 3); - glTranslatef(-1.0f * jit[j][0], -1.0f * jit[j][1], 0.0f); + glTranslatef(-jit[j][0], -jit[j][1], 0.0f); } glDisableClientState(GL_VERTEX_ARRAY); @@ -231,9 +231,9 @@ void ui_draw_anti_roundbox(int mode, float minx, float miny, float maxx, float m glColor4fv(color); for (j = 0; j < WIDGET_AA_JITTER; j++) { - glTranslatef(1.0f * jit[j][0], 1.0f * jit[j][1], 0.0f); + glTranslatef(jit[j][0], jit[j][1], 0.0f); uiDrawBox(mode, minx, miny, maxx, maxy, rad); - glTranslatef(-1.0f * jit[j][0], -1.0f * jit[j][1], 0.0f); + glTranslatef(-jit[j][0], -jit[j][1], 0.0f); } glDisable(GL_BLEND); @@ -777,7 +777,7 @@ static void widgetbase_draw(uiWidgetBase *wtb, uiWidgetColors *wcol) glEnableClientState(GL_VERTEX_ARRAY); for (j = 0; j < WIDGET_AA_JITTER; j++) { - glTranslatef(1.0f * jit[j][0], 1.0f * jit[j][1], 0.0f); + glTranslatef(jit[j][0], jit[j][1], 0.0f); /* outline */ glColor4ubv(tcol); @@ -793,7 +793,7 @@ static void widgetbase_draw(uiWidgetBase *wtb, uiWidgetColors *wcol) glDrawArrays(GL_QUAD_STRIP, 0, wtb->halfwayvert * 2); } - glTranslatef(-1.0f * jit[j][0], -1.0f * jit[j][1], 0.0f); + glTranslatef(-jit[j][0], -jit[j][1], 0.0f); } glDisableClientState(GL_VERTEX_ARRAY); @@ -807,7 +807,7 @@ static void widgetbase_draw(uiWidgetBase *wtb, uiWidgetColors *wcol) (unsigned char)((float)wcol->item[3] / WIDGET_AA_JITTER)}; /* for each AA step */ for (j = 0; j < WIDGET_AA_JITTER; j++) { - glTranslatef(1.0f * jit[j][0], 1.0f * jit[j][1], 0.0f); + glTranslatef(jit[j][0], jit[j][1], 0.0f); if (wtb->tria1.tot) { glColor4ubv(tcol); @@ -818,7 +818,7 @@ static void widgetbase_draw(uiWidgetBase *wtb, uiWidgetColors *wcol) widget_trias_draw(&wtb->tria2); } - glTranslatef(-1.0f * jit[j][0], -1.0f * jit[j][1], 0.0f); + glTranslatef(-jit[j][0], -jit[j][1], 0.0f); } } -- cgit v1.2.3 From efc7b7a2853cfbcfb20c80e0d16db11109fad22f Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 10:40:06 +0000 Subject: code cleanup: replace inline loop with BLI_findstring --- source/blender/makesrna/intern/rna_wm.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'source') diff --git a/source/blender/makesrna/intern/rna_wm.c b/source/blender/makesrna/intern/rna_wm.c index 24eab621f5e..0d1c684e6a1 100644 --- a/source/blender/makesrna/intern/rna_wm.c +++ b/source/blender/makesrna/intern/rna_wm.c @@ -770,10 +770,8 @@ static PointerRNA rna_WindowManager_active_keyconfig_get(PointerRNA *ptr) wmWindowManager *wm = ptr->data; wmKeyConfig *kc; - for (kc = wm->keyconfigs.first; kc; kc = kc->next) - if (strcmp(kc->idname, U.keyconfigstr) == 0) - break; - + kc = BLI_findstring(&wm->keyconfigs, U.keyconfigstr, offsetof(wmKeyConfig, idname)); + if (!kc) kc = wm->defaultconf; -- cgit v1.2.3 From 965d2fd4267a6c6554c8532de1b92832fa4b0226 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 10:40:12 +0000 Subject: code cleanup: inconsistent 'break' placement in BKE_object_minmax --- source/blender/blenkernel/intern/object.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'source') diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index e79a759407b..2df78c4fb8a 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -2357,8 +2357,9 @@ void BKE_object_minmax(Object *ob, float min_r[3], float max_r[3], const bool us /* Use the object bounding box so that modifier output * gets taken into account */ - if (ob->bb) + if (ob->bb) { bb = *(ob->bb); + } else { if (cu->bb == NULL) BKE_curve_texspace_calc(cu); @@ -2370,8 +2371,8 @@ void BKE_object_minmax(Object *ob, float min_r[3], float max_r[3], const bool us minmax_v3v3_v3(min_r, max_r, bb.vec[a]); } change = TRUE; + break; } - break; case OB_LATTICE: { Lattice *lt = ob->data; @@ -2387,9 +2388,10 @@ void BKE_object_minmax(Object *ob, float min_r[3], float max_r[3], const bool us } } change = TRUE; + break; } - break; case OB_ARMATURE: + { if (ob->pose) { bArmature *arm = ob->data; bPoseChannel *pchan; @@ -2408,6 +2410,7 @@ void BKE_object_minmax(Object *ob, float min_r[3], float max_r[3], const bool us } } break; + } case OB_MESH: { Mesh *me = BKE_mesh_from_object(ob); @@ -2421,8 +2424,8 @@ void BKE_object_minmax(Object *ob, float min_r[3], float max_r[3], const bool us } change = TRUE; } + break; } - break; case OB_MBALL: { float ob_min[3], ob_max[3]; -- cgit v1.2.3 From f4609acedc79ed57af8a6a30917214a1176fc175 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 10:40:20 +0000 Subject: optimization: avoid memcpy with shake key vertex array. --- source/blender/blenkernel/BKE_key.h | 2 ++ source/blender/blenkernel/intern/key.c | 19 +++++++++++++++++-- source/blender/modifiers/intern/MOD_shapekey.c | 11 +++-------- 3 files changed, 22 insertions(+), 10 deletions(-) (limited to 'source') diff --git a/source/blender/blenkernel/BKE_key.h b/source/blender/blenkernel/BKE_key.h index a159cbb13d4..de60d316426 100644 --- a/source/blender/blenkernel/BKE_key.h +++ b/source/blender/blenkernel/BKE_key.h @@ -59,6 +59,8 @@ void key_curve_position_weights(float t, float data[4], int type); void key_curve_tangent_weights(float t, float data[4], int type); void key_curve_normal_weights(float t, float data[4], int type); +float *BKE_key_evaluate_object_ex(struct Scene *scene, struct Object *ob, int *r_totelem, + float *arr, size_t arr_size); float *BKE_key_evaluate_object(struct Scene *scene, struct Object *ob, int *r_totelem); struct Key *BKE_key_from_object(struct Object *ob); diff --git a/source/blender/blenkernel/intern/key.c b/source/blender/blenkernel/intern/key.c index e141b9dbabe..a79fa3873f5 100644 --- a/source/blender/blenkernel/intern/key.c +++ b/source/blender/blenkernel/intern/key.c @@ -1342,7 +1342,8 @@ static void do_latt_key(Scene *scene, Object *ob, Key *key, char *out, const int } /* returns key coordinates (+ tilt) when key applied, NULL otherwise */ -float *BKE_key_evaluate_object(Scene *scene, Object *ob, int *r_totelem) +float *BKE_key_evaluate_object_ex(Scene *scene, Object *ob, int *r_totelem, + float *arr, size_t arr_size) { Key *key = BKE_key_from_object(ob); KeyBlock *actkb = BKE_keyblock_from_object(ob); @@ -1386,7 +1387,16 @@ float *BKE_key_evaluate_object(Scene *scene, Object *ob, int *r_totelem) return NULL; /* allocate array */ - out = MEM_callocN(size, "BKE_key_evaluate_object out"); + if (arr == NULL) { + out = MEM_callocN(size, "BKE_key_evaluate_object out"); + } + else { + if (arr_size != size) { + return NULL; + } + + out = (char *)arr; + } /* prevent python from screwing this up? anyhoo, the from pointer could be dropped */ key->from = (ID *)ob->data; @@ -1427,6 +1437,11 @@ float *BKE_key_evaluate_object(Scene *scene, Object *ob, int *r_totelem) return (float *)out; } +float *BKE_key_evaluate_object(Scene *scene, Object *ob, int *r_totelem) +{ + return BKE_key_evaluate_object_ex(scene, ob, r_totelem, NULL, 0); +} + Key *BKE_key_from_object(Object *ob) { if (ob == NULL) return NULL; diff --git a/source/blender/modifiers/intern/MOD_shapekey.c b/source/blender/modifiers/intern/MOD_shapekey.c index 697ccdc49a4..fef4c7ccedb 100644 --- a/source/blender/modifiers/intern/MOD_shapekey.c +++ b/source/blender/modifiers/intern/MOD_shapekey.c @@ -55,17 +55,12 @@ static void deformVerts(ModifierData *md, Object *ob, ModifierApplyFlag UNUSED(flag)) { Key *key = BKE_key_from_object(ob); - float (*deformedVerts)[3]; if (key && key->block.first) { int deformedVerts_tot; - deformedVerts = (float(*)[3])BKE_key_evaluate_object(md->scene, ob, &deformedVerts_tot); - if (deformedVerts) { - if (numVerts == deformedVerts_tot) { - memcpy(vertexCos, deformedVerts, sizeof(float) * 3 * numVerts); - } - MEM_freeN(deformedVerts); - } + BKE_key_evaluate_object_ex(md->scene, ob, &deformedVerts_tot, + (float *)vertexCos, sizeof(*vertexCos) * numVerts); + } } -- cgit v1.2.3 From 824ec5a388ca1737418ef4f7d72f1910610a025b Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 10:40:43 +0000 Subject: code cleanup: case & brace placement --- source/blender/blenloader/intern/readfile.c | 57 +++++++++++---------- source/blender/collada/MeshImporter.cpp | 25 ++++++---- source/blender/collada/TransformWriter.cpp | 11 +++-- source/blender/collada/collada_utils.cpp | 6 ++- source/blender/compositor/nodes/COM_GroupNode.cpp | 9 ++-- source/blender/editors/space_node/drawnode.c | 25 ++++++---- source/blender/editors/space_node/node_edit.c | 38 +++++++------- source/blender/editors/space_node/space_node.c | 3 +- source/blender/makesrna/intern/rna_image.c | 6 ++- source/blender/nodes/intern/node_socket.c | 60 +++++++++++++++-------- 10 files changed, 147 insertions(+), 93 deletions(-) (limited to 'source') diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index a6da0762b1c..50273cb33f3 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -7689,31 +7689,38 @@ static const char *node_get_static_idname(int type, int treetype) static const char *node_socket_get_static_idname(bNodeSocket *sock) { switch (sock->type) { - case SOCK_FLOAT: { - bNodeSocketValueFloat *dval = sock->default_value; - return nodeStaticSocketType(SOCK_FLOAT, dval->subtype); - } - case SOCK_INT: { - bNodeSocketValueInt *dval = sock->default_value; - return nodeStaticSocketType(SOCK_INT, dval->subtype); - } - case SOCK_BOOLEAN: { - return nodeStaticSocketType(SOCK_BOOLEAN, PROP_NONE); - } - case SOCK_VECTOR: { - bNodeSocketValueVector *dval = sock->default_value; - return nodeStaticSocketType(SOCK_VECTOR, dval->subtype); - } - case SOCK_RGBA: { - return nodeStaticSocketType(SOCK_RGBA, PROP_NONE); - } - case SOCK_STRING: { - bNodeSocketValueString *dval = sock->default_value; - return nodeStaticSocketType(SOCK_STRING, dval->subtype); - } - case SOCK_SHADER: { - return nodeStaticSocketType(SOCK_SHADER, PROP_NONE); - } + case SOCK_FLOAT: + { + bNodeSocketValueFloat *dval = sock->default_value; + return nodeStaticSocketType(SOCK_FLOAT, dval->subtype); + } + case SOCK_INT: + { + bNodeSocketValueInt *dval = sock->default_value; + return nodeStaticSocketType(SOCK_INT, dval->subtype); + } + case SOCK_BOOLEAN: + { + return nodeStaticSocketType(SOCK_BOOLEAN, PROP_NONE); + } + case SOCK_VECTOR: + { + bNodeSocketValueVector *dval = sock->default_value; + return nodeStaticSocketType(SOCK_VECTOR, dval->subtype); + } + case SOCK_RGBA: + { + return nodeStaticSocketType(SOCK_RGBA, PROP_NONE); + } + case SOCK_STRING: + { + bNodeSocketValueString *dval = sock->default_value; + return nodeStaticSocketType(SOCK_STRING, dval->subtype); + } + case SOCK_SHADER: + { + return nodeStaticSocketType(SOCK_SHADER, PROP_NONE); + } } return ""; } diff --git a/source/blender/collada/MeshImporter.cpp b/source/blender/collada/MeshImporter.cpp index b4b37f7d0bd..1e0f0244072 100644 --- a/source/blender/collada/MeshImporter.cpp +++ b/source/blender/collada/MeshImporter.cpp @@ -315,7 +315,8 @@ bool MeshImporter::primitive_has_faces(COLLADAFW::MeshPrimitive *mp) { case COLLADAFW::MeshPrimitive::TRIANGLES: case COLLADAFW::MeshPrimitive::TRIANGLE_FANS: case COLLADAFW::MeshPrimitive::POLYLIST: - case COLLADAFW::MeshPrimitive::POLYGONS: { + case COLLADAFW::MeshPrimitive::POLYGONS: + { has_faces = true; break; } @@ -347,8 +348,8 @@ void MeshImporter::allocate_poly_data(COLLADAFW::Mesh *collada_mesh, Mesh *me) case COLLADAFW::MeshPrimitive::TRIANGLES: case COLLADAFW::MeshPrimitive::TRIANGLE_FANS: case COLLADAFW::MeshPrimitive::POLYLIST: - case COLLADAFW::MeshPrimitive::POLYGONS: { - + case COLLADAFW::MeshPrimitive::POLYGONS: + { COLLADAFW::Polygons *mpvc = (COLLADAFW::Polygons *)mp; size_t prim_poly_count = mpvc->getFaceCount(); @@ -361,7 +362,8 @@ void MeshImporter::allocate_poly_data(COLLADAFW::Mesh *collada_mesh, Mesh *me) total_loop_count += prim_loop_count; break; } - default: break; + default: + break; } } @@ -400,16 +402,19 @@ unsigned int MeshImporter::get_vertex_count(COLLADAFW::Polygons *mp, int index) int result; switch (type) { case COLLADAFW::MeshPrimitive::TRIANGLES: - case COLLADAFW::MeshPrimitive::TRIANGLE_FANS: { + case COLLADAFW::MeshPrimitive::TRIANGLE_FANS: + { result = 3; break; } case COLLADAFW::MeshPrimitive::POLYLIST: - case COLLADAFW::MeshPrimitive::POLYGONS: { + case COLLADAFW::MeshPrimitive::POLYGONS: + { result = mp->getGroupedVerticesVertexCountArray()[index]; break; } - default: { + default: + { result = -1; break; } @@ -427,12 +432,14 @@ unsigned int MeshImporter::get_loose_edge_count(COLLADAFW::Mesh *mesh) { COLLADAFW::MeshPrimitive *mp = prim_arr[i]; int type = mp->getPrimitiveType(); switch (type) { - case COLLADAFW::MeshPrimitive::LINES: { + case COLLADAFW::MeshPrimitive::LINES: + { size_t prim_totface = mp->getFaceCount(); loose_edge_count += prim_totface; break; } - default: break; + default: + break; } } return loose_edge_count; diff --git a/source/blender/collada/TransformWriter.cpp b/source/blender/collada/TransformWriter.cpp index b088139262c..c3665a33ca4 100644 --- a/source/blender/collada/TransformWriter.cpp +++ b/source/blender/collada/TransformWriter.cpp @@ -107,15 +107,18 @@ void TransformWriter::add_node_transform_ob(COLLADASW::Node& node, Object *ob, B converter.mat4_to_dae_double(d_obmat, f_obmat); switch (transformation_type) { - case BC_TRANSFORMATION_TYPE_MATRIX : { + case BC_TRANSFORMATION_TYPE_MATRIX: + { node.addMatrix("transform",d_obmat); break; } - case BC_TRANSFORMATION_TYPE_BOTH : { + case BC_TRANSFORMATION_TYPE_BOTH: + { node.addMatrix("transform",d_obmat); - /* intentional fall-through */ + /* fall-through */ } - case BC_TRANSFORMATION_TYPE_TRANSROTLOC: { + case BC_TRANSFORMATION_TYPE_TRANSROTLOC: + { float loc[3], rot[3], scale[3]; TransformBase::decompose(f_obmat, loc, rot, NULL, scale); add_transform(node, loc, rot, scale); diff --git a/source/blender/collada/collada_utils.cpp b/source/blender/collada/collada_utils.cpp index 41f48a757c0..d4196bacf0d 100644 --- a/source/blender/collada/collada_utils.cpp +++ b/source/blender/collada/collada_utils.cpp @@ -145,11 +145,13 @@ Mesh *bc_get_mesh_copy(Scene *scene, Object *ob, BC_export_mesh_type export_mesh DerivedMesh *dm = NULL; if (apply_modifiers) { switch (export_mesh_type) { - case BC_MESH_TYPE_VIEW: { + case BC_MESH_TYPE_VIEW: + { dm = mesh_create_derived_view(scene, ob, mask); break; } - case BC_MESH_TYPE_RENDER: { + case BC_MESH_TYPE_RENDER: + { dm = mesh_create_derived_render(scene, ob, mask); break; } diff --git a/source/blender/compositor/nodes/COM_GroupNode.cpp b/source/blender/compositor/nodes/COM_GroupNode.cpp index 85554d7a7aa..7c0499dc04e 100644 --- a/source/blender/compositor/nodes/COM_GroupNode.cpp +++ b/source/blender/compositor/nodes/COM_GroupNode.cpp @@ -183,14 +183,16 @@ void GroupNode::addDefaultOutputOperation(ExecutionSystem &system, OutputSocket NodeOperation *operation = NULL; switch (iosock->typeinfo->type) { - case SOCK_FLOAT: { + case SOCK_FLOAT: + { float value = RNA_float_get(&ptr, "default_value"); SetValueOperation *value_op = new SetValueOperation(); value_op->setValue(value); operation = value_op; break; } - case SOCK_VECTOR: { + case SOCK_VECTOR: + { float vector[3]; RNA_float_get_array(&ptr, "default_value", vector); SetVectorOperation *vector_op = new SetVectorOperation(); @@ -198,7 +200,8 @@ void GroupNode::addDefaultOutputOperation(ExecutionSystem &system, OutputSocket operation = vector_op; break; } - case SOCK_RGBA: { + case SOCK_RGBA: + { float color[4]; RNA_float_get_array(&ptr, "default_value", color); SetColorOperation *color_op = new SetColorOperation(); diff --git a/source/blender/editors/space_node/drawnode.c b/source/blender/editors/space_node/drawnode.c index cbf40bf2e57..bf5e0c77b90 100644 --- a/source/blender/editors/space_node/drawnode.c +++ b/source/blender/editors/space_node/drawnode.c @@ -2768,7 +2768,8 @@ static void std_node_socket_draw(bContext *C, uiLayout *layout, PointerRNA *ptr, case SOCK_VECTOR: uiTemplateComponentMenu(layout, ptr, "default_value", text); break; - case SOCK_RGBA: { + case SOCK_RGBA: + { uiLayout *row = uiLayoutRow(layout, false); uiLayoutSetAlignment(row, UI_LAYOUT_ALIGN_LEFT); /* draw the socket name right of the actual button */ @@ -2776,14 +2777,14 @@ static void std_node_socket_draw(bContext *C, uiLayout *layout, PointerRNA *ptr, uiItemL(row, text, 0); break; } - case SOCK_STRING: { + case SOCK_STRING: + { uiLayout *row = uiLayoutRow(layout, true); /* draw the socket name right of the actual button */ uiItemR(row, ptr, "default_value", 0, "", 0); uiItemL(row, text, 0); break; } - default: node_socket_button_label(C, layout, ptr, node_ptr, text); break; @@ -2797,7 +2798,8 @@ static void std_node_socket_interface_draw(bContext *UNUSED(C), uiLayout *layout /*int subtype = sock->typeinfo->subtype;*/ switch (type) { - case SOCK_FLOAT: { + case SOCK_FLOAT: + { uiLayout *row; uiItemR(layout, ptr, "default_value", 0, NULL, 0); row = uiLayoutRow(layout, true); @@ -2805,7 +2807,8 @@ static void std_node_socket_interface_draw(bContext *UNUSED(C), uiLayout *layout uiItemR(row, ptr, "max_value", 0, "Max", 0); break; } - case SOCK_INT: { + case SOCK_INT: + { uiLayout *row; uiItemR(layout, ptr, "default_value", 0, NULL, 0); row = uiLayoutRow(layout, true); @@ -2813,11 +2816,13 @@ static void std_node_socket_interface_draw(bContext *UNUSED(C), uiLayout *layout uiItemR(row, ptr, "max_value", 0, "Max", 0); break; } - case SOCK_BOOLEAN: { + case SOCK_BOOLEAN: + { uiItemR(layout, ptr, "default_value", 0, NULL, 0); break; } - case SOCK_VECTOR: { + case SOCK_VECTOR: + { uiLayout *row; uiItemR(layout, ptr, "default_value", UI_ITEM_R_EXPAND, NULL, 0); row = uiLayoutRow(layout, true); @@ -2825,11 +2830,13 @@ static void std_node_socket_interface_draw(bContext *UNUSED(C), uiLayout *layout uiItemR(row, ptr, "max_value", 0, "Max", 0); break; } - case SOCK_RGBA: { + case SOCK_RGBA: + { uiItemR(layout, ptr, "default_value", 0, NULL, 0); break; } - case SOCK_STRING: { + case SOCK_STRING: + { uiItemR(layout, ptr, "default_value", 0, NULL, 0); break; } diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c index f8166456a2c..9b48774588d 100644 --- a/source/blender/editors/space_node/node_edit.c +++ b/source/blender/editors/space_node/node_edit.c @@ -2262,24 +2262,26 @@ static int ntree_socket_move_exec(bContext *C, wmOperator *op) return OPERATOR_CANCELLED; switch (direction) { - case 1: { /* up */ - bNodeSocket *before = iosock->prev; - BLI_remlink(lb, iosock); - if (before) - BLI_insertlinkbefore(lb, before, iosock); - else - BLI_addhead(lb, iosock); - break; - } - case 2: { /* down */ - bNodeSocket *after = iosock->next; - BLI_remlink(lb, iosock); - if (after) - BLI_insertlinkafter(lb, after, iosock); - else - BLI_addtail(lb, iosock); - break; - } + case 1: + { /* up */ + bNodeSocket *before = iosock->prev; + BLI_remlink(lb, iosock); + if (before) + BLI_insertlinkbefore(lb, before, iosock); + else + BLI_addhead(lb, iosock); + break; + } + case 2: + { /* down */ + bNodeSocket *after = iosock->next; + BLI_remlink(lb, iosock); + if (after) + BLI_insertlinkafter(lb, after, iosock); + else + BLI_addtail(lb, iosock); + break; + } } ntreeUpdateTree(CTX_data_main(C), ntree); diff --git a/source/blender/editors/space_node/space_node.c b/source/blender/editors/space_node/space_node.c index 8d6363d3bbe..f12f7743429 100644 --- a/source/blender/editors/space_node/space_node.c +++ b/source/blender/editors/space_node/space_node.c @@ -392,7 +392,8 @@ static void node_area_listener(bScreen *UNUSED(sc), ScrArea *sa, wmNotifier *wmn switch (wmn->category) { case NC_SCENE: switch (wmn->data) { - case ND_NODES: { + case ND_NODES: + { ARegion *ar = BKE_area_find_region_type(sa, RGN_TYPE_WINDOW); bNodeTreePath *path = snode->treepath.last; /* shift view to node tree center */ diff --git a/source/blender/makesrna/intern/rna_image.c b/source/blender/makesrna/intern/rna_image.c index 9181ab13aa7..210e0fef28f 100644 --- a/source/blender/makesrna/intern/rna_image.c +++ b/source/blender/makesrna/intern/rna_image.c @@ -158,10 +158,12 @@ static char *rna_ImageUser_path(PointerRNA *ptr) /* ImageUser *iuser = ptr->data; */ switch (GS(((ID *)ptr->id.data)->name)) { - case ID_TE: { + case ID_TE: + { return BLI_strdup("image_user"); } - case ID_NT: { + case ID_NT: + { return rna_Node_ImageUser_path(ptr); } } diff --git a/source/blender/nodes/intern/node_socket.c b/source/blender/nodes/intern/node_socket.c index 0fd6d871dc1..92d403685d0 100644 --- a/source/blender/nodes/intern/node_socket.c +++ b/source/blender/nodes/intern/node_socket.c @@ -60,26 +60,30 @@ struct bNodeSocket *node_add_socket_from_template(struct bNodeTree *ntree, struc /* initialize default_value */ switch (stemp->type) { - case SOCK_FLOAT: { + case SOCK_FLOAT: + { bNodeSocketValueFloat *dval = sock->default_value; dval->value = stemp->val1; dval->min = stemp->min; dval->max = stemp->max; break; } - case SOCK_INT: { + case SOCK_INT: + { bNodeSocketValueInt *dval = sock->default_value; dval->value = (int)stemp->val1; dval->min = (int)stemp->min; dval->max = (int)stemp->max; break; } - case SOCK_BOOLEAN: { + case SOCK_BOOLEAN: + { bNodeSocketValueBoolean *dval = sock->default_value; dval->value = (int)stemp->val1; break; } - case SOCK_VECTOR: { + case SOCK_VECTOR: + { bNodeSocketValueVector *dval = sock->default_value; dval->value[0] = stemp->val1; dval->value[1] = stemp->val2; @@ -88,7 +92,8 @@ struct bNodeSocket *node_add_socket_from_template(struct bNodeTree *ntree, struc dval->max = stemp->max; break; } - case SOCK_RGBA: { + case SOCK_RGBA: + { bNodeSocketValueRGBA *dval = sock->default_value; dval->value[0] = stemp->val1; dval->value[1] = stemp->val2; @@ -202,7 +207,8 @@ void node_socket_init_default_value(bNodeSocket *sock) return; /* already initialized */ switch (type) { - case SOCK_FLOAT: { + case SOCK_FLOAT: + { bNodeSocketValueFloat *dval = MEM_callocN(sizeof(bNodeSocketValueFloat), "node socket value float"); dval->subtype = subtype; dval->value = 0.0f; @@ -212,7 +218,8 @@ void node_socket_init_default_value(bNodeSocket *sock) sock->default_value = dval; break; } - case SOCK_INT: { + case SOCK_INT: + { bNodeSocketValueInt *dval = MEM_callocN(sizeof(bNodeSocketValueInt), "node socket value int"); dval->subtype = subtype; dval->value = 0; @@ -222,14 +229,16 @@ void node_socket_init_default_value(bNodeSocket *sock) sock->default_value = dval; break; } - case SOCK_BOOLEAN: { + case SOCK_BOOLEAN: + { bNodeSocketValueBoolean *dval = MEM_callocN(sizeof(bNodeSocketValueBoolean), "node socket value bool"); dval->value = false; sock->default_value = dval; break; } - case SOCK_VECTOR: { + case SOCK_VECTOR: + { static float default_value[] = { 0.0f, 0.0f, 0.0f }; bNodeSocketValueVector *dval = MEM_callocN(sizeof(bNodeSocketValueVector), "node socket value vector"); dval->subtype = subtype; @@ -240,7 +249,8 @@ void node_socket_init_default_value(bNodeSocket *sock) sock->default_value = dval; break; } - case SOCK_RGBA: { + case SOCK_RGBA: + { static float default_value[] = { 0.0f, 0.0f, 0.0f, 1.0f }; bNodeSocketValueRGBA *dval = MEM_callocN(sizeof(bNodeSocketValueRGBA), "node socket value color"); copy_v4_v4(dval->value, default_value); @@ -248,7 +258,8 @@ void node_socket_init_default_value(bNodeSocket *sock) sock->default_value = dval; break; } - case SOCK_STRING: { + case SOCK_STRING: + { bNodeSocketValueString *dval = MEM_callocN(sizeof(bNodeSocketValueString), "node socket value string"); dval->subtype = subtype; dval->value[0] = '\0'; @@ -271,37 +282,43 @@ void node_socket_copy_default_value(bNodeSocket *to, bNodeSocket *from) node_socket_init_default_value(to); switch (from->typeinfo->type) { - case SOCK_FLOAT: { + case SOCK_FLOAT: + { bNodeSocketValueFloat *toval = to->default_value; bNodeSocketValueFloat *fromval = from->default_value; *toval = *fromval; break; } - case SOCK_INT: { + case SOCK_INT: + { bNodeSocketValueInt *toval = to->default_value; bNodeSocketValueInt *fromval = from->default_value; *toval = *fromval; break; } - case SOCK_BOOLEAN: { + case SOCK_BOOLEAN: + { bNodeSocketValueBoolean *toval = to->default_value; bNodeSocketValueBoolean *fromval = from->default_value; *toval = *fromval; break; } - case SOCK_VECTOR: { + case SOCK_VECTOR: + { bNodeSocketValueVector *toval = to->default_value; bNodeSocketValueVector *fromval = from->default_value; *toval = *fromval; break; } - case SOCK_RGBA: { + case SOCK_RGBA: + { bNodeSocketValueRGBA *toval = to->default_value; bNodeSocketValueRGBA *fromval = from->default_value; *toval = *fromval; break; } - case SOCK_STRING: { + case SOCK_STRING: + { bNodeSocketValueString *toval = to->default_value; bNodeSocketValueString *fromval = from->default_value; *toval = *fromval; @@ -334,21 +351,24 @@ static void standard_node_socket_interface_verify_socket(bNodeTree *UNUSED(ntree node_socket_init_default_value(sock); switch (stemp->typeinfo->type) { - case SOCK_FLOAT: { + case SOCK_FLOAT: + { bNodeSocketValueFloat *toval = sock->default_value; bNodeSocketValueFloat *fromval = stemp->default_value; toval->min = fromval->min; toval->max = fromval->max; break; } - case SOCK_INT: { + case SOCK_INT: + { bNodeSocketValueInt *toval = sock->default_value; bNodeSocketValueInt *fromval = stemp->default_value; toval->min = fromval->min; toval->max = fromval->max; break; } - case SOCK_VECTOR: { + case SOCK_VECTOR: + { bNodeSocketValueVector *toval = sock->default_value; bNodeSocketValueVector *fromval = stemp->default_value; toval->min = fromval->min; -- cgit v1.2.3 From 3daa153d745766d119f5095baeef55ae570aed03 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 10:40:52 +0000 Subject: code cleanup: use boolean for derived mesh face test function --- source/blender/blenkernel/BKE_DerivedMesh.h | 2 +- source/blender/blenkernel/intern/cdderivedmesh.c | 2 +- source/blender/blenkernel/intern/editderivedmesh.c | 2 +- source/blender/blenkernel/intern/subsurf_ccg.c | 2 +- source/blender/editors/space_view3d/drawmesh.c | 6 +++--- 5 files changed, 7 insertions(+), 7 deletions(-) (limited to 'source') diff --git a/source/blender/blenkernel/BKE_DerivedMesh.h b/source/blender/blenkernel/BKE_DerivedMesh.h index ae936a1659a..40fc71e82ca 100644 --- a/source/blender/blenkernel/BKE_DerivedMesh.h +++ b/source/blender/blenkernel/BKE_DerivedMesh.h @@ -438,7 +438,7 @@ struct DerivedMesh { */ void (*drawMappedFacesMat)(DerivedMesh *dm, void (*setMaterial)(void *userData, int, void *attribs), - int (*setFace)(void *userData, int index), void *userData); + bool (*setFace)(void *userData, int index), void *userData); /** Release reference to the DerivedMesh. This function decides internally * if the DerivedMesh will be freed, or cached for later use. */ diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c index 7f6dc680a74..faa4d8d3071 100644 --- a/source/blender/blenkernel/intern/cdderivedmesh.c +++ b/source/blender/blenkernel/intern/cdderivedmesh.c @@ -1424,7 +1424,7 @@ static void cdDM_drawFacesGLSL(DerivedMesh *dm, DMSetMaterial setMaterial) static void cdDM_drawMappedFacesMat(DerivedMesh *dm, void (*setMaterial)(void *userData, int, void *attribs), - int (*setFace)(void *userData, int index), void *userData) + bool (*setFace)(void *userData, int index), void *userData) { CDDerivedMesh *cddm = (CDDerivedMesh *) dm; GPUVertexAttribs gattribs; diff --git a/source/blender/blenkernel/intern/editderivedmesh.c b/source/blender/blenkernel/intern/editderivedmesh.c index 46cee96a537..ddd5e4a1e02 100644 --- a/source/blender/blenkernel/intern/editderivedmesh.c +++ b/source/blender/blenkernel/intern/editderivedmesh.c @@ -920,7 +920,7 @@ static void emdm_pass_attrib_vertex_mat(DMVertexAttribs *attribs, BMLoop *loop, static void emDM_drawMappedFacesMat(DerivedMesh *dm, void (*setMaterial)(void *userData, int, void *attribs), - int (*setFace)(void *userData, int index), void *userData) + bool (*setFace)(void *userData, int index), void *userData) { EditDerivedBMesh *bmdm = (EditDerivedBMesh *)dm; BMEditMesh *em = bmdm->em; diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c index 9b5e5070342..26a5dada108 100644 --- a/source/blender/blenkernel/intern/subsurf_ccg.c +++ b/source/blender/blenkernel/intern/subsurf_ccg.c @@ -1970,7 +1970,7 @@ static void ccgDM_drawFacesGLSL(DerivedMesh *dm, DMSetMaterial setMaterial) /* Only used by non-editmesh types */ static void ccgDM_drawMappedFacesMat(DerivedMesh *dm, void (*setMaterial)(void *userData, int, void *attribs), - int (*setFace)(void *userData, int index), void *userData) + bool (*setFace)(void *userData, int index), void *userData) { CCGDerivedMesh *ccgdm = (CCGDerivedMesh *) dm; CCGSubSurf *ss = ccgdm->ss; diff --git a/source/blender/editors/space_view3d/drawmesh.c b/source/blender/editors/space_view3d/drawmesh.c index cffcc738b5a..767d4aca3a8 100644 --- a/source/blender/editors/space_view3d/drawmesh.c +++ b/source/blender/editors/space_view3d/drawmesh.c @@ -912,7 +912,7 @@ static void tex_mat_set_texture_cb(void *userData, int mat_nr, void *attribs) } } -static int tex_mat_set_face_mesh_cb(void *userData, int index) +static bool tex_mat_set_face_mesh_cb(void *userData, int index) { /* faceselect mode face hiding */ TexMatCallback *data = (TexMatCallback *)userData; @@ -922,7 +922,7 @@ static int tex_mat_set_face_mesh_cb(void *userData, int index) return !(mp->flag & ME_HIDE); } -static int tex_mat_set_face_editmesh_cb(void *userData, int index) +static bool tex_mat_set_face_editmesh_cb(void *userData, int index) { /* editmode face hiding */ TexMatCallback *data = (TexMatCallback *)userData; @@ -960,7 +960,7 @@ void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d, { Mesh *me = ob->data; TexMatCallback data = {scene, ob, me, dm}; - int (*set_face_cb)(void *, int); + bool (*set_face_cb)(void *, int); int glsl, picking = (G.f & G_PICKSEL); /* face hiding callback depending on mode */ -- cgit v1.2.3 From bc5ecbc393340444344f22489cdffd19a5294528 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 10:40:57 +0000 Subject: optimization: avoid extra loop in BLI_mempool_destroy(). free the list inline. --- source/blender/blenlib/intern/BLI_mempool.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'source') diff --git a/source/blender/blenlib/intern/BLI_mempool.c b/source/blender/blenlib/intern/BLI_mempool.c index 87179a93e83..217a4b9d266 100644 --- a/source/blender/blenlib/intern/BLI_mempool.c +++ b/source/blender/blenlib/intern/BLI_mempool.c @@ -437,19 +437,22 @@ void *BLI_mempool_iterstep(BLI_mempool_iter *iter) void BLI_mempool_destroy(BLI_mempool *pool) { BLI_mempool_chunk *mpchunk = NULL; + BLI_mempool_chunk *mpchunk_next; if (pool->flag & BLI_MEMPOOL_SYSMALLOC) { - for (mpchunk = pool->chunks.first; mpchunk; mpchunk = mpchunk->next) { + for (mpchunk = pool->chunks.first; mpchunk; mpchunk = mpchunk_next) { + mpchunk_next = mpchunk->next; free(mpchunk->data); + free(mpchunk); } - BLI_freelist(&(pool->chunks)); free(pool); } else { - for (mpchunk = pool->chunks.first; mpchunk; mpchunk = mpchunk->next) { + for (mpchunk = pool->chunks.first; mpchunk; mpchunk = mpchunk_next) { + mpchunk_next = mpchunk->next; MEM_freeN(mpchunk->data); + MEM_freeN(mpchunk); } - BLI_freelistN(&(pool->chunks)); MEM_freeN(pool); } } -- cgit v1.2.3 From dc0604104966cf06c72e5fecff0f8714e3fe5394 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 10:41:04 +0000 Subject: code cleanup: use __linux__ define over linux --- source/blender/blenlib/intern/storage.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'source') diff --git a/source/blender/blenlib/intern/storage.c b/source/blender/blenlib/intern/storage.c index 6b45c6f1cb3..aeeae000fff 100644 --- a/source/blender/blenlib/intern/storage.c +++ b/source/blender/blenlib/intern/storage.c @@ -44,7 +44,7 @@ #if defined(__sun__) || defined(__sun) || defined(__NetBSD__) # include /* Other modern unix os's should probably use this also */ -#elif !defined(__FreeBSD__) && !defined(linux) && (defined(__sparc) || defined(__sparc__)) +#elif !defined(__FreeBSD__) && !defined(__linux__) && (defined(__sparc) || defined(__sparc__)) # include #endif @@ -53,7 +53,7 @@ # include #endif -#if defined(linux) || defined(__CYGWIN32__) || defined(__hpux) || defined(__GNU__) || defined(__GLIBC__) +#if defined(__linux__) || defined(__CYGWIN32__) || defined(__hpux) || defined(__GNU__) || defined(__GLIBC__) #include #endif @@ -194,13 +194,13 @@ double BLI_dir_free_space(const char *dir) strcpy(name, "/"); } -#if defined(__FreeBSD__) || defined(linux) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__GNU__) || defined(__GLIBC__) +#if defined(__FreeBSD__) || defined(__linux__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__GNU__) || defined(__GLIBC__) if (statfs(name, &disk)) return(-1); #endif #if defined(__sun__) || defined(__sun) || defined(__NetBSD__) if (statvfs(name, &disk)) return(-1); -#elif !defined(__FreeBSD__) && !defined(linux) && (defined(__sparc) || defined(__sparc__)) +#elif !defined(__FreeBSD__) && !defined(__linux__) && (defined(__sparc) || defined(__sparc__)) /* WARNING - This may not be supported by geeneric unix os's - Campbell */ if (statfs(name, &disk, sizeof(struct statfs), 0)) return(-1); #endif -- cgit v1.2.3 From 2d97a096d7621918d7385a37429153a1512fbf14 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 10:41:09 +0000 Subject: add rna attribute 'frame_current_final', without this you had to manually calcualte it with the subframe and time remapping vars. --- source/blender/makesrna/intern/rna_scene.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'source') diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index 5ae4400a19c..d6dc2162720 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -525,6 +525,13 @@ static void rna_Scene_frame_current_set(PointerRNA *ptr, int value) data->r.cfra = value; } +static float rna_Scene_frame_current_final_get(PointerRNA *ptr) +{ + Scene *scene = (Scene *)ptr->data; + + return BKE_scene_frame_get_from_ctime(scene, (float)scene->r.cfra); +} + static void rna_Scene_start_frame_set(PointerRNA *ptr, int value) { Scene *data = (Scene *)ptr->data; @@ -5149,6 +5156,13 @@ void RNA_def_scene(BlenderRNA *brna) "Number of frames to skip forward while rendering/playing back each frame"); RNA_def_property_update(prop, NC_SCENE | ND_FRAME, NULL); + prop = RNA_def_property(srna, "frame_current_final", PROP_FLOAT, PROP_TIME); + RNA_def_property_clear_flag(prop, PROP_ANIMATABLE | PROP_EDITABLE); + RNA_def_property_range(prop, MINAFRAME, MAXFRAME); + RNA_def_property_float_funcs(prop, "rna_Scene_frame_current_final_get", NULL, NULL); + RNA_def_property_ui_text(prop, "Current Frame Final", + "Current frame with subframe and time remapping applied"); + /* Preview Range (frame-range for UI playback) */ prop = RNA_def_property(srna, "use_preview_range", PROP_BOOLEAN, PROP_NONE); RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); -- cgit v1.2.3 From 02468b290a9c4246767ed4d1fcaa222de71d1ad5 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 10:41:16 +0000 Subject: code cleanup: use MEM_mallocN rather then MEM_callocN when the array is overwritten immediately after. --- source/blender/blenkernel/intern/customdata.c | 4 ++-- source/blender/blenkernel/intern/deform.c | 2 +- source/blender/blenkernel/intern/mesh.c | 5 ++++- 3 files changed, 7 insertions(+), 4 deletions(-) (limited to 'source') diff --git a/source/blender/blenkernel/intern/customdata.c b/source/blender/blenkernel/intern/customdata.c index e08474e22c9..28fa5cc689b 100644 --- a/source/blender/blenkernel/intern/customdata.c +++ b/source/blender/blenkernel/intern/customdata.c @@ -158,7 +158,7 @@ static void layerCopy_mdeformvert(const void *source, void *dest, MDeformVert *dvert = (MDeformVert *)((char *)dest + i * size); if (dvert->totweight) { - MDeformWeight *dw = MEM_callocN(dvert->totweight * sizeof(*dw), + MDeformWeight *dw = MEM_mallocN(dvert->totweight * sizeof(*dw), "layerCopy_mdeformvert dw"); memcpy(dw, dvert->dw, dvert->totweight * sizeof(*dw)); @@ -265,7 +265,7 @@ static void layerInterp_mdeformvert(void **sources, const float *weights, if (dvert->dw) MEM_freeN(dvert->dw); if (totweight) { - dvert->dw = MEM_callocN(sizeof(*dvert->dw) * totweight, + dvert->dw = MEM_mallocN(sizeof(*dvert->dw) * totweight, "layerInterp_mdeformvert dvert->dw"); dvert->totweight = totweight; diff --git a/source/blender/blenkernel/intern/deform.c b/source/blender/blenkernel/intern/deform.c index a492b227815..0dd9d8550bb 100644 --- a/source/blender/blenkernel/intern/deform.c +++ b/source/blender/blenkernel/intern/deform.c @@ -735,7 +735,7 @@ MDeformWeight *defvert_verify_index(MDeformVert *dvert, const int defgroup) if (dw_new) return dw_new; - dw_new = MEM_callocN(sizeof(MDeformWeight) * (dvert->totweight + 1), "deformWeight"); + dw_new = MEM_mallocN(sizeof(MDeformWeight) * (dvert->totweight + 1), "deformWeight"); if (dvert->dw) { memcpy(dw_new, dvert->dw, sizeof(MDeformWeight) * dvert->totweight); MEM_freeN(dvert->dw); diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c index f24a55dcc44..439965420f7 100644 --- a/source/blender/blenkernel/intern/mesh.c +++ b/source/blender/blenkernel/intern/mesh.c @@ -2189,10 +2189,13 @@ static void bm_corners_to_loops_ex(ID *id, CustomData *fdata, CustomData *ldata, if (ld->disps) MEM_freeN(ld->disps); - ld->disps = MEM_callocN(sizeof(float) * 3 * side * side, "converted loop mdisps"); + ld->disps = MEM_mallocN(sizeof(float) * 3 * side * side, "converted loop mdisps"); if (fd->disps) { memcpy(ld->disps, disps, sizeof(float) * 3 * side * side); } + else { + memset(ld->disps, 0, sizeof(float) * 3 * side * side); + } } } } -- cgit v1.2.3 From df299ab50015ec99ff507cc89e57b061405c6cda Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 10:44:39 +0000 Subject: patch [#36032] Quick Hack lattice random selection by Andrey Dubravin (daa) --- source/blender/editors/object/object_intern.h | 1 + source/blender/editors/object/object_lattice.c | 54 ++++++++++++++++++++++++++ source/blender/editors/object/object_ops.c | 1 + 3 files changed, 56 insertions(+) (limited to 'source') diff --git a/source/blender/editors/object/object_intern.h b/source/blender/editors/object/object_intern.h index 58cca9dca02..88d2600330d 100644 --- a/source/blender/editors/object/object_intern.h +++ b/source/blender/editors/object/object_intern.h @@ -139,6 +139,7 @@ void OBJECT_OT_hook_recenter(struct wmOperatorType *ot); /* object_lattice.c */ void LATTICE_OT_select_all(struct wmOperatorType *ot); void LATTICE_OT_select_ungrouped(struct wmOperatorType *ot); +void LATTICE_OT_select_random(struct wmOperatorType *ot); void LATTICE_OT_make_regular(struct wmOperatorType *ot); void LATTICE_OT_flip(struct wmOperatorType *ot); diff --git a/source/blender/editors/object/object_lattice.c b/source/blender/editors/object/object_lattice.c index 0e220357d30..0ae4edb4ae3 100644 --- a/source/blender/editors/object/object_lattice.c +++ b/source/blender/editors/object/object_lattice.c @@ -37,6 +37,7 @@ #include "BLI_listbase.h" #include "BLI_math.h" #include "BLI_utildefines.h" +#include "BLI_rand.h" #include "DNA_curve_types.h" #include "DNA_key_types.h" @@ -170,6 +171,59 @@ void load_editLatt(Object *obedit) } } +/************************** Select Random Operator **********************/ + +static int lattice_select_random_exec(bContext *C, wmOperator *op) +{ + Object *obedit = CTX_data_edit_object(C); + Lattice *lt = ((Lattice*)obedit->data)->editlatt->latt; + const float randfac = RNA_float_get(op->ptr, "percent") / 100.0f; + int tot; + BPoint *bp; + + if (!RNA_boolean_get(op->ptr, "extend")) { + ED_setflagsLatt(obedit, !SELECT); + } + else { + lt->actbp = LT_ACTBP_NONE; + } + + tot = lt->pntsu * lt->pntsv * lt->pntsw; + bp = lt->def; + while (tot--) { + if (!bp->hide) { + if (BLI_frand() < randfac) { + bp->f1 |= SELECT; + } + } + bp++; + } + + WM_event_add_notifier(C, NC_GEOM | ND_SELECT, obedit->data); + + return OPERATOR_FINISHED; +} + +void LATTICE_OT_select_random(wmOperatorType *ot) +{ + /* identifiers */ + ot->name = "Select Random"; + ot->description = "Randomly select UVW control points"; + ot->idname = "LATTICE_OT_select_random"; + + /* api callbacks */ + ot->exec = lattice_select_random_exec; + ot->poll = ED_operator_editlattice; + + /* flags */ + ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; + + /* props */ + RNA_def_float_percentage(ot->srna, "percent", 50.f, 0.0f, 100.0f, + "Percent", "Percentage of elements to select randomly", 0.f, 100.0f); + RNA_def_boolean(ot->srna, "extend", false, "Extend", "Extend the selection"); +} + /************************** Select All Operator *************************/ void ED_setflagsLatt(Object *obedit, int flag) diff --git a/source/blender/editors/object/object_ops.c b/source/blender/editors/object/object_ops.c index 35bfba8b78a..30283b056d9 100644 --- a/source/blender/editors/object/object_ops.c +++ b/source/blender/editors/object/object_ops.c @@ -218,6 +218,7 @@ void ED_operatortypes_object(void) WM_operatortype_append(LATTICE_OT_select_all); WM_operatortype_append(LATTICE_OT_select_ungrouped); + WM_operatortype_append(LATTICE_OT_select_random); WM_operatortype_append(LATTICE_OT_make_regular); WM_operatortype_append(LATTICE_OT_flip); -- cgit v1.2.3 From 80f3b32e066b17da9592aeb510e2b9afaadff632 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 10:49:23 +0000 Subject: patch [#35789] Quick hack more/less tool for lattices by Pedro Riera (priera), Andrey Dubravin, I also made some changes. --- source/blender/editors/object/object_intern.h | 2 + source/blender/editors/object/object_lattice.c | 106 +++++++++++++++++++++++++ source/blender/editors/object/object_ops.c | 4 + 3 files changed, 112 insertions(+) (limited to 'source') diff --git a/source/blender/editors/object/object_intern.h b/source/blender/editors/object/object_intern.h index 88d2600330d..4ff3bc9ac06 100644 --- a/source/blender/editors/object/object_intern.h +++ b/source/blender/editors/object/object_intern.h @@ -138,6 +138,8 @@ void OBJECT_OT_hook_recenter(struct wmOperatorType *ot); /* object_lattice.c */ void LATTICE_OT_select_all(struct wmOperatorType *ot); +void LATTICE_OT_select_more(struct wmOperatorType *ot); +void LATTICE_OT_select_less(struct wmOperatorType *ot); void LATTICE_OT_select_ungrouped(struct wmOperatorType *ot); void LATTICE_OT_select_random(struct wmOperatorType *ot); void LATTICE_OT_make_regular(struct wmOperatorType *ot); diff --git a/source/blender/editors/object/object_lattice.c b/source/blender/editors/object/object_lattice.c index 0ae4edb4ae3..0de468bac43 100644 --- a/source/blender/editors/object/object_lattice.c +++ b/source/blender/editors/object/object_lattice.c @@ -38,6 +38,7 @@ #include "BLI_math.h" #include "BLI_utildefines.h" #include "BLI_rand.h" +#include "BLI_bitmap.h" #include "DNA_curve_types.h" #include "DNA_key_types.h" @@ -55,6 +56,7 @@ #include "BKE_lattice.h" #include "BKE_deform.h" #include "BKE_report.h" +#include "BKE_utildefines.h" #include "ED_lattice.h" #include "ED_object.h" @@ -224,6 +226,110 @@ void LATTICE_OT_select_random(wmOperatorType *ot) RNA_def_boolean(ot->srna, "extend", false, "Extend", "Extend the selection"); } +/************************** Select More/Less Operator *************************/ + +static bool lattice_test_bitmap_uvw(Lattice *lt, BLI_bitmap selpoints, int u, int v, int w, const bool selected) +{ + if ((u < 0 || u >= lt->pntsu) || + (v < 0 || v >= lt->pntsv) || + (w < 0 || w >= lt->pntsw)) + { + return false; + } + else { + int i = BKE_lattice_index_from_uvw(lt, u, v, w); + if (lt->def[i].hide == 0) { + return (BLI_BITMAP_GET(selpoints, i) != 0) == selected; + } + return false; + } +} + +static int lattice_select_more_less(bContext *C, const bool select) +{ + Object *obedit = CTX_data_edit_object(C); + Lattice *lt = ((Lattice *)obedit->data)->editlatt->latt; + BPoint *bp; + const int tot = lt->pntsu * lt->pntsv * lt->pntsw; + int i, w, u, v; + BLI_bitmap selpoints; + + lt->actbp = LT_ACTBP_NONE; + + bp = lt->def; + selpoints = BLI_BITMAP_NEW(tot, __func__); + for (i = 0; i < tot; i++, bp++) { + if (bp->f1 & SELECT) { + BLI_BITMAP_SET(selpoints, i); + } + } + + bp = lt->def; + for (w = 0; w < lt->pntsw; w++) { + for (v = 0; v < lt->pntsv; v++) { + for (u = 0; u < lt->pntsu; u++) { + if ((bp->hide == 0) && (((bp->f1 & SELECT) == 0) == select)) { + if (lattice_test_bitmap_uvw(lt, selpoints, u + 1, v, w, select) || + lattice_test_bitmap_uvw(lt, selpoints, u - 1, v, w, select) || + lattice_test_bitmap_uvw(lt, selpoints, u, v + 1, w, select) || + lattice_test_bitmap_uvw(lt, selpoints, u, v - 1, w, select) || + lattice_test_bitmap_uvw(lt, selpoints, u, v, w + 1, select) || + lattice_test_bitmap_uvw(lt, selpoints, u, v, w - 1, select)) + { + BKE_BIT_TEST_SET(bp->f1, select, SELECT); + } + } + bp++; + } + } + } + + MEM_freeN(selpoints); + + WM_event_add_notifier(C, NC_GEOM | ND_SELECT, obedit->data); + return OPERATOR_FINISHED; +} + +static int lattice_select_more_exec(bContext *C, wmOperator *UNUSED(op)) +{ + return lattice_select_more_less(C, true); +} + +static int lattice_select_less_exec(bContext *C, wmOperator *UNUSED(op)) +{ + return lattice_select_more_less(C, false); +} + +void LATTICE_OT_select_more(wmOperatorType *ot) +{ + /* identifiers */ + ot->name = "Select More"; + ot->description = "Select vertex directly linked to already selected ones"; + ot->idname = "LATTICE_OT_select_more"; + + /* api callbacks */ + ot->exec = lattice_select_more_exec; + ot->poll = ED_operator_editlattice; + + /* flags */ + ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; +} + +void LATTICE_OT_select_less(wmOperatorType *ot) +{ + /* identifiers */ + ot->name = "Select Less"; + ot->description = "Deselect vertices at the boundary of each selection region"; + ot->idname = "LATTICE_OT_select_less"; + + /* api callbacks */ + ot->exec = lattice_select_less_exec; + ot->poll = ED_operator_editlattice; + + /* flags */ + ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; +} + /************************** Select All Operator *************************/ void ED_setflagsLatt(Object *obedit, int flag) diff --git a/source/blender/editors/object/object_ops.c b/source/blender/editors/object/object_ops.c index 30283b056d9..333e5ff3006 100644 --- a/source/blender/editors/object/object_ops.c +++ b/source/blender/editors/object/object_ops.c @@ -217,6 +217,8 @@ void ED_operatortypes_object(void) WM_operatortype_append(OBJECT_OT_shape_key_move); WM_operatortype_append(LATTICE_OT_select_all); + WM_operatortype_append(LATTICE_OT_select_more); + WM_operatortype_append(LATTICE_OT_select_less); WM_operatortype_append(LATTICE_OT_select_ungrouped); WM_operatortype_append(LATTICE_OT_select_random); WM_operatortype_append(LATTICE_OT_make_regular); @@ -428,6 +430,8 @@ void ED_keymap_object(wmKeyConfig *keyconf) RNA_enum_set(kmi->ptr, "action", SEL_TOGGLE); kmi = WM_keymap_add_item(keymap, "LATTICE_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0); RNA_enum_set(kmi->ptr, "action", SEL_INVERT); + WM_keymap_add_item(keymap, "LATTICE_OT_select_more", PADPLUSKEY, KM_PRESS, KM_CTRL, 0); + WM_keymap_add_item(keymap, "LATTICE_OT_select_less", PADMINUS, KM_PRESS, KM_CTRL, 0); WM_keymap_add_item(keymap, "OBJECT_OT_vertex_parent_set", PKEY, KM_PRESS, KM_CTRL, 0); -- cgit v1.2.3 From 2dc6b22382279deef21df3e36ae04019e3581ef8 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 10:51:54 +0000 Subject: patch [#35789] Quick hack select more/less tool for armatures by Pedro Riera (priera), Andrey Dubravin and parts rewritten by myself. --- source/blender/editors/armature/armature_intern.h | 2 + source/blender/editors/armature/armature_ops.c | 5 + source/blender/editors/armature/armature_select.c | 139 ++++++++++++++++++++++ 3 files changed, 146 insertions(+) (limited to 'source') diff --git a/source/blender/editors/armature/armature_intern.h b/source/blender/editors/armature/armature_intern.h index bfebc68ea46..e58d8fd2380 100644 --- a/source/blender/editors/armature/armature_intern.h +++ b/source/blender/editors/armature/armature_intern.h @@ -63,6 +63,8 @@ void ARMATURE_OT_parent_clear(struct wmOperatorType *ot); void ARMATURE_OT_select_all(struct wmOperatorType *ot); void ARMATURE_OT_select_inverse(struct wmOperatorType *ot); +void ARMATURE_OT_select_more(struct wmOperatorType *ot); +void ARMATURE_OT_select_less(struct wmOperatorType *ot); void ARMATURE_OT_select_hierarchy(struct wmOperatorType *ot); void ARMATURE_OT_select_linked(struct wmOperatorType *ot); void ARMATURE_OT_select_similar(struct wmOperatorType *ot); diff --git a/source/blender/editors/armature/armature_ops.c b/source/blender/editors/armature/armature_ops.c index 568178802bd..0090522d1e1 100644 --- a/source/blender/editors/armature/armature_ops.c +++ b/source/blender/editors/armature/armature_ops.c @@ -59,6 +59,8 @@ void ED_operatortypes_armature(void) WM_operatortype_append(ARMATURE_OT_select_all); WM_operatortype_append(ARMATURE_OT_select_inverse); + WM_operatortype_append(ARMATURE_OT_select_more); + WM_operatortype_append(ARMATURE_OT_select_less); WM_operatortype_append(ARMATURE_OT_select_hierarchy); WM_operatortype_append(ARMATURE_OT_select_linked); WM_operatortype_append(ARMATURE_OT_select_similar); @@ -258,6 +260,9 @@ void ED_keymap_armature(wmKeyConfig *keyconf) RNA_enum_set(kmi->ptr, "direction", BONE_SELECT_CHILD); RNA_boolean_set(kmi->ptr, "extend", TRUE); + WM_keymap_add_item(keymap, "ARMATURE_OT_select_more", PADPLUSKEY, KM_PRESS, KM_CTRL, 0); + WM_keymap_add_item(keymap, "ARMATURE_OT_select_less", PADMINUS, KM_PRESS, KM_CTRL, 0); + WM_keymap_add_item(keymap, "ARMATURE_OT_select_similar", GKEY, KM_PRESS, KM_SHIFT, 0); WM_keymap_add_item(keymap, "ARMATURE_OT_select_linked", LKEY, KM_PRESS, 0, 0); diff --git a/source/blender/editors/armature/armature_select.c b/source/blender/editors/armature/armature_select.c index 53d561c7736..d05d309b201 100644 --- a/source/blender/editors/armature/armature_select.c +++ b/source/blender/editors/armature/armature_select.c @@ -665,6 +665,145 @@ void ARMATURE_OT_select_all(wmOperatorType *ot) WM_operator_properties_select_all(ot); } +/**************** Select more/less **************/ + +#define EBONE_PREV_FLAG_GET(ebone) ((void)0, (GET_INT_FROM_POINTER(ebone->temp))) +#define EBONE_PREV_FLAG_SET(ebone, val) (ebone->temp = SET_INT_IN_POINTER(val)) + +static void armature_select_more(bArmature *arm, EditBone *ebone) +{ + if ((EBONE_PREV_FLAG_GET(ebone) & (BONE_ROOTSEL | BONE_TIPSEL)) != 0) { + if (EBONE_SELECTABLE(arm, ebone)) { + ED_armature_ebone_select_set(ebone, true); + } + } + + if (ebone->parent && (ebone->flag & BONE_CONNECTED)) { + /* to parent */ + if ((EBONE_PREV_FLAG_GET(ebone) & BONE_ROOTSEL) != 0) { + if (EBONE_SELECTABLE(arm, ebone->parent)) { + ED_armature_ebone_selectflag_enable(ebone->parent, (BONE_SELECTED | BONE_ROOTSEL | BONE_TIPSEL)); + } + } + + /* from parent (difference from select less) */ + if ((EBONE_PREV_FLAG_GET(ebone->parent) & BONE_TIPSEL) != 0) { + if (EBONE_SELECTABLE(arm, ebone)) { + ED_armature_ebone_selectflag_enable(ebone, (BONE_SELECTED | BONE_ROOTSEL)); + } + } + } +} + +static void armature_select_less(bArmature *UNUSED(arm), EditBone *ebone) +{ + if ((EBONE_PREV_FLAG_GET(ebone) & (BONE_ROOTSEL | BONE_TIPSEL)) != (BONE_ROOTSEL | BONE_TIPSEL)) { + ED_armature_ebone_select_set(ebone, false); + } + + if (ebone->parent && (ebone->flag & BONE_CONNECTED)) { + /* to parent */ + if ((EBONE_PREV_FLAG_GET(ebone) & BONE_SELECTED) == 0) { + ED_armature_ebone_selectflag_disable(ebone->parent, (BONE_SELECTED | BONE_TIPSEL)); + } + + /* from parent (difference from select more) */ + if ((EBONE_PREV_FLAG_GET(ebone->parent) & BONE_SELECTED) == 0) { + ED_armature_ebone_selectflag_disable(ebone, (BONE_SELECTED | BONE_ROOTSEL)); + } + } +} + +static void armature_select_more_less(Object* ob, bool more) +{ + bArmature* arm = (bArmature *)ob->data; + EditBone* ebone; + + /* XXX, eventually we shouldn't need this - campbell */ + ED_armature_sync_selection(arm->edbo); + + /* count bones & store selection state */ + for (ebone = arm->edbo->first; ebone; ebone = ebone->next) { + EBONE_PREV_FLAG_SET(ebone, ED_armature_ebone_selectflag_get(ebone)); + } + + /* do selection */ + for (ebone = arm->edbo->first; ebone; ebone = ebone->next) { + if (EBONE_VISIBLE(arm, ebone)) { + if (more) { + armature_select_more(arm, ebone); + } + else { + armature_select_less(arm, ebone); + } + } + } + + for (ebone = arm->edbo->first; ebone; ebone = ebone->next) { + if (EBONE_VISIBLE(arm, ebone)) { + if (more == false) { + if (ebone->flag & BONE_SELECTED) { + ED_armature_ebone_select_set(ebone, true); + } + } + } + ebone->temp = NULL; + } + + ED_armature_sync_selection(arm->edbo); +} + +#undef EBONE_PREV_FLAG_GET +#undef EBONE_PREV_FLAG_SET + +static int armature_de_select_more_exec(bContext *C, wmOperator *UNUSED(op)) +{ + Object *obedit = CTX_data_edit_object(C); + armature_select_more_less(obedit, true); + WM_event_add_notifier(C, NC_OBJECT | ND_BONE_SELECT, obedit); + + return OPERATOR_FINISHED; +} + +void ARMATURE_OT_select_more(wmOperatorType *ot) +{ + /* identifiers */ + ot->name = "Select More"; + ot->idname = "ARMATURE_OT_select_more"; + ot->description = "Select those bones connected to the initial selection"; + + /* api callbacks */ + ot->exec = armature_de_select_more_exec; + ot->poll = ED_operator_editarmature; + + /* flags */ + ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; +} + +static int armature_de_select_less_exec(bContext *C, wmOperator *UNUSED(op)) +{ + Object *obedit = CTX_data_edit_object(C); + armature_select_more_less(obedit, false); + WM_event_add_notifier(C, NC_OBJECT | ND_BONE_SELECT, obedit); + + return OPERATOR_FINISHED; +} + +void ARMATURE_OT_select_less(wmOperatorType *ot) +{ + /* identifiers */ + ot->name = "Select Less"; + ot->idname = "ARMATURE_OT_select_less"; + ot->description = "Deselect those bones at the boundary of each selection region"; + + /* api callbacks */ + ot->exec = armature_de_select_less_exec; + ot->poll = ED_operator_editarmature; + + /* flags */ + ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; +} + enum { SIMEDBONE_LENGTH = 1, SIMEDBONE_DIRECTION, -- cgit v1.2.3 From e2b7c138f6cd5e410b22acb4af96d4df6cb9c316 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 10:54:02 +0000 Subject: patch [#36000] View lock offset (allow panning when the view is locked) own patch --- source/blender/editors/space_view3d/view3d_edit.c | 42 ++++++++++++++++++++-- .../blender/editors/space_view3d/view3d_intern.h | 1 + source/blender/editors/space_view3d/view3d_ops.c | 2 ++ source/blender/editors/space_view3d/view3d_view.c | 22 ++++++++++++ source/blender/makesdna/DNA_view3d_types.h | 1 + 5 files changed, 65 insertions(+), 3 deletions(-) (limited to 'source') diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c index e4aa44d7d78..44eea6b138b 100644 --- a/source/blender/editors/space_view3d/view3d_edit.c +++ b/source/blender/editors/space_view3d/view3d_edit.c @@ -1009,6 +1009,14 @@ static int view3d_camera_user_poll(bContext *C) return 0; } +static int view3d_lock_poll(bContext *C) +{ + View3D *v3d = CTX_wm_view3d(C); + RegionView3D *rv3d = CTX_wm_region_view3d(C); + + return ED_view3d_offset_lock_check(v3d, rv3d); +} + static int viewrotate_cancel(bContext *C, wmOperator *op) { viewops_data_free(C, op); @@ -1537,7 +1545,11 @@ void viewmove_modal_keymap(wmKeyConfig *keyconf) static void viewmove_apply(ViewOpsData *vod, int x, int y) { - if ((vod->rv3d->persp == RV3D_CAMOB) && !ED_view3d_camera_lock_check(vod->v3d, vod->rv3d)) { + if (ED_view3d_offset_lock_check(vod->v3d, vod->rv3d)) { + vod->rv3d->ofs_lock[0] -= ((vod->oldx - x) * 2.0f) / (float)vod->ar->winx; + vod->rv3d->ofs_lock[1] -= ((vod->oldy - y) * 2.0f) / (float)vod->ar->winy; + } + else if ((vod->rv3d->persp == RV3D_CAMOB) && !ED_view3d_camera_lock_check(vod->v3d, vod->rv3d)) { const float zoomfac = BKE_screen_view3d_zoom_to_fac((float)vod->rv3d->camzoom) * 2.0f; vod->rv3d->camdx += (vod->oldx - x) / (vod->ar->winx * zoomfac); vod->rv3d->camdy += (vod->oldy - y) / (vod->ar->winy * zoomfac); @@ -1614,8 +1626,6 @@ static int viewmove_invoke(bContext *C, wmOperator *op, const wmEvent *event) { ViewOpsData *vod; - VIEW3D_OP_OFS_LOCK_TEST(C, op); - /* makes op->customdata */ viewops_data_create(C, op, event); vod = op->customdata; @@ -2792,6 +2802,32 @@ void VIEW3D_OT_view_center_camera(wmOperatorType *ot) ot->flag = 0; } +static int view3d_center_lock_exec(bContext *C, wmOperator *UNUSED(op)) /* was view3d_home() in 2.4x */ +{ + RegionView3D *rv3d = CTX_wm_region_view3d(C); + + zero_v2(rv3d->ofs_lock); + + WM_event_add_notifier(C, NC_SPACE | ND_SPACE_VIEW3D, CTX_wm_view3d(C)); + + return OPERATOR_FINISHED; +} + +void VIEW3D_OT_view_center_lock(wmOperatorType *ot) +{ + /* identifiers */ + ot->name = "View Lock Center"; + ot->description = "Center the view lock offset"; + ot->idname = "VIEW3D_OT_view_center_lock"; + + /* api callbacks */ + ot->exec = view3d_center_lock_exec; + ot->poll = view3d_lock_poll; + + /* flags */ + ot->flag = 0; +} + /* ********************* Set render border operator ****************** */ static int render_border_exec(bContext *C, wmOperator *op) diff --git a/source/blender/editors/space_view3d/view3d_intern.h b/source/blender/editors/space_view3d/view3d_intern.h index 44c85799896..085af4e5c18 100644 --- a/source/blender/editors/space_view3d/view3d_intern.h +++ b/source/blender/editors/space_view3d/view3d_intern.h @@ -89,6 +89,7 @@ void VIEW3D_OT_view_lock_to_active(struct wmOperatorType *ot); void VIEW3D_OT_view_center_cursor(struct wmOperatorType *ot); void VIEW3D_OT_view_center_pick(struct wmOperatorType *ot); void VIEW3D_OT_view_center_camera(struct wmOperatorType *ot); +void VIEW3D_OT_view_center_lock(struct wmOperatorType *ot); void VIEW3D_OT_view_pan(struct wmOperatorType *ot); void VIEW3D_OT_view_persportho(struct wmOperatorType *ot); void VIEW3D_OT_background_image_add(struct wmOperatorType *ot); diff --git a/source/blender/editors/space_view3d/view3d_ops.c b/source/blender/editors/space_view3d/view3d_ops.c index c46ae36a3a5..bf5b54dbdfc 100644 --- a/source/blender/editors/space_view3d/view3d_ops.c +++ b/source/blender/editors/space_view3d/view3d_ops.c @@ -148,6 +148,7 @@ void view3d_operatortypes(void) WM_operatortype_append(VIEW3D_OT_view_center_cursor); WM_operatortype_append(VIEW3D_OT_view_center_pick); WM_operatortype_append(VIEW3D_OT_view_center_camera); + WM_operatortype_append(VIEW3D_OT_view_center_lock); WM_operatortype_append(VIEW3D_OT_select); WM_operatortype_append(VIEW3D_OT_select_border); WM_operatortype_append(VIEW3D_OT_clip_border); @@ -244,6 +245,7 @@ void view3d_keymap(wmKeyConfig *keyconf) WM_keymap_add_item(keymap, "VIEW3D_OT_zoom_camera_1_to_1", PADENTER, KM_PRESS, KM_SHIFT, 0); WM_keymap_add_item(keymap, "VIEW3D_OT_view_center_camera", HOMEKEY, KM_PRESS, 0, 0); /* only with camera view */ + WM_keymap_add_item(keymap, "VIEW3D_OT_view_center_lock", HOMEKEY, KM_PRESS, 0, 0); /* only with lock view */ WM_keymap_add_item(keymap, "VIEW3D_OT_view_center_cursor", HOMEKEY, KM_PRESS, KM_ALT, 0); WM_keymap_add_item(keymap, "VIEW3D_OT_view_center_pick", FKEY, KM_PRESS, KM_ALT, 0); diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c index a3421295464..3638690a0a5 100644 --- a/source/blender/editors/space_view3d/view3d_view.c +++ b/source/blender/editors/space_view3d/view3d_view.c @@ -847,6 +847,9 @@ void setviewmatrixview3d(Scene *scene, View3D *v3d, RegionView3D *rv3d) } } else { + bool use_lock_ofs = false; + + /* should be moved to better initialize later on XXX */ if (rv3d->viewlock) ED_view3d_lock(rv3d); @@ -866,15 +869,34 @@ void setviewmatrixview3d(Scene *scene, View3D *v3d, RegionView3D *rv3d) } } translate_m4(rv3d->viewmat, -vec[0], -vec[1], -vec[2]); + use_lock_ofs = true; } else if (v3d->ob_centre_cursor) { float vec[3]; copy_v3_v3(vec, give_cursor(scene, v3d)); translate_m4(rv3d->viewmat, -vec[0], -vec[1], -vec[2]); + use_lock_ofs = true; } else { translate_m4(rv3d->viewmat, rv3d->ofs[0], rv3d->ofs[1], rv3d->ofs[2]); } + + /* lock offset */ + if (use_lock_ofs) { + float persmat[4][4], persinv[4][4]; + float vec[3]; + + /* we could calculate the real persmat/persinv here + * but it would be unreliable so better to later */ + mul_m4_m4m4(persmat, rv3d->winmat, rv3d->viewmat); + invert_m4_m4(persinv, persmat); + + mul_v2_v2fl(vec, rv3d->ofs_lock, rv3d->is_persp ? rv3d->dist : 1.0f); + vec[2] = 0.0f; + mul_mat3_m4_v3(persinv, vec); + translate_m4(rv3d->viewmat, vec[0], vec[1], vec[2]); + } + /* end lock offset */ } } diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h index 499598d2df5..fc67d2ddd7e 100644 --- a/source/blender/makesdna/DNA_view3d_types.h +++ b/source/blender/makesdna/DNA_view3d_types.h @@ -131,6 +131,7 @@ typedef struct RegionView3D { char viewlock; char viewlock_quad; /* options for quadview (store while out of quad view) */ char pad[3]; + float ofs_lock[2]; /* normalized offset for locked view: (-1, -1) bottom left, (1, 1) upper right */ short twdrawflag; short rflag; -- cgit v1.2.3 From de14c301abd0f632cd0cb85211db735bac35bcd7 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 11:19:29 +0000 Subject: add keybinding for dolly: shift +/- --- source/blender/editors/space_view3d/view3d_edit.c | 4 ++-- source/blender/editors/space_view3d/view3d_ops.c | 9 ++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'source') diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c index 44eea6b138b..5eec30daf11 100644 --- a/source/blender/editors/space_view3d/view3d_edit.c +++ b/source/blender/editors/space_view3d/view3d_edit.c @@ -2182,10 +2182,10 @@ static int viewdolly_exec(bContext *C, wmOperator *op) } if (delta < 0) { - view_dolly_mouseloc(ar, rv3d->ofs, mousevec, 1.2f); + view_dolly_mouseloc(ar, rv3d->ofs, mousevec, 0.2f); } else { - view_dolly_mouseloc(ar, rv3d->ofs, mousevec, 0.83333f); + view_dolly_mouseloc(ar, rv3d->ofs, mousevec, 1.8f); } if (rv3d->viewlock & RV3D_BOXVIEW) diff --git a/source/blender/editors/space_view3d/view3d_ops.c b/source/blender/editors/space_view3d/view3d_ops.c index bf5b54dbdfc..6780b71c906 100644 --- a/source/blender/editors/space_view3d/view3d_ops.c +++ b/source/blender/editors/space_view3d/view3d_ops.c @@ -233,7 +233,6 @@ void view3d_keymap(wmKeyConfig *keyconf) /*numpad +/-*/ RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_zoom", PADPLUSKEY, KM_PRESS, 0, 0)->ptr, "delta", 1); RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_zoom", PADMINUS, KM_PRESS, 0, 0)->ptr, "delta", -1); - /*ctrl +/-*/ RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_zoom", EQUALKEY, KM_PRESS, KM_CTRL, 0)->ptr, "delta", 1); RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_zoom", MINUSKEY, KM_PRESS, KM_CTRL, 0)->ptr, "delta", -1); @@ -242,6 +241,14 @@ void view3d_keymap(wmKeyConfig *keyconf) RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_zoom", WHEELINMOUSE, KM_PRESS, 0, 0)->ptr, "delta", 1); RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_zoom", WHEELOUTMOUSE, KM_PRESS, 0, 0)->ptr, "delta", -1); + /* ... and for dolly */ + /*numpad +/-*/ + RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_dolly", PADPLUSKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "delta", 1); + RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_dolly", PADMINUS, KM_PRESS, KM_SHIFT, 0)->ptr, "delta", -1); + /*ctrl +/-*/ + RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_dolly", EQUALKEY, KM_PRESS, KM_CTRL | KM_SHIFT, 0)->ptr, "delta", 1); + RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_dolly", MINUSKEY, KM_PRESS, KM_CTRL | KM_SHIFT, 0)->ptr, "delta", -1); + WM_keymap_add_item(keymap, "VIEW3D_OT_zoom_camera_1_to_1", PADENTER, KM_PRESS, KM_SHIFT, 0); WM_keymap_add_item(keymap, "VIEW3D_OT_view_center_camera", HOMEKEY, KM_PRESS, 0, 0); /* only with camera view */ -- cgit v1.2.3 From 7087b8b9fe5f033a133f074d98ff77f7e3d5f96b Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 11:45:21 +0000 Subject: code cleanup: remove BLI_array use when extruding individual faces. also use BM_face_copy utility function. --- source/blender/bmesh/operators/bmo_extrude.c | 91 ++++++++-------------------- 1 file changed, 24 insertions(+), 67 deletions(-) (limited to 'source') diff --git a/source/blender/bmesh/operators/bmo_extrude.c b/source/blender/bmesh/operators/bmo_extrude.c index 32c8ee50e05..070cc187045 100644 --- a/source/blender/bmesh/operators/bmo_extrude.c +++ b/source/blender/bmesh/operators/bmo_extrude.c @@ -31,7 +31,6 @@ #include "DNA_meshdata_types.h" #include "BLI_math.h" -#include "BLI_array.h" #include "BLI_buffer.h" #include "BKE_customdata.h" @@ -54,84 +53,42 @@ enum { void bmo_extrude_discrete_faces_exec(BMesh *bm, BMOperator *op) { - BMVert **verts = NULL; - BLI_array_declare(verts); - BMEdge **edges = NULL; - BLI_array_declare(edges); - BMOIter siter; - BMIter liter, liter2; - BMFace *f, *f2, *f3; - BMLoop *l, *l2, *l3, *l4, *l_tmp; - BMEdge *e, *laste; - BMVert *v, *lastv, *firstv; - int i; + BMFace *f_org; - BMO_ITER (f, &siter, op->slots_in, "faces", BM_FACE) { - BLI_array_empty(verts); - BLI_array_empty(edges); - BLI_array_grow_items(verts, f->len); - BLI_array_grow_items(edges, f->len); - - i = 0; - firstv = lastv = NULL; - BM_ITER_ELEM (l, &liter, f, BM_LOOPS_OF_FACE) { - v = BM_vert_create(bm, l->v->co, l->v, 0); - /* skip on the first iteration */ - if (lastv) { - e = BM_edge_create(bm, lastv, v, l->e, 0); - edges[i] = e; - verts[i] = lastv; - i++; - } + BMO_ITER (f_org, &siter, op->slots_in, "faces", BM_FACE) { + BMFace *f_new; + BMLoop *l_org, *l_org_first; + BMLoop *l_new; - lastv = v; - laste = l->e; - if (!firstv) firstv = v; - } + BMO_elem_flag_enable(bm, f_org, EXT_DEL); - /* this fits in the array because we skip one in the loop above */ - e = BM_edge_create(bm, v, firstv, laste, 0); - edges[i] = e; - verts[i] = lastv; - i++; + f_new = BM_face_copy(bm, bm, f_org, true, true); + BMO_elem_flag_enable(bm, f_new, EXT_KEEP); - BMO_elem_flag_enable(bm, f, EXT_DEL); + l_org = l_org_first = BM_FACE_FIRST_LOOP(f_org); + l_new = BM_FACE_FIRST_LOOP(f_new); - f2 = BM_face_create(bm, verts, edges, f->len, 0); - if (UNLIKELY(f2 == NULL)) { - BMO_error_raise(bm, op, BMERR_MESH_ERROR, "Extrude failed: could not create face"); - BLI_array_free(edges); - return; - } - - BMO_elem_flag_enable(bm, f2, EXT_KEEP); - BM_elem_attrs_copy(bm, bm, f, f2); - - l2 = BM_iter_new(&liter2, bm, BM_LOOPS_OF_FACE, f2); - BM_ITER_ELEM (l, &liter, f, BM_LOOPS_OF_FACE) { - BM_elem_attrs_copy(bm, bm, l, l2); - - l3 = l->next; - l4 = l2->next; + do { + BMFace *f_side; + BMLoop *l_side_iter; - f3 = BM_face_create_quad_tri(bm, l3->v, l4->v, l2->v, l->v, f, false); - /* XXX, no error check here, why? - Campbell */ + BM_elem_attrs_copy(bm, bm, l_org, l_new); - l_tmp = BM_FACE_FIRST_LOOP(f3); + f_side = BM_face_create_quad_tri(bm, + l_org->next->v, l_new->next->v, l_new->v, l_org->v, + f_org, false); - BM_elem_attrs_copy(bm, bm, l->next, l_tmp); l_tmp = l_tmp->next; - BM_elem_attrs_copy(bm, bm, l->next, l_tmp); l_tmp = l_tmp->next; - BM_elem_attrs_copy(bm, bm, l, l_tmp); l_tmp = l_tmp->next; - BM_elem_attrs_copy(bm, bm, l, l_tmp); + l_side_iter = BM_FACE_FIRST_LOOP(f_side); - l2 = BM_iter_step(&liter2); - } + BM_elem_attrs_copy(bm, bm, l_org->next, l_side_iter); l_side_iter = l_side_iter->next; + BM_elem_attrs_copy(bm, bm, l_org->next, l_side_iter); l_side_iter = l_side_iter->next; + BM_elem_attrs_copy(bm, bm, l_org, l_side_iter); l_side_iter = l_side_iter->next; + BM_elem_attrs_copy(bm, bm, l_org, l_side_iter); + } while (((l_new = l_new->next), + (l_org = l_org->next)) != l_org_first); } - BLI_array_free(verts); - BLI_array_free(edges); - BMO_op_callf(bm, op->flag, "delete geom=%ff context=%i", EXT_DEL, DEL_ONLYFACES); -- cgit v1.2.3 From b1990fa1b16414084a48544a87af962e933bb60f Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Fri, 19 Jul 2013 12:33:09 +0000 Subject: Blender 2.69 Release Cycle: * BCon1: Alpha. --- source/blender/blenkernel/BKE_blender.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source') diff --git a/source/blender/blenkernel/BKE_blender.h b/source/blender/blenkernel/BKE_blender.h index e73b30ab98a..8c556e00aaa 100644 --- a/source/blender/blenkernel/BKE_blender.h +++ b/source/blender/blenkernel/BKE_blender.h @@ -52,7 +52,7 @@ extern "C" { /* can be left blank, otherwise a,b,c... etc with no quotes */ #define BLENDER_VERSION_CHAR /* alpha/beta/rc/release, docs use this */ -#define BLENDER_VERSION_CYCLE release +#define BLENDER_VERSION_CYCLE alpha extern char versionstr[]; /* from blender.c */ -- cgit v1.2.3 From 97397895b41bf47547bd9a20468196491df26a88 Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Fri, 19 Jul 2013 12:39:58 +0000 Subject: Nodes / UI: * Change UI string for LayerWeight node to "Layer Weight" (with the gap in between), for consistency with other nodes. --- source/blender/nodes/NOD_static_types.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source') diff --git a/source/blender/nodes/NOD_static_types.h b/source/blender/nodes/NOD_static_types.h index 8e3896f40f7..69f2a0ae955 100644 --- a/source/blender/nodes/NOD_static_types.h +++ b/source/blender/nodes/NOD_static_types.h @@ -69,7 +69,7 @@ DefNode( ShaderNode, SH_NODE_OUTPUT_MATERIAL, 0, "OU DefNode( ShaderNode, SH_NODE_OUTPUT_LAMP, 0, "OUTPUT_LAMP", OutputLamp, "Lamp Output", "" ) DefNode( ShaderNode, SH_NODE_OUTPUT_WORLD, 0, "OUTPUT_WORLD", OutputWorld, "World Output", "" ) DefNode( ShaderNode, SH_NODE_FRESNEL, 0, "FRESNEL", Fresnel, "Fresnel", "" ) -DefNode( ShaderNode, SH_NODE_LAYER_WEIGHT, 0, "LAYER_WEIGHT", LayerWeight, "LayerWeight", "" ) +DefNode( ShaderNode, SH_NODE_LAYER_WEIGHT, 0, "LAYER_WEIGHT", LayerWeight, "Layer Weight", "" ) DefNode( ShaderNode, SH_NODE_MIX_SHADER, 0, "MIX_SHADER", MixShader, "Mix Shader", "" ) DefNode( ShaderNode, SH_NODE_ADD_SHADER, 0, "ADD_SHADER", AddShader, "Add Shader", "" ) DefNode( ShaderNode, SH_NODE_ATTRIBUTE, def_sh_attribute, "ATTRIBUTE", Attribute, "Attribute", "" ) -- cgit v1.2.3 From 397da5000229a5ada135ca58cfe29bb7612f21d3 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 15:23:42 +0000 Subject: style cleanup: switch statements, include break statements within braces & indent. also indent case's within the switch (we already did both of these almost everywhere) --- source/blender/blenkernel/intern/action.c | 6 +- source/blender/blenkernel/intern/armature.c | 4 +- source/blender/blenkernel/intern/colortools.c | 2 +- source/blender/blenkernel/intern/constraint.c | 61 ++- source/blender/blenkernel/intern/fcurve.c | 14 +- source/blender/blenkernel/intern/fmodifier.c | 12 +- source/blender/blenkernel/intern/ipo.c | 5 +- source/blender/blenkernel/intern/linestyle.c | 536 ++++++++++----------- source/blender/blenkernel/intern/material.c | 10 +- source/blender/blenkernel/intern/node.c | 216 ++++----- source/blender/blenkernel/intern/object.c | 8 +- source/blender/blenkernel/intern/writeffmpeg.c | 34 +- source/blender/blenlib/intern/DLRB_tree.c | 8 +- .../compositor/intern/COM_ExecutionGroup.cpp | 4 +- .../editors/animation/anim_channels_defines.c | 24 +- .../blender/editors/animation/anim_channels_edit.c | 101 ++-- source/blender/editors/animation/anim_draw.c | 14 +- source/blender/editors/animation/anim_filter.c | 115 ++--- source/blender/editors/animation/drivers.c | 2 +- source/blender/editors/animation/fmodifier_ui.c | 2 +- source/blender/editors/animation/keyframes_draw.c | 11 +- source/blender/editors/animation/keyframing.c | 2 +- source/blender/editors/animation/keyingsets.c | 2 +- source/blender/editors/armature/pose_slide.c | 15 +- source/blender/editors/gpencil/drawgpencil.c | 4 +- source/blender/editors/gpencil/gpencil_edit.c | 19 +- source/blender/editors/gpencil/gpencil_paint.c | 30 +- source/blender/editors/interface/view2d.c | 19 +- source/blender/editors/interface/view2d_ops.c | 5 +- source/blender/editors/object/object_lattice.c | 7 +- source/blender/editors/object/object_relations.c | 8 +- source/blender/editors/render/render_shading.c | 90 ++-- source/blender/editors/screen/screen_ops.c | 2 +- source/blender/editors/space_action/action_draw.c | 14 +- .../blender/editors/space_action/action_select.c | 8 +- source/blender/editors/space_clip/space_clip.c | 2 +- source/blender/editors/space_graph/graph_buttons.c | 2 +- source/blender/editors/space_graph/space_graph.c | 14 +- source/blender/editors/space_nla/nla_buttons.c | 5 +- source/blender/editors/space_nla/nla_channels.c | 13 +- source/blender/editors/space_nla/nla_draw.c | 16 +- source/blender/editors/space_node/node_draw.c | 24 +- source/blender/editors/space_node/node_templates.c | 34 +- .../blender/editors/space_outliner/outliner_draw.c | 8 +- .../blender/editors/space_outliner/outliner_edit.c | 4 +- .../editors/space_outliner/outliner_tools.c | 17 +- .../blender/editors/space_outliner/outliner_tree.c | 30 +- source/blender/editors/space_time/space_time.c | 2 +- source/blender/editors/space_view3d/drawarmature.c | 18 +- source/blender/editors/transform/transform.c | 2 +- .../editors/transform/transform_constraints.c | 2 +- source/blender/makesrna/intern/rna_color.c | 12 +- source/blender/makesrna/intern/rna_object.c | 4 +- .../blender/nodes/shader/nodes/node_shader_math.c | 30 +- .../blender/windowmanager/intern/wm_event_system.c | 4 +- 55 files changed, 774 insertions(+), 883 deletions(-) (limited to 'source') diff --git a/source/blender/blenkernel/intern/action.c b/source/blender/blenkernel/intern/action.c index fa85f6e4f86..70fbf2d39e8 100644 --- a/source/blender/blenkernel/intern/action.c +++ b/source/blender/blenkernel/intern/action.c @@ -930,9 +930,8 @@ void calc_action_range(const bAction *act, float *start, float *end, short incl_ if (fmd->flag & FCM_LIMIT_XMAX) { max = max_ff(max, fmd->rect.xmax); } + break; } - break; - case FMODIFIER_TYPE_CYCLES: /* Cycles F-Modifier */ { FMod_Cycles *fmd = (FMod_Cycles *)fcm->data; @@ -941,9 +940,8 @@ void calc_action_range(const bAction *act, float *start, float *end, short incl_ min = MINAFRAMEF; if (fmd->after_mode != FCM_EXTRAPOLATE_NONE) max = MAXFRAMEF; + break; } - break; - /* TODO: function modifier may need some special limits */ default: /* all other standard modifiers are on the infinite range... */ diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c index 8fae3586439..2ede5acd6e9 100644 --- a/source/blender/blenkernel/intern/armature.c +++ b/source/blender/blenkernel/intern/armature.c @@ -2100,8 +2100,8 @@ static void splineik_evaluate_bone(tSplineIK_Tree *tree, Scene *scene, Object *o /* z-axis scale */ scale = len_v3(pchan->pose_mat[2]); mul_v3_fl(poseMat[2], scale); + break; } - break; case CONSTRAINT_SPLINEIK_XZS_VOLUMETRIC: { /* 'volume preservation' */ @@ -2123,8 +2123,8 @@ static void splineik_evaluate_bone(tSplineIK_Tree *tree, Scene *scene, Object *o /* apply the scaling */ mul_v3_fl(poseMat[0], scale); mul_v3_fl(poseMat[2], scale); + break; } - break; } /* finally, multiply the x and z scaling by the radius of the curve too, diff --git a/source/blender/blenkernel/intern/colortools.c b/source/blender/blenkernel/intern/colortools.c index 9323531e5fe..7e878e86c1e 100644 --- a/source/blender/blenkernel/intern/colortools.c +++ b/source/blender/blenkernel/intern/colortools.c @@ -328,8 +328,8 @@ void curvemap_reset(CurveMap *cuma, const rctf *clipr, int preset, int slope) cuma->curve[i].x = i / ((float)cuma->totpoint - 1); cuma->curve[i].y = 0.5; } + break; } - break; case CURVE_PRESET_ROUND: cuma->curve[0].x = 0; cuma->curve[0].y = 1; diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c index c78038c0f66..b8d851d082a 100644 --- a/source/blender/blenkernel/intern/constraint.c +++ b/source/blender/blenkernel/intern/constraint.c @@ -132,8 +132,8 @@ bConstraintOb *BKE_constraints_make_evalob(Scene *scene, Object *ob, void *subda unit_m4(cob->matrix); copy_m4_m4(cob->startmat, cob->matrix); + break; } - break; case CONSTRAINT_OBTYPE_BONE: { /* only set if we have valid bone, otherwise default */ @@ -158,9 +158,8 @@ bConstraintOb *BKE_constraints_make_evalob(Scene *scene, Object *ob, void *subda unit_m4(cob->matrix); copy_m4_m4(cob->startmat, cob->matrix); + break; } - break; - default: /* other types not yet handled */ unit_m4(cob->matrix); unit_m4(cob->startmat); @@ -195,8 +194,8 @@ void BKE_constraints_clear_evalob(bConstraintOb *cob) /* copy inverse of delta back to owner */ invert_m4_m4(cob->ob->constinv, delta); } + break; } - break; case CONSTRAINT_OBTYPE_BONE: { /* cob->ob or cob->pchan might not exist */ @@ -207,8 +206,8 @@ void BKE_constraints_clear_evalob(bConstraintOb *cob) /* copy inverse of delta back to owner */ invert_m4_m4(cob->pchan->constinv, delta); } + break; } - break; } /* free tempolary struct */ @@ -246,8 +245,8 @@ void BKE_constraint_mat_convertspace(Object *ob, bPoseChannel *pchan, float mat[ /* call self with slightly different values */ BKE_constraint_mat_convertspace(ob, pchan, mat, CONSTRAINT_SPACE_POSE, to); } + break; } - break; case CONSTRAINT_SPACE_POSE: /* ---------- FROM POSESPACE ---------- */ { /* pose to world */ @@ -267,8 +266,8 @@ void BKE_constraint_mat_convertspace(Object *ob, bPoseChannel *pchan, float mat[ mul_m4_m4m4(mat, imat, mat); } } + break; } - break; case CONSTRAINT_SPACE_LOCAL: /* ------------ FROM LOCALSPACE --------- */ { /* local to pose - do inverse procedure that was done for pose to local */ @@ -282,8 +281,8 @@ void BKE_constraint_mat_convertspace(Object *ob, bPoseChannel *pchan, float mat[ /* call self with slightly different values */ BKE_constraint_mat_convertspace(ob, pchan, mat, CONSTRAINT_SPACE_POSE, to); } + break; } - break; case CONSTRAINT_SPACE_PARLOCAL: /* -------------- FROM LOCAL WITH PARENT ---------- */ { /* local + parent to pose */ @@ -297,8 +296,8 @@ void BKE_constraint_mat_convertspace(Object *ob, bPoseChannel *pchan, float mat[ /* call self with slightly different values */ BKE_constraint_mat_convertspace(ob, pchan, mat, CONSTRAINT_SPACE_POSE, to); } + break; } - break; } } else { @@ -2235,8 +2234,8 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t /* the z axis gets mapped onto a third orthogonal vector */ cross_v3_v3v3(totmat[2], totmat[0], totmat[1]); + break; } - break; case TRACK_Z: /* LOCK X TRACK Z */ { /* Projection of Vector on the plane */ @@ -2249,8 +2248,8 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t /* the z axis gets mapped onto a third orthogonal vector */ cross_v3_v3v3(totmat[1], totmat[2], totmat[0]); + break; } - break; case TRACK_nY: /* LOCK X TRACK -Y */ { /* Projection of Vector on the plane */ @@ -2264,8 +2263,8 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t /* the z axis gets mapped onto a third orthogonal vector */ cross_v3_v3v3(totmat[2], totmat[0], totmat[1]); + break; } - break; case TRACK_nZ: /* LOCK X TRACK -Z */ { /* Projection of Vector on the plane */ @@ -2279,16 +2278,16 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t /* the z axis gets mapped onto a third orthogonal vector */ cross_v3_v3v3(totmat[1], totmat[2], totmat[0]); + break; } - break; default: { unit_m3(totmat); + break; } - break; } + break; } - break; case LOCK_Y: /* LOCK Y */ { switch (data->trackflag) { @@ -2304,8 +2303,8 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t /* the z axis gets mapped onto a third orthogonal vector */ cross_v3_v3v3(totmat[2], totmat[0], totmat[1]); + break; } - break; case TRACK_Z: /* LOCK Y TRACK Z */ { /* Projection of Vector on the plane */ @@ -2318,8 +2317,8 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t /* the z axis gets mapped onto a third orthogonal vector */ cross_v3_v3v3(totmat[0], totmat[1], totmat[2]); + break; } - break; case TRACK_nX: /* LOCK Y TRACK -X */ { /* Projection of Vector on the plane */ @@ -2333,8 +2332,8 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t /* the z axis gets mapped onto a third orthogonal vector */ cross_v3_v3v3(totmat[2], totmat[0], totmat[1]); + break; } - break; case TRACK_nZ: /* LOCK Y TRACK -Z */ { /* Projection of Vector on the plane */ @@ -2348,16 +2347,16 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t /* the z axis gets mapped onto a third orthogonal vector */ cross_v3_v3v3(totmat[0], totmat[1], totmat[2]); + break; } - break; default: { unit_m3(totmat); + break; } - break; } + break; } - break; case LOCK_Z: /* LOCK Z */ { switch (data->trackflag) { @@ -2373,8 +2372,8 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t /* the x axis gets mapped onto a third orthogonal vector */ cross_v3_v3v3(totmat[1], totmat[2], totmat[0]); + break; } - break; case TRACK_Y: /* LOCK Z TRACK Y */ { /* Projection of Vector on the plane */ @@ -2387,8 +2386,8 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t /* the x axis gets mapped onto a third orthogonal vector */ cross_v3_v3v3(totmat[0], totmat[1], totmat[2]); + break; } - break; case TRACK_nX: /* LOCK Z TRACK -X */ { /* Projection of Vector on the plane */ @@ -2402,8 +2401,8 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t /* the x axis gets mapped onto a third orthogonal vector */ cross_v3_v3v3(totmat[1], totmat[2], totmat[0]); + break; } - break; case TRACK_nY: /* LOCK Z TRACK -Y */ { /* Projection of Vector on the plane */ @@ -2417,21 +2416,21 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t /* the x axis gets mapped onto a third orthogonal vector */ cross_v3_v3v3(totmat[0], totmat[1], totmat[2]); + break; } - break; default: { unit_m3(totmat); + break; } - break; } + break; } - break; default: { unit_m3(totmat); + break; } - break; } /* Block to keep matrix heading */ copy_m3_m4(tmpmat, cob->matrix); @@ -4414,8 +4413,8 @@ static bConstraint *add_new_constraint(Object *ob, bPoseChannel *pchan, const ch con->ownspace = CONSTRAINT_SPACE_POSE; con->flag |= CONSTRAINT_SPACEONCE; } + break; } - break; } return con; @@ -4640,8 +4639,8 @@ void BKE_get_constraint_target_matrix(Scene *scene, bConstraint *con, int index, unit_m4(cob->matrix); unit_m4(cob->startmat); } + break; } - break; case CONSTRAINT_OBTYPE_BONE: /* this may occur in some cases */ { cob->ob = NULL; /* this might not work at all :/ */ @@ -4654,8 +4653,8 @@ void BKE_get_constraint_target_matrix(Scene *scene, bConstraint *con, int index, unit_m4(cob->matrix); unit_m4(cob->startmat); } + break; } - break; } /* get targets - we only need the first one though (and there should only be one) */ diff --git a/source/blender/blenkernel/intern/fcurve.c b/source/blender/blenkernel/intern/fcurve.c index bd282095c33..55a312f31ba 100644 --- a/source/blender/blenkernel/intern/fcurve.c +++ b/source/blender/blenkernel/intern/fcurve.c @@ -667,17 +667,16 @@ short fcurve_are_keyframes_usable(FCurve *fcu) if ((data->flag & FCM_GENERATOR_ADDITIVE) == 0) return 0; + break; } - break; case FMODIFIER_TYPE_FN_GENERATOR: { FMod_FunctionGenerator *data = (FMod_FunctionGenerator *)fcm->data; if ((data->flag & FCM_GENERATOR_ADDITIVE) == 0) return 0; + break; } - break; - /* always harmful - cannot allow */ default: return 0; @@ -1703,9 +1702,8 @@ static float evaluate_driver(ChannelDriver *driver, const float evaltime) else driver->curval = value; } + break; } - break; - case DRIVER_TYPE_MIN: /* smallest value */ case DRIVER_TYPE_MAX: /* largest value */ { @@ -1738,9 +1736,8 @@ static float evaluate_driver(ChannelDriver *driver, const float evaltime) /* store value in driver */ driver->curval = value; + break; } - break; - case DRIVER_TYPE_PYTHON: /* expression */ { #ifdef WITH_PYTHON @@ -1759,9 +1756,8 @@ static float evaluate_driver(ChannelDriver *driver, const float evaltime) #else /* WITH_PYTHON*/ (void)evaltime; #endif /* WITH_PYTHON*/ + break; } - break; - default: { /* special 'hack' - just use stored value diff --git a/source/blender/blenkernel/intern/fmodifier.c b/source/blender/blenkernel/intern/fmodifier.c index 19912a19d94..234f8667632 100644 --- a/source/blender/blenkernel/intern/fmodifier.c +++ b/source/blender/blenkernel/intern/fmodifier.c @@ -213,9 +213,8 @@ static void fcm_generator_evaluate(FCurve *UNUSED(fcu), FModifier *fcm, float *c /* cleanup */ if (powers) MEM_freeN(powers); + break; } - break; - case FCM_GENERATOR_POLYNOMIAL_FACTORISED: /* Factorized polynomial */ { float value = 1.0f, *cp = NULL; @@ -232,8 +231,8 @@ static void fcm_generator_evaluate(FCurve *UNUSED(fcu), FModifier *fcm, float *c else *cvalue = value; } + break; } - break; } } @@ -316,8 +315,8 @@ static void fcm_fn_generator_evaluate(FCurve *UNUSED(fcu), FModifier *fcm, float } else fn = tan; + break; } - break; case FCM_GENERATOR_FN_LN: /* natural log */ { /* check that value is greater than 1? */ @@ -328,8 +327,8 @@ static void fcm_fn_generator_evaluate(FCurve *UNUSED(fcu), FModifier *fcm, float if ((data->flag & FCM_GENERATOR_ADDITIVE) == 0) *cvalue = 0.0f; /* no value possible here */ } + break; } - break; case FCM_GENERATOR_FN_SQRT: /* square root */ { /* no negative numbers */ @@ -340,9 +339,8 @@ static void fcm_fn_generator_evaluate(FCurve *UNUSED(fcu), FModifier *fcm, float if ((data->flag & FCM_GENERATOR_ADDITIVE) == 0) *cvalue = 0.0f; /* no value possible here */ } + break; } - break; - default: printf("Invalid Function-Generator for F-Modifier - %d\n", data->type); } diff --git a/source/blender/blenkernel/intern/ipo.c b/source/blender/blenkernel/intern/ipo.c index 10226ade786..ecc4a03d255 100644 --- a/source/blender/blenkernel/intern/ipo.c +++ b/source/blender/blenkernel/intern/ipo.c @@ -1174,9 +1174,8 @@ static void icu_to_fcurves(ID *id, ListBase *groups, ListBase *list, IpoCurve *i { /* just copy, as the new defines match the old ones... */ fcu->extend = icu->extrap; + break; } - break; - case IPO_CYCL: /* cyclic extrapolation */ case IPO_CYCLX: /* cyclic extrapolation + offset */ { @@ -1191,8 +1190,8 @@ static void icu_to_fcurves(ID *id, ListBase *groups, ListBase *list, IpoCurve *i data->before_mode = data->after_mode = FCM_EXTRAPOLATE_CYCLIC_OFFSET; else data->before_mode = data->after_mode = FCM_EXTRAPOLATE_CYCLIC; + break; } - break; } /* -------- */ diff --git a/source/blender/blenkernel/intern/linestyle.c b/source/blender/blenkernel/intern/linestyle.c index 3ab1a8093be..497554be113 100644 --- a/source/blender/blenkernel/intern/linestyle.c +++ b/source/blender/blenkernel/intern/linestyle.c @@ -201,20 +201,20 @@ static LineStyleModifier *alloc_color_modifier(int type) size_t size; switch (type) { - case LS_MODIFIER_ALONG_STROKE: - size = sizeof(LineStyleColorModifier_AlongStroke); - break; - case LS_MODIFIER_DISTANCE_FROM_CAMERA: - size = sizeof(LineStyleColorModifier_DistanceFromCamera); - break; - case LS_MODIFIER_DISTANCE_FROM_OBJECT: - size = sizeof(LineStyleColorModifier_DistanceFromObject); - break; - case LS_MODIFIER_MATERIAL: - size = sizeof(LineStyleColorModifier_Material); - break; - default: - return NULL; /* unknown modifier type */ + case LS_MODIFIER_ALONG_STROKE: + size = sizeof(LineStyleColorModifier_AlongStroke); + break; + case LS_MODIFIER_DISTANCE_FROM_CAMERA: + size = sizeof(LineStyleColorModifier_DistanceFromCamera); + break; + case LS_MODIFIER_DISTANCE_FROM_OBJECT: + size = sizeof(LineStyleColorModifier_DistanceFromObject); + break; + case LS_MODIFIER_MATERIAL: + size = sizeof(LineStyleColorModifier_Material); + break; + default: + return NULL; /* unknown modifier type */ } return new_modifier(type, size); @@ -228,26 +228,26 @@ LineStyleModifier *BKE_add_linestyle_color_modifier(FreestyleLineStyle *linestyl m->blend = MA_RAMP_BLEND; switch (type) { - case LS_MODIFIER_ALONG_STROKE: - ((LineStyleColorModifier_AlongStroke *)m)->color_ramp = add_colorband(1); - break; - case LS_MODIFIER_DISTANCE_FROM_CAMERA: - ((LineStyleColorModifier_DistanceFromCamera *)m)->color_ramp = add_colorband(1); - ((LineStyleColorModifier_DistanceFromCamera *)m)->range_min = 0.0f; - ((LineStyleColorModifier_DistanceFromCamera *)m)->range_max = 10000.0f; - break; - case LS_MODIFIER_DISTANCE_FROM_OBJECT: - ((LineStyleColorModifier_DistanceFromObject *)m)->target = NULL; - ((LineStyleColorModifier_DistanceFromObject *)m)->color_ramp = add_colorband(1); - ((LineStyleColorModifier_DistanceFromObject *)m)->range_min = 0.0f; - ((LineStyleColorModifier_DistanceFromObject *)m)->range_max = 10000.0f; - break; - case LS_MODIFIER_MATERIAL: - ((LineStyleColorModifier_Material *)m)->color_ramp = add_colorband(1); - ((LineStyleColorModifier_Material *)m)->mat_attr = LS_MODIFIER_MATERIAL_DIFF; - break; - default: - return NULL; /* unknown modifier type */ + case LS_MODIFIER_ALONG_STROKE: + ((LineStyleColorModifier_AlongStroke *)m)->color_ramp = add_colorband(1); + break; + case LS_MODIFIER_DISTANCE_FROM_CAMERA: + ((LineStyleColorModifier_DistanceFromCamera *)m)->color_ramp = add_colorband(1); + ((LineStyleColorModifier_DistanceFromCamera *)m)->range_min = 0.0f; + ((LineStyleColorModifier_DistanceFromCamera *)m)->range_max = 10000.0f; + break; + case LS_MODIFIER_DISTANCE_FROM_OBJECT: + ((LineStyleColorModifier_DistanceFromObject *)m)->target = NULL; + ((LineStyleColorModifier_DistanceFromObject *)m)->color_ramp = add_colorband(1); + ((LineStyleColorModifier_DistanceFromObject *)m)->range_min = 0.0f; + ((LineStyleColorModifier_DistanceFromObject *)m)->range_max = 10000.0f; + break; + case LS_MODIFIER_MATERIAL: + ((LineStyleColorModifier_Material *)m)->color_ramp = add_colorband(1); + ((LineStyleColorModifier_Material *)m)->mat_attr = LS_MODIFIER_MATERIAL_DIFF; + break; + default: + return NULL; /* unknown modifier type */ } add_to_modifier_list(&linestyle->color_modifiers, m); @@ -264,23 +264,23 @@ LineStyleModifier *BKE_copy_linestyle_color_modifier(FreestyleLineStyle *linesty new_m->blend = m->blend; switch (m->type) { - case LS_MODIFIER_ALONG_STROKE: + case LS_MODIFIER_ALONG_STROKE: { LineStyleColorModifier_AlongStroke *p = (LineStyleColorModifier_AlongStroke *)m; LineStyleColorModifier_AlongStroke *q = (LineStyleColorModifier_AlongStroke *)new_m; q->color_ramp = MEM_dupallocN(p->color_ramp); + break; } - break; - case LS_MODIFIER_DISTANCE_FROM_CAMERA: + case LS_MODIFIER_DISTANCE_FROM_CAMERA: { LineStyleColorModifier_DistanceFromCamera *p = (LineStyleColorModifier_DistanceFromCamera *)m; LineStyleColorModifier_DistanceFromCamera *q = (LineStyleColorModifier_DistanceFromCamera *)new_m; q->color_ramp = MEM_dupallocN(p->color_ramp); q->range_min = p->range_min; q->range_max = p->range_max; + break; } - break; - case LS_MODIFIER_DISTANCE_FROM_OBJECT: + case LS_MODIFIER_DISTANCE_FROM_OBJECT: { LineStyleColorModifier_DistanceFromObject *p = (LineStyleColorModifier_DistanceFromObject *)m; LineStyleColorModifier_DistanceFromObject *q = (LineStyleColorModifier_DistanceFromObject *)new_m; @@ -290,19 +290,19 @@ LineStyleModifier *BKE_copy_linestyle_color_modifier(FreestyleLineStyle *linesty q->color_ramp = MEM_dupallocN(p->color_ramp); q->range_min = p->range_min; q->range_max = p->range_max; + break; } - break; - case LS_MODIFIER_MATERIAL: + case LS_MODIFIER_MATERIAL: { LineStyleColorModifier_Material *p = (LineStyleColorModifier_Material *)m; LineStyleColorModifier_Material *q = (LineStyleColorModifier_Material *)new_m; q->color_ramp = MEM_dupallocN(p->color_ramp); q->flags = p->flags; q->mat_attr = p->mat_attr; + break; } - break; - default: - return NULL; /* unknown modifier type */ + default: + return NULL; /* unknown modifier type */ } add_to_modifier_list(&linestyle->color_modifiers, new_m); @@ -312,18 +312,18 @@ LineStyleModifier *BKE_copy_linestyle_color_modifier(FreestyleLineStyle *linesty void BKE_remove_linestyle_color_modifier(FreestyleLineStyle *linestyle, LineStyleModifier *m) { switch (m->type) { - case LS_MODIFIER_ALONG_STROKE: - MEM_freeN(((LineStyleColorModifier_AlongStroke *)m)->color_ramp); - break; - case LS_MODIFIER_DISTANCE_FROM_CAMERA: - MEM_freeN(((LineStyleColorModifier_DistanceFromCamera *)m)->color_ramp); - break; - case LS_MODIFIER_DISTANCE_FROM_OBJECT: - MEM_freeN(((LineStyleColorModifier_DistanceFromObject *)m)->color_ramp); - break; - case LS_MODIFIER_MATERIAL: - MEM_freeN(((LineStyleColorModifier_Material *)m)->color_ramp); - break; + case LS_MODIFIER_ALONG_STROKE: + MEM_freeN(((LineStyleColorModifier_AlongStroke *)m)->color_ramp); + break; + case LS_MODIFIER_DISTANCE_FROM_CAMERA: + MEM_freeN(((LineStyleColorModifier_DistanceFromCamera *)m)->color_ramp); + break; + case LS_MODIFIER_DISTANCE_FROM_OBJECT: + MEM_freeN(((LineStyleColorModifier_DistanceFromObject *)m)->color_ramp); + break; + case LS_MODIFIER_MATERIAL: + MEM_freeN(((LineStyleColorModifier_Material *)m)->color_ramp); + break; } BLI_freelinkN(&linestyle->color_modifiers, m); } @@ -333,20 +333,20 @@ static LineStyleModifier *alloc_alpha_modifier(int type) size_t size; switch (type) { - case LS_MODIFIER_ALONG_STROKE: - size = sizeof(LineStyleAlphaModifier_AlongStroke); - break; - case LS_MODIFIER_DISTANCE_FROM_CAMERA: - size = sizeof(LineStyleAlphaModifier_DistanceFromCamera); - break; - case LS_MODIFIER_DISTANCE_FROM_OBJECT: - size = sizeof(LineStyleAlphaModifier_DistanceFromObject); - break; - case LS_MODIFIER_MATERIAL: - size = sizeof(LineStyleAlphaModifier_Material); - break; - default: - return NULL; /* unknown modifier type */ + case LS_MODIFIER_ALONG_STROKE: + size = sizeof(LineStyleAlphaModifier_AlongStroke); + break; + case LS_MODIFIER_DISTANCE_FROM_CAMERA: + size = sizeof(LineStyleAlphaModifier_DistanceFromCamera); + break; + case LS_MODIFIER_DISTANCE_FROM_OBJECT: + size = sizeof(LineStyleAlphaModifier_DistanceFromObject); + break; + case LS_MODIFIER_MATERIAL: + size = sizeof(LineStyleAlphaModifier_Material); + break; + default: + return NULL; /* unknown modifier type */ } return new_modifier(type, size); } @@ -359,38 +359,38 @@ LineStyleModifier *BKE_add_linestyle_alpha_modifier(FreestyleLineStyle *linestyl m->blend = LS_VALUE_BLEND; switch (type) { - case LS_MODIFIER_ALONG_STROKE: + case LS_MODIFIER_ALONG_STROKE: { LineStyleAlphaModifier_AlongStroke *p = (LineStyleAlphaModifier_AlongStroke *)m; p->curve = curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f); + break; } - break; - case LS_MODIFIER_DISTANCE_FROM_CAMERA: + case LS_MODIFIER_DISTANCE_FROM_CAMERA: { LineStyleAlphaModifier_DistanceFromCamera *p = (LineStyleAlphaModifier_DistanceFromCamera *)m; p->curve = curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f); p->range_min = 0.0f; p->range_max = 10000.0f; + break; } - break; - case LS_MODIFIER_DISTANCE_FROM_OBJECT: + case LS_MODIFIER_DISTANCE_FROM_OBJECT: { LineStyleAlphaModifier_DistanceFromObject *p = (LineStyleAlphaModifier_DistanceFromObject *)m; p->target = NULL; p->curve = curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f); p->range_min = 0.0f; p->range_max = 10000.0f; + break; } - break; - case LS_MODIFIER_MATERIAL: + case LS_MODIFIER_MATERIAL: { LineStyleAlphaModifier_Material *p = (LineStyleAlphaModifier_Material *)m; p->curve = curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f); p->mat_attr = LS_MODIFIER_MATERIAL_DIFF; + break; } - break; - default: - return NULL; /* unknown modifier type */ + default: + return NULL; /* unknown modifier type */ } add_to_modifier_list(&linestyle->alpha_modifiers, m); @@ -407,15 +407,15 @@ LineStyleModifier *BKE_copy_linestyle_alpha_modifier(FreestyleLineStyle *linesty new_m->blend = m->blend; switch (m->type) { - case LS_MODIFIER_ALONG_STROKE: + case LS_MODIFIER_ALONG_STROKE: { LineStyleAlphaModifier_AlongStroke *p = (LineStyleAlphaModifier_AlongStroke *)m; LineStyleAlphaModifier_AlongStroke *q = (LineStyleAlphaModifier_AlongStroke *)new_m; q->curve = curvemapping_copy(p->curve); q->flags = p->flags; + break; } - break; - case LS_MODIFIER_DISTANCE_FROM_CAMERA: + case LS_MODIFIER_DISTANCE_FROM_CAMERA: { LineStyleAlphaModifier_DistanceFromCamera *p = (LineStyleAlphaModifier_DistanceFromCamera *)m; LineStyleAlphaModifier_DistanceFromCamera *q = (LineStyleAlphaModifier_DistanceFromCamera *)new_m; @@ -423,9 +423,9 @@ LineStyleModifier *BKE_copy_linestyle_alpha_modifier(FreestyleLineStyle *linesty q->flags = p->flags; q->range_min = p->range_min; q->range_max = p->range_max; + break; } - break; - case LS_MODIFIER_DISTANCE_FROM_OBJECT: + case LS_MODIFIER_DISTANCE_FROM_OBJECT: { LineStyleAlphaModifier_DistanceFromObject *p = (LineStyleAlphaModifier_DistanceFromObject *)m; LineStyleAlphaModifier_DistanceFromObject *q = (LineStyleAlphaModifier_DistanceFromObject *)new_m; @@ -436,19 +436,19 @@ LineStyleModifier *BKE_copy_linestyle_alpha_modifier(FreestyleLineStyle *linesty q->flags = p->flags; q->range_min = p->range_min; q->range_max = p->range_max; + break; } - break; - case LS_MODIFIER_MATERIAL: + case LS_MODIFIER_MATERIAL: { LineStyleAlphaModifier_Material *p = (LineStyleAlphaModifier_Material *)m; LineStyleAlphaModifier_Material *q = (LineStyleAlphaModifier_Material *)new_m; q->curve = curvemapping_copy(p->curve); q->flags = p->flags; q->mat_attr = p->mat_attr; + break; } - break; - default: - return NULL; /* unknown modifier type */ + default: + return NULL; /* unknown modifier type */ } add_to_modifier_list(&linestyle->alpha_modifiers, new_m); @@ -458,18 +458,18 @@ LineStyleModifier *BKE_copy_linestyle_alpha_modifier(FreestyleLineStyle *linesty void BKE_remove_linestyle_alpha_modifier(FreestyleLineStyle *linestyle, LineStyleModifier *m) { switch (m->type) { - case LS_MODIFIER_ALONG_STROKE: - curvemapping_free(((LineStyleAlphaModifier_AlongStroke *)m)->curve); - break; - case LS_MODIFIER_DISTANCE_FROM_CAMERA: - curvemapping_free(((LineStyleAlphaModifier_DistanceFromCamera *)m)->curve); - break; - case LS_MODIFIER_DISTANCE_FROM_OBJECT: - curvemapping_free(((LineStyleAlphaModifier_DistanceFromObject *)m)->curve); - break; - case LS_MODIFIER_MATERIAL: - curvemapping_free(((LineStyleAlphaModifier_Material *)m)->curve); - break; + case LS_MODIFIER_ALONG_STROKE: + curvemapping_free(((LineStyleAlphaModifier_AlongStroke *)m)->curve); + break; + case LS_MODIFIER_DISTANCE_FROM_CAMERA: + curvemapping_free(((LineStyleAlphaModifier_DistanceFromCamera *)m)->curve); + break; + case LS_MODIFIER_DISTANCE_FROM_OBJECT: + curvemapping_free(((LineStyleAlphaModifier_DistanceFromObject *)m)->curve); + break; + case LS_MODIFIER_MATERIAL: + curvemapping_free(((LineStyleAlphaModifier_Material *)m)->curve); + break; } BLI_freelinkN(&linestyle->alpha_modifiers, m); } @@ -479,23 +479,23 @@ static LineStyleModifier *alloc_thickness_modifier(int type) size_t size; switch (type) { - case LS_MODIFIER_ALONG_STROKE: - size = sizeof(LineStyleThicknessModifier_AlongStroke); - break; - case LS_MODIFIER_DISTANCE_FROM_CAMERA: - size = sizeof(LineStyleThicknessModifier_DistanceFromCamera); - break; - case LS_MODIFIER_DISTANCE_FROM_OBJECT: - size = sizeof(LineStyleThicknessModifier_DistanceFromObject); - break; - case LS_MODIFIER_MATERIAL: - size = sizeof(LineStyleThicknessModifier_Material); - break; - case LS_MODIFIER_CALLIGRAPHY: - size = sizeof(LineStyleThicknessModifier_Calligraphy); - break; - default: - return NULL; /* unknown modifier type */ + case LS_MODIFIER_ALONG_STROKE: + size = sizeof(LineStyleThicknessModifier_AlongStroke); + break; + case LS_MODIFIER_DISTANCE_FROM_CAMERA: + size = sizeof(LineStyleThicknessModifier_DistanceFromCamera); + break; + case LS_MODIFIER_DISTANCE_FROM_OBJECT: + size = sizeof(LineStyleThicknessModifier_DistanceFromObject); + break; + case LS_MODIFIER_MATERIAL: + size = sizeof(LineStyleThicknessModifier_Material); + break; + case LS_MODIFIER_CALLIGRAPHY: + size = sizeof(LineStyleThicknessModifier_Calligraphy); + break; + default: + return NULL; /* unknown modifier type */ } return new_modifier(type, size); @@ -509,15 +509,15 @@ LineStyleModifier *BKE_add_linestyle_thickness_modifier(FreestyleLineStyle *line m->blend = LS_VALUE_BLEND; switch (type) { - case LS_MODIFIER_ALONG_STROKE: + case LS_MODIFIER_ALONG_STROKE: { LineStyleThicknessModifier_AlongStroke *p = (LineStyleThicknessModifier_AlongStroke *)m; p->curve = curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f); p->value_min = 0.0f; p->value_max = 1.0f; + break; } - break; - case LS_MODIFIER_DISTANCE_FROM_CAMERA: + case LS_MODIFIER_DISTANCE_FROM_CAMERA: { LineStyleThicknessModifier_DistanceFromCamera *p = (LineStyleThicknessModifier_DistanceFromCamera *)m; p->curve = curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f); @@ -525,9 +525,9 @@ LineStyleModifier *BKE_add_linestyle_thickness_modifier(FreestyleLineStyle *line p->range_max = 1000.0f; p->value_min = 0.0f; p->value_max = 1.0f; + break; } - break; - case LS_MODIFIER_DISTANCE_FROM_OBJECT: + case LS_MODIFIER_DISTANCE_FROM_OBJECT: { LineStyleThicknessModifier_DistanceFromObject *p = (LineStyleThicknessModifier_DistanceFromObject *)m; p->target = NULL; @@ -536,27 +536,27 @@ LineStyleModifier *BKE_add_linestyle_thickness_modifier(FreestyleLineStyle *line p->range_max = 1000.0f; p->value_min = 0.0f; p->value_max = 1.0f; + break; } - break; - case LS_MODIFIER_MATERIAL: + case LS_MODIFIER_MATERIAL: { LineStyleThicknessModifier_Material *p = (LineStyleThicknessModifier_Material *)m; p->curve = curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f); p->mat_attr = LS_MODIFIER_MATERIAL_DIFF; p->value_min = 0.0f; p->value_max = 1.0f; + break; } - break; - case LS_MODIFIER_CALLIGRAPHY: + case LS_MODIFIER_CALLIGRAPHY: { LineStyleThicknessModifier_Calligraphy *p = (LineStyleThicknessModifier_Calligraphy *)m; p->min_thickness = 1.0f; p->max_thickness = 10.0f; p->orientation = DEG2RADF(60.0f); + break; } - break; - default: - return NULL; /* unknown modifier type */ + default: + return NULL; /* unknown modifier type */ } add_to_modifier_list(&linestyle->thickness_modifiers, m); @@ -575,7 +575,7 @@ LineStyleModifier *BKE_copy_linestyle_thickness_modifier(FreestyleLineStyle *lin new_m->blend = m->blend; switch (m->type) { - case LS_MODIFIER_ALONG_STROKE: + case LS_MODIFIER_ALONG_STROKE: { LineStyleThicknessModifier_AlongStroke *p = (LineStyleThicknessModifier_AlongStroke *)m; LineStyleThicknessModifier_AlongStroke *q = (LineStyleThicknessModifier_AlongStroke *)new_m; @@ -583,9 +583,9 @@ LineStyleModifier *BKE_copy_linestyle_thickness_modifier(FreestyleLineStyle *lin q->flags = p->flags; q->value_min = p->value_min; q->value_max = p->value_max; + break; } - break; - case LS_MODIFIER_DISTANCE_FROM_CAMERA: + case LS_MODIFIER_DISTANCE_FROM_CAMERA: { LineStyleThicknessModifier_DistanceFromCamera *p = (LineStyleThicknessModifier_DistanceFromCamera *)m; LineStyleThicknessModifier_DistanceFromCamera *q = (LineStyleThicknessModifier_DistanceFromCamera *)new_m; @@ -595,9 +595,9 @@ LineStyleModifier *BKE_copy_linestyle_thickness_modifier(FreestyleLineStyle *lin q->range_max = p->range_max; q->value_min = p->value_min; q->value_max = p->value_max; + break; } - break; - case LS_MODIFIER_DISTANCE_FROM_OBJECT: + case LS_MODIFIER_DISTANCE_FROM_OBJECT: { LineStyleThicknessModifier_DistanceFromObject *p = (LineStyleThicknessModifier_DistanceFromObject *)m; LineStyleThicknessModifier_DistanceFromObject *q = (LineStyleThicknessModifier_DistanceFromObject *)new_m; @@ -610,9 +610,9 @@ LineStyleModifier *BKE_copy_linestyle_thickness_modifier(FreestyleLineStyle *lin q->range_max = p->range_max; q->value_min = p->value_min; q->value_max = p->value_max; + break; } - break; - case LS_MODIFIER_MATERIAL: + case LS_MODIFIER_MATERIAL: { LineStyleThicknessModifier_Material *p = (LineStyleThicknessModifier_Material *)m; LineStyleThicknessModifier_Material *q = (LineStyleThicknessModifier_Material *)new_m; @@ -621,19 +621,19 @@ LineStyleModifier *BKE_copy_linestyle_thickness_modifier(FreestyleLineStyle *lin q->mat_attr = p->mat_attr; q->value_min = p->value_min; q->value_max = p->value_max; + break; } - break; - case LS_MODIFIER_CALLIGRAPHY: + case LS_MODIFIER_CALLIGRAPHY: { LineStyleThicknessModifier_Calligraphy *p = (LineStyleThicknessModifier_Calligraphy *)m; LineStyleThicknessModifier_Calligraphy *q = (LineStyleThicknessModifier_Calligraphy *)new_m; q->min_thickness = p->min_thickness; q->max_thickness = p->max_thickness; q->orientation = p->orientation; + break; } - break; - default: - return NULL; /* unknown modifier type */ + default: + return NULL; /* unknown modifier type */ } add_to_modifier_list(&linestyle->thickness_modifiers, new_m); @@ -643,20 +643,20 @@ LineStyleModifier *BKE_copy_linestyle_thickness_modifier(FreestyleLineStyle *lin void BKE_remove_linestyle_thickness_modifier(FreestyleLineStyle *linestyle, LineStyleModifier *m) { switch (m->type) { - case LS_MODIFIER_ALONG_STROKE: - curvemapping_free(((LineStyleThicknessModifier_AlongStroke *)m)->curve); - break; - case LS_MODIFIER_DISTANCE_FROM_CAMERA: - curvemapping_free(((LineStyleThicknessModifier_DistanceFromCamera *)m)->curve); - break; - case LS_MODIFIER_DISTANCE_FROM_OBJECT: - curvemapping_free(((LineStyleThicknessModifier_DistanceFromObject *)m)->curve); - break; - case LS_MODIFIER_MATERIAL: - curvemapping_free(((LineStyleThicknessModifier_Material *)m)->curve); - break; - case LS_MODIFIER_CALLIGRAPHY: - break; + case LS_MODIFIER_ALONG_STROKE: + curvemapping_free(((LineStyleThicknessModifier_AlongStroke *)m)->curve); + break; + case LS_MODIFIER_DISTANCE_FROM_CAMERA: + curvemapping_free(((LineStyleThicknessModifier_DistanceFromCamera *)m)->curve); + break; + case LS_MODIFIER_DISTANCE_FROM_OBJECT: + curvemapping_free(((LineStyleThicknessModifier_DistanceFromObject *)m)->curve); + break; + case LS_MODIFIER_MATERIAL: + curvemapping_free(((LineStyleThicknessModifier_Material *)m)->curve); + break; + case LS_MODIFIER_CALLIGRAPHY: + break; } BLI_freelinkN(&linestyle->thickness_modifiers, m); } @@ -666,47 +666,47 @@ static LineStyleModifier *alloc_geometry_modifier(int type) size_t size; switch (type) { - case LS_MODIFIER_SAMPLING: - size = sizeof(LineStyleGeometryModifier_Sampling); - break; - case LS_MODIFIER_BEZIER_CURVE: - size = sizeof(LineStyleGeometryModifier_BezierCurve); - break; - case LS_MODIFIER_SINUS_DISPLACEMENT: - size = sizeof(LineStyleGeometryModifier_SinusDisplacement); - break; - case LS_MODIFIER_SPATIAL_NOISE: - size = sizeof(LineStyleGeometryModifier_SpatialNoise); - break; - case LS_MODIFIER_PERLIN_NOISE_1D: - size = sizeof(LineStyleGeometryModifier_PerlinNoise1D); - break; - case LS_MODIFIER_PERLIN_NOISE_2D: - size = sizeof(LineStyleGeometryModifier_PerlinNoise2D); - break; - case LS_MODIFIER_BACKBONE_STRETCHER: - size = sizeof(LineStyleGeometryModifier_BackboneStretcher); - break; - case LS_MODIFIER_TIP_REMOVER: - size = sizeof(LineStyleGeometryModifier_TipRemover); - break; - case LS_MODIFIER_POLYGONIZATION: - size = sizeof(LineStyleGeometryModifier_Polygonalization); - break; - case LS_MODIFIER_GUIDING_LINES: - size = sizeof(LineStyleGeometryModifier_GuidingLines); - break; - case LS_MODIFIER_BLUEPRINT: - size = sizeof(LineStyleGeometryModifier_Blueprint); - break; - case LS_MODIFIER_2D_OFFSET: - size = sizeof(LineStyleGeometryModifier_2DOffset); - break; - case LS_MODIFIER_2D_TRANSFORM: - size = sizeof(LineStyleGeometryModifier_2DTransform); - break; - default: - return NULL; /* unknown modifier type */ + case LS_MODIFIER_SAMPLING: + size = sizeof(LineStyleGeometryModifier_Sampling); + break; + case LS_MODIFIER_BEZIER_CURVE: + size = sizeof(LineStyleGeometryModifier_BezierCurve); + break; + case LS_MODIFIER_SINUS_DISPLACEMENT: + size = sizeof(LineStyleGeometryModifier_SinusDisplacement); + break; + case LS_MODIFIER_SPATIAL_NOISE: + size = sizeof(LineStyleGeometryModifier_SpatialNoise); + break; + case LS_MODIFIER_PERLIN_NOISE_1D: + size = sizeof(LineStyleGeometryModifier_PerlinNoise1D); + break; + case LS_MODIFIER_PERLIN_NOISE_2D: + size = sizeof(LineStyleGeometryModifier_PerlinNoise2D); + break; + case LS_MODIFIER_BACKBONE_STRETCHER: + size = sizeof(LineStyleGeometryModifier_BackboneStretcher); + break; + case LS_MODIFIER_TIP_REMOVER: + size = sizeof(LineStyleGeometryModifier_TipRemover); + break; + case LS_MODIFIER_POLYGONIZATION: + size = sizeof(LineStyleGeometryModifier_Polygonalization); + break; + case LS_MODIFIER_GUIDING_LINES: + size = sizeof(LineStyleGeometryModifier_GuidingLines); + break; + case LS_MODIFIER_BLUEPRINT: + size = sizeof(LineStyleGeometryModifier_Blueprint); + break; + case LS_MODIFIER_2D_OFFSET: + size = sizeof(LineStyleGeometryModifier_2DOffset); + break; + case LS_MODIFIER_2D_TRANSFORM: + size = sizeof(LineStyleGeometryModifier_2DTransform); + break; + default: + return NULL; /* unknown modifier type */ } return new_modifier(type, size); @@ -719,78 +719,78 @@ LineStyleModifier *BKE_add_linestyle_geometry_modifier(FreestyleLineStyle *lines m = alloc_geometry_modifier(type); switch (type) { - case LS_MODIFIER_SAMPLING: + case LS_MODIFIER_SAMPLING: { LineStyleGeometryModifier_Sampling *p = (LineStyleGeometryModifier_Sampling *)m; p->sampling = 10.0f; + break; } - break; - case LS_MODIFIER_BEZIER_CURVE: + case LS_MODIFIER_BEZIER_CURVE: { LineStyleGeometryModifier_BezierCurve *p = (LineStyleGeometryModifier_BezierCurve *)m; p->error = 10.0f; + break; } - break; - case LS_MODIFIER_SINUS_DISPLACEMENT: + case LS_MODIFIER_SINUS_DISPLACEMENT: { LineStyleGeometryModifier_SinusDisplacement *p = (LineStyleGeometryModifier_SinusDisplacement *)m; p->wavelength = 20.0f; p->amplitude = 5.0f; p->phase = 0.0f; + break; } - break; - case LS_MODIFIER_SPATIAL_NOISE: + case LS_MODIFIER_SPATIAL_NOISE: { LineStyleGeometryModifier_SpatialNoise *p = (LineStyleGeometryModifier_SpatialNoise *)m; p->amplitude = 5.0f; p->scale = 20.0f; p->octaves = 4; p->flags = LS_MODIFIER_SPATIAL_NOISE_SMOOTH | LS_MODIFIER_SPATIAL_NOISE_PURERANDOM; + break; } - break; - case LS_MODIFIER_PERLIN_NOISE_1D: + case LS_MODIFIER_PERLIN_NOISE_1D: { LineStyleGeometryModifier_PerlinNoise1D *p = (LineStyleGeometryModifier_PerlinNoise1D *)m; p->frequency = 10.0f; p->amplitude = 10.0f; p->octaves = 4; p->angle = DEG2RADF(45.0f); + break; } - break; - case LS_MODIFIER_PERLIN_NOISE_2D: + case LS_MODIFIER_PERLIN_NOISE_2D: { LineStyleGeometryModifier_PerlinNoise2D *p = (LineStyleGeometryModifier_PerlinNoise2D *)m; p->frequency = 10.0f; p->amplitude = 10.0f; p->octaves = 4; p->angle = DEG2RADF(45.0f); + break; } - break; - case LS_MODIFIER_BACKBONE_STRETCHER: + case LS_MODIFIER_BACKBONE_STRETCHER: { LineStyleGeometryModifier_BackboneStretcher *p = (LineStyleGeometryModifier_BackboneStretcher *)m; p->backbone_length = 10.0f; + break; } - break; - case LS_MODIFIER_TIP_REMOVER: + case LS_MODIFIER_TIP_REMOVER: { LineStyleGeometryModifier_TipRemover *p = (LineStyleGeometryModifier_TipRemover *)m; p->tip_length = 10.0f; + break; } - break; - case LS_MODIFIER_POLYGONIZATION: + case LS_MODIFIER_POLYGONIZATION: { LineStyleGeometryModifier_Polygonalization *p = (LineStyleGeometryModifier_Polygonalization *)m; p->error = 10.0f; + break; } - break; - case LS_MODIFIER_GUIDING_LINES: + case LS_MODIFIER_GUIDING_LINES: { LineStyleGeometryModifier_GuidingLines *p = (LineStyleGeometryModifier_GuidingLines *)m; p->offset = 0.0f; + break; } - break; - case LS_MODIFIER_BLUEPRINT: + case LS_MODIFIER_BLUEPRINT: { LineStyleGeometryModifier_Blueprint *p = (LineStyleGeometryModifier_Blueprint *)m; p->flags = LS_MODIFIER_BLUEPRINT_CIRCLES; @@ -799,18 +799,18 @@ LineStyleModifier *BKE_add_linestyle_geometry_modifier(FreestyleLineStyle *lines p->random_radius = 3; p->random_center = 5; p->random_backbone = 5; + break; } - break; - case LS_MODIFIER_2D_OFFSET: + case LS_MODIFIER_2D_OFFSET: { LineStyleGeometryModifier_2DOffset *p = (LineStyleGeometryModifier_2DOffset *)m; p->start = 0.0f; p->end = 0.0f; p->x = 0.0f; p->y = 0.0f; + break; } - break; - case LS_MODIFIER_2D_TRANSFORM: + case LS_MODIFIER_2D_TRANSFORM: { LineStyleGeometryModifier_2DTransform *p = (LineStyleGeometryModifier_2DTransform *)m; p->pivot = LS_MODIFIER_2D_TRANSFORM_PIVOT_CENTER; @@ -820,10 +820,10 @@ LineStyleModifier *BKE_add_linestyle_geometry_modifier(FreestyleLineStyle *lines p->pivot_u = 0.5f; p->pivot_x = 0.0f; p->pivot_y = 0.0f; + break; } - break; - default: - return NULL; /* unknown modifier type */ + default: + return NULL; /* unknown modifier type */ } add_to_modifier_list(&linestyle->geometry_modifiers, m); @@ -838,30 +838,30 @@ LineStyleModifier *BKE_copy_linestyle_geometry_modifier(FreestyleLineStyle *line new_m->flags = m->flags; switch (m->type) { - case LS_MODIFIER_SAMPLING: + case LS_MODIFIER_SAMPLING: { LineStyleGeometryModifier_Sampling *p = (LineStyleGeometryModifier_Sampling *)m; LineStyleGeometryModifier_Sampling *q = (LineStyleGeometryModifier_Sampling *)new_m; q->sampling = p->sampling; + break; } - break; - case LS_MODIFIER_BEZIER_CURVE: + case LS_MODIFIER_BEZIER_CURVE: { LineStyleGeometryModifier_BezierCurve *p = (LineStyleGeometryModifier_BezierCurve *)m; LineStyleGeometryModifier_BezierCurve *q = (LineStyleGeometryModifier_BezierCurve *)new_m; q->error = p->error; + break; } - break; - case LS_MODIFIER_SINUS_DISPLACEMENT: + case LS_MODIFIER_SINUS_DISPLACEMENT: { LineStyleGeometryModifier_SinusDisplacement *p = (LineStyleGeometryModifier_SinusDisplacement *)m; LineStyleGeometryModifier_SinusDisplacement *q = (LineStyleGeometryModifier_SinusDisplacement *)new_m; q->wavelength = p->wavelength; q->amplitude = p->amplitude; q->phase = p->phase; + break; } - break; - case LS_MODIFIER_SPATIAL_NOISE: + case LS_MODIFIER_SPATIAL_NOISE: { LineStyleGeometryModifier_SpatialNoise *p = (LineStyleGeometryModifier_SpatialNoise *)m; LineStyleGeometryModifier_SpatialNoise *q = (LineStyleGeometryModifier_SpatialNoise *)new_m; @@ -869,9 +869,9 @@ LineStyleModifier *BKE_copy_linestyle_geometry_modifier(FreestyleLineStyle *line q->scale = p->scale; q->octaves = p->octaves; q->flags = p->flags; + break; } - break; - case LS_MODIFIER_PERLIN_NOISE_1D: + case LS_MODIFIER_PERLIN_NOISE_1D: { LineStyleGeometryModifier_PerlinNoise1D *p = (LineStyleGeometryModifier_PerlinNoise1D *)m; LineStyleGeometryModifier_PerlinNoise1D *q = (LineStyleGeometryModifier_PerlinNoise1D *)new_m; @@ -880,9 +880,9 @@ LineStyleModifier *BKE_copy_linestyle_geometry_modifier(FreestyleLineStyle *line q->angle = p->angle; q->octaves = p->octaves; q->seed = p->seed; + break; } - break; - case LS_MODIFIER_PERLIN_NOISE_2D: + case LS_MODIFIER_PERLIN_NOISE_2D: { LineStyleGeometryModifier_PerlinNoise2D *p = (LineStyleGeometryModifier_PerlinNoise2D *)m; LineStyleGeometryModifier_PerlinNoise2D *q = (LineStyleGeometryModifier_PerlinNoise2D *)new_m; @@ -891,37 +891,37 @@ LineStyleModifier *BKE_copy_linestyle_geometry_modifier(FreestyleLineStyle *line q->angle = p->angle; q->octaves = p->octaves; q->seed = p->seed; + break; } - break; - case LS_MODIFIER_BACKBONE_STRETCHER: + case LS_MODIFIER_BACKBONE_STRETCHER: { LineStyleGeometryModifier_BackboneStretcher *p = (LineStyleGeometryModifier_BackboneStretcher *)m; LineStyleGeometryModifier_BackboneStretcher *q = (LineStyleGeometryModifier_BackboneStretcher *)new_m; q->backbone_length = p->backbone_length; + break; } - break; - case LS_MODIFIER_TIP_REMOVER: + case LS_MODIFIER_TIP_REMOVER: { LineStyleGeometryModifier_TipRemover *p = (LineStyleGeometryModifier_TipRemover *)m; LineStyleGeometryModifier_TipRemover *q = (LineStyleGeometryModifier_TipRemover *)new_m; q->tip_length = p->tip_length; + break; } - break; - case LS_MODIFIER_POLYGONIZATION: + case LS_MODIFIER_POLYGONIZATION: { LineStyleGeometryModifier_Polygonalization *p = (LineStyleGeometryModifier_Polygonalization *)m; LineStyleGeometryModifier_Polygonalization *q = (LineStyleGeometryModifier_Polygonalization *)new_m; q->error = p->error; + break; } - break; - case LS_MODIFIER_GUIDING_LINES: + case LS_MODIFIER_GUIDING_LINES: { LineStyleGeometryModifier_GuidingLines *p = (LineStyleGeometryModifier_GuidingLines *)m; LineStyleGeometryModifier_GuidingLines *q = (LineStyleGeometryModifier_GuidingLines *)new_m; q->offset = p->offset; + break; } - break; - case LS_MODIFIER_BLUEPRINT: + case LS_MODIFIER_BLUEPRINT: { LineStyleGeometryModifier_Blueprint *p = (LineStyleGeometryModifier_Blueprint *)m; LineStyleGeometryModifier_Blueprint *q = (LineStyleGeometryModifier_Blueprint *)new_m; @@ -931,9 +931,9 @@ LineStyleModifier *BKE_copy_linestyle_geometry_modifier(FreestyleLineStyle *line q->random_radius = p->random_radius; q->random_center = p->random_center; q->random_backbone = p->random_backbone; + break; } - break; - case LS_MODIFIER_2D_OFFSET: + case LS_MODIFIER_2D_OFFSET: { LineStyleGeometryModifier_2DOffset *p = (LineStyleGeometryModifier_2DOffset *)m; LineStyleGeometryModifier_2DOffset *q = (LineStyleGeometryModifier_2DOffset *)new_m; @@ -941,9 +941,9 @@ LineStyleModifier *BKE_copy_linestyle_geometry_modifier(FreestyleLineStyle *line q->end = p->end; q->x = p->x; q->y = p->y; + break; } - break; - case LS_MODIFIER_2D_TRANSFORM: + case LS_MODIFIER_2D_TRANSFORM: { LineStyleGeometryModifier_2DTransform *p = (LineStyleGeometryModifier_2DTransform *)m; LineStyleGeometryModifier_2DTransform *q = (LineStyleGeometryModifier_2DTransform *)new_m; @@ -954,10 +954,10 @@ LineStyleModifier *BKE_copy_linestyle_geometry_modifier(FreestyleLineStyle *line q->pivot_u = p->pivot_u; q->pivot_x = p->pivot_x; q->pivot_y = p->pivot_y; + break; } - break; - default: - return NULL; /* unknown modifier type */ + default: + return NULL; /* unknown modifier type */ } add_to_modifier_list(&linestyle->geometry_modifiers, new_m); @@ -1007,20 +1007,20 @@ void BKE_list_modifier_color_ramps(FreestyleLineStyle *linestyle, ListBase *list listbase->first = listbase->last = NULL; for (m = (LineStyleModifier *)linestyle->color_modifiers.first; m; m = m->next) { switch (m->type) { - case LS_MODIFIER_ALONG_STROKE: - color_ramp = ((LineStyleColorModifier_AlongStroke *)m)->color_ramp; - break; - case LS_MODIFIER_DISTANCE_FROM_CAMERA: - color_ramp = ((LineStyleColorModifier_DistanceFromCamera *)m)->color_ramp; - break; - case LS_MODIFIER_DISTANCE_FROM_OBJECT: - color_ramp = ((LineStyleColorModifier_DistanceFromObject *)m)->color_ramp; - break; - case LS_MODIFIER_MATERIAL: - color_ramp = ((LineStyleColorModifier_Material *)m)->color_ramp; - break; - default: - continue; + case LS_MODIFIER_ALONG_STROKE: + color_ramp = ((LineStyleColorModifier_AlongStroke *)m)->color_ramp; + break; + case LS_MODIFIER_DISTANCE_FROM_CAMERA: + color_ramp = ((LineStyleColorModifier_DistanceFromCamera *)m)->color_ramp; + break; + case LS_MODIFIER_DISTANCE_FROM_OBJECT: + color_ramp = ((LineStyleColorModifier_DistanceFromObject *)m)->color_ramp; + break; + case LS_MODIFIER_MATERIAL: + color_ramp = ((LineStyleColorModifier_Material *)m)->color_ramp; + break; + default: + continue; } link = (LinkData *) MEM_callocN( sizeof(LinkData), "link to color ramp"); link->data = color_ramp; diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c index a445d43da00..e14b51975c8 100644 --- a/source/blender/blenkernel/intern/material.c +++ b/source/blender/blenkernel/intern/material.c @@ -1430,8 +1430,8 @@ void ramp_blend(int type, float r_col[3], const float fac, const float col[3]) r_col[1] = facm * (r_col[1]) + fac * tmpg; r_col[2] = facm * (r_col[2]) + fac * tmpb; } + break; } - break; case MA_RAMP_SAT: { float rH, rS, rV; @@ -1441,8 +1441,8 @@ void ramp_blend(int type, float r_col[3], const float fac, const float col[3]) rgb_to_hsv(col[0], col[1], col[2], &colH, &colS, &colV); hsv_to_rgb(rH, (facm * rS + fac * colS), rV, r_col + 0, r_col + 1, r_col + 2); } + break; } - break; case MA_RAMP_VAL: { float rH, rS, rV; @@ -1450,8 +1450,8 @@ void ramp_blend(int type, float r_col[3], const float fac, const float col[3]) rgb_to_hsv(r_col[0], r_col[1], r_col[2], &rH, &rS, &rV); rgb_to_hsv(col[0], col[1], col[2], &colH, &colS, &colV); hsv_to_rgb(rH, rS, (facm * rV + fac * colV), r_col + 0, r_col + 1, r_col + 2); + break; } - break; case MA_RAMP_COLOR: { float rH, rS, rV; @@ -1465,8 +1465,8 @@ void ramp_blend(int type, float r_col[3], const float fac, const float col[3]) r_col[1] = facm * (r_col[1]) + fac * tmpg; r_col[2] = facm * (r_col[2]) + fac * tmpb; } + break; } - break; case MA_RAMP_SOFT: { float scr, scg, scb; @@ -1479,8 +1479,8 @@ void ramp_blend(int type, float r_col[3], const float fac, const float col[3]) r_col[0] = facm * (r_col[0]) + fac * (((1.0f - r_col[0]) * col[0] * (r_col[0])) + (r_col[0] * scr)); r_col[1] = facm * (r_col[1]) + fac * (((1.0f - r_col[1]) * col[1] * (r_col[1])) + (r_col[1] * scg)); r_col[2] = facm * (r_col[2]) + fac * (((1.0f - r_col[2]) * col[2] * (r_col[2])) + (r_col[2] * scb)); + break; } - break; case MA_RAMP_LINEAR: if (col[0] > 0.5f) r_col[0] = r_col[0] + fac * (2.0f * (col[0] - 0.5f)); diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index 386b50c7018..84dfa70abfc 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -525,60 +525,60 @@ bNodeSocket *nodeInsertSocket(bNodeTree *ntree, bNode *node, int in_out, const c const char *nodeStaticSocketType(int type, int subtype) { switch (type) { - case SOCK_FLOAT: - switch (subtype) { - case PROP_UNSIGNED: - return "NodeSocketFloatUnsigned"; - case PROP_PERCENTAGE: - return "NodeSocketFloatPercentage"; - case PROP_FACTOR: - return "NodeSocketFloatFactor"; - case PROP_ANGLE: - return "NodeSocketFloatAngle"; - case PROP_TIME: - return "NodeSocketFloatTime"; - case PROP_NONE: - default: - return "NodeSocketFloat"; - } - case SOCK_INT: - switch (subtype) { - case PROP_UNSIGNED: - return "NodeSocketIntUnsigned"; - case PROP_PERCENTAGE: - return "NodeSocketIntPercentage"; - case PROP_FACTOR: - return "NodeSocketIntFactor"; - case PROP_NONE: - default: - return "NodeSocketInt"; - } - case SOCK_BOOLEAN: - return "NodeSocketBool"; - case SOCK_VECTOR: - switch (subtype) { - case PROP_TRANSLATION: - return "NodeSocketVectorTranslation"; - case PROP_DIRECTION: - return "NodeSocketVectorDirection"; - case PROP_VELOCITY: - return "NodeSocketVectorVelocity"; - case PROP_ACCELERATION: - return "NodeSocketVectorAcceleration"; - case PROP_EULER: - return "NodeSocketVectorEuler"; - case PROP_XYZ: - return "NodeSocketVectorXYZ"; - case PROP_NONE: - default: - return "NodeSocketVector"; - } - case SOCK_RGBA: - return "NodeSocketColor"; - case SOCK_STRING: - return "NodeSocketString"; - case SOCK_SHADER: - return "NodeSocketShader"; + case SOCK_FLOAT: + switch (subtype) { + case PROP_UNSIGNED: + return "NodeSocketFloatUnsigned"; + case PROP_PERCENTAGE: + return "NodeSocketFloatPercentage"; + case PROP_FACTOR: + return "NodeSocketFloatFactor"; + case PROP_ANGLE: + return "NodeSocketFloatAngle"; + case PROP_TIME: + return "NodeSocketFloatTime"; + case PROP_NONE: + default: + return "NodeSocketFloat"; + } + case SOCK_INT: + switch (subtype) { + case PROP_UNSIGNED: + return "NodeSocketIntUnsigned"; + case PROP_PERCENTAGE: + return "NodeSocketIntPercentage"; + case PROP_FACTOR: + return "NodeSocketIntFactor"; + case PROP_NONE: + default: + return "NodeSocketInt"; + } + case SOCK_BOOLEAN: + return "NodeSocketBool"; + case SOCK_VECTOR: + switch (subtype) { + case PROP_TRANSLATION: + return "NodeSocketVectorTranslation"; + case PROP_DIRECTION: + return "NodeSocketVectorDirection"; + case PROP_VELOCITY: + return "NodeSocketVectorVelocity"; + case PROP_ACCELERATION: + return "NodeSocketVectorAcceleration"; + case PROP_EULER: + return "NodeSocketVectorEuler"; + case PROP_XYZ: + return "NodeSocketVectorXYZ"; + case PROP_NONE: + default: + return "NodeSocketVector"; + } + case SOCK_RGBA: + return "NodeSocketColor"; + case SOCK_STRING: + return "NodeSocketString"; + case SOCK_SHADER: + return "NodeSocketShader"; } return NULL; } @@ -586,60 +586,60 @@ const char *nodeStaticSocketType(int type, int subtype) const char *nodeStaticSocketInterfaceType(int type, int subtype) { switch (type) { - case SOCK_FLOAT: - switch (subtype) { - case PROP_UNSIGNED: - return "NodeSocketInterfaceFloatUnsigned"; - case PROP_PERCENTAGE: - return "NodeSocketInterfaceFloatPercentage"; - case PROP_FACTOR: - return "NodeSocketInterfaceFloatFactor"; - case PROP_ANGLE: - return "NodeSocketInterfaceFloatAngle"; - case PROP_TIME: - return "NodeSocketInterfaceFloatTime"; - case PROP_NONE: - default: - return "NodeSocketInterfaceFloat"; - } - case SOCK_INT: - switch (subtype) { - case PROP_UNSIGNED: - return "NodeSocketInterfaceIntUnsigned"; - case PROP_PERCENTAGE: - return "NodeSocketInterfaceIntPercentage"; - case PROP_FACTOR: - return "NodeSocketInterfaceIntFactor"; - case PROP_NONE: - default: - return "NodeSocketInterfaceInt"; - } - case SOCK_BOOLEAN: - return "NodeSocketInterfaceBool"; - case SOCK_VECTOR: - switch (subtype) { - case PROP_TRANSLATION: - return "NodeSocketInterfaceVectorTranslation"; - case PROP_DIRECTION: - return "NodeSocketInterfaceVectorDirection"; - case PROP_VELOCITY: - return "NodeSocketInterfaceVectorVelocity"; - case PROP_ACCELERATION: - return "NodeSocketInterfaceVectorAcceleration"; - case PROP_EULER: - return "NodeSocketInterfaceVectorEuler"; - case PROP_XYZ: - return "NodeSocketInterfaceVectorXYZ"; - case PROP_NONE: - default: - return "NodeSocketInterfaceVector"; - } - case SOCK_RGBA: - return "NodeSocketInterfaceColor"; - case SOCK_STRING: - return "NodeSocketInterfaceString"; - case SOCK_SHADER: - return "NodeSocketInterfaceShader"; + case SOCK_FLOAT: + switch (subtype) { + case PROP_UNSIGNED: + return "NodeSocketInterfaceFloatUnsigned"; + case PROP_PERCENTAGE: + return "NodeSocketInterfaceFloatPercentage"; + case PROP_FACTOR: + return "NodeSocketInterfaceFloatFactor"; + case PROP_ANGLE: + return "NodeSocketInterfaceFloatAngle"; + case PROP_TIME: + return "NodeSocketInterfaceFloatTime"; + case PROP_NONE: + default: + return "NodeSocketInterfaceFloat"; + } + case SOCK_INT: + switch (subtype) { + case PROP_UNSIGNED: + return "NodeSocketInterfaceIntUnsigned"; + case PROP_PERCENTAGE: + return "NodeSocketInterfaceIntPercentage"; + case PROP_FACTOR: + return "NodeSocketInterfaceIntFactor"; + case PROP_NONE: + default: + return "NodeSocketInterfaceInt"; + } + case SOCK_BOOLEAN: + return "NodeSocketInterfaceBool"; + case SOCK_VECTOR: + switch (subtype) { + case PROP_TRANSLATION: + return "NodeSocketInterfaceVectorTranslation"; + case PROP_DIRECTION: + return "NodeSocketInterfaceVectorDirection"; + case PROP_VELOCITY: + return "NodeSocketInterfaceVectorVelocity"; + case PROP_ACCELERATION: + return "NodeSocketInterfaceVectorAcceleration"; + case PROP_EULER: + return "NodeSocketInterfaceVectorEuler"; + case PROP_XYZ: + return "NodeSocketInterfaceVectorXYZ"; + case PROP_NONE: + default: + return "NodeSocketInterfaceVector"; + } + case SOCK_RGBA: + return "NodeSocketInterfaceColor"; + case SOCK_STRING: + return "NodeSocketInterfaceString"; + case SOCK_SHADER: + return "NodeSocketInterfaceShader"; } return NULL; } diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 2df78c4fb8a..1df64431824 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -1589,13 +1589,15 @@ void BKE_object_mat3_to_rot(Object *ob, float mat[3][3], bool use_compat) normalize_qt_qt(dquat, ob->dquat); invert_qt(dquat); mul_qt_qtqt(ob->quat, dquat, ob->quat); + break; } - break; case ROT_MODE_AXISANGLE: + { mat3_to_axis_angle(ob->rotAxis, &ob->rotAngle, mat); sub_v3_v3(ob->rotAxis, ob->drotAxis); ob->rotAngle -= ob->drotAngle; break; + } default: /* euler */ { float quat[4]; @@ -2724,10 +2726,8 @@ void BKE_object_handle_update_ex(Scene *scene, Object *ob, makeDerivedMesh(scene, ob, NULL, data_mask, 0); } #endif - + break; } - break; - case OB_ARMATURE: if (ob->id.lib && ob->proxy_from) { if (BKE_pose_copy_result(ob->pose, ob->proxy_from->pose) == false) { diff --git a/source/blender/blenkernel/intern/writeffmpeg.c b/source/blender/blenkernel/intern/writeffmpeg.c index f08a51e602c..110d67b3d47 100644 --- a/source/blender/blenkernel/intern/writeffmpeg.c +++ b/source/blender/blenkernel/intern/writeffmpeg.c @@ -1072,23 +1072,23 @@ int BKE_ffmpeg_start(struct Scene *scene, RenderData *rd, int rectx, int recty, specs.channels = c->channels; switch (av_get_packed_sample_fmt(c->sample_fmt)) { - case AV_SAMPLE_FMT_U8: - specs.format = AUD_FORMAT_U8; - break; - case AV_SAMPLE_FMT_S16: - specs.format = AUD_FORMAT_S16; - break; - case AV_SAMPLE_FMT_S32: - specs.format = AUD_FORMAT_S32; - break; - case AV_SAMPLE_FMT_FLT: - specs.format = AUD_FORMAT_FLOAT32; - break; - case AV_SAMPLE_FMT_DBL: - specs.format = AUD_FORMAT_FLOAT64; - break; - default: - return -31415; + case AV_SAMPLE_FMT_U8: + specs.format = AUD_FORMAT_U8; + break; + case AV_SAMPLE_FMT_S16: + specs.format = AUD_FORMAT_S16; + break; + case AV_SAMPLE_FMT_S32: + specs.format = AUD_FORMAT_S32; + break; + case AV_SAMPLE_FMT_FLT: + specs.format = AUD_FORMAT_FLOAT32; + break; + case AV_SAMPLE_FMT_DBL: + specs.format = AUD_FORMAT_FLOAT64; + break; + default: + return -31415; } specs.rate = rd->ffcodecdata.audio_mixrate; diff --git a/source/blender/blenlib/intern/DLRB_tree.c b/source/blender/blenlib/intern/DLRB_tree.c index cb47f07574d..31b4b7cd4a5 100644 --- a/source/blender/blenlib/intern/DLRB_tree.c +++ b/source/blender/blenlib/intern/DLRB_tree.c @@ -539,9 +539,8 @@ DLRBT_Node *BLI_dlrbTree_add(DLRBT_Tree *tree, DLRBT_Comparator_FP cmp_cb, parNode->left = node; node->parent = parNode; + break; } - break; - case 1: /* add new node as right child */ { node = new_cb(data); @@ -549,15 +548,14 @@ DLRBT_Node *BLI_dlrbTree_add(DLRBT_Tree *tree, DLRBT_Comparator_FP cmp_cb, parNode->right = node; node->parent = parNode; + break; } - break; - default: /* update the duplicate node as appropriate */ { if (update_cb) update_cb(parNode, data); + break; } - break; } } else { diff --git a/source/blender/compositor/intern/COM_ExecutionGroup.cpp b/source/blender/compositor/intern/COM_ExecutionGroup.cpp index e82bf2e21c8..51eaffaa31c 100644 --- a/source/blender/compositor/intern/COM_ExecutionGroup.cpp +++ b/source/blender/compositor/intern/COM_ExecutionGroup.cpp @@ -288,8 +288,8 @@ void ExecutionGroup::execute(ExecutionSystem *graph) delete hotspots[0]; MEM_freeN(chunkOrders); + break; } - break; case COM_TO_RULE_OF_THIRDS: { ChunkOrderHotspot *hotspots[9]; @@ -336,8 +336,8 @@ void ExecutionGroup::execute(ExecutionSystem *graph) delete hotspots[7]; delete hotspots[8]; MEM_freeN(chunkOrders); + break; } - break; case COM_TO_TOP_DOWN: default: break; diff --git a/source/blender/editors/animation/anim_channels_defines.c b/source/blender/editors/animation/anim_channels_defines.c index a441dce5656..b2c63addb87 100644 --- a/source/blender/editors/animation/anim_channels_defines.c +++ b/source/blender/editors/animation/anim_channels_defines.c @@ -2921,9 +2921,8 @@ short ANIM_channel_setting_get(bAnimContext *ac, bAnimListElem *ale, int setting return ((*val) & flag) == 0; else return ((*val) & flag) != 0; + break; } - break; - case sizeof(short): /* short pointer for setting */ { short *val = (short *)ptr; @@ -2932,9 +2931,8 @@ short ANIM_channel_setting_get(bAnimContext *ac, bAnimListElem *ale, int setting return ((*val) & flag) == 0; else return ((*val) & flag) != 0; + break; } - break; - case sizeof(char): /* char pointer for setting */ { char *val = (char *)ptr; @@ -2943,8 +2941,8 @@ short ANIM_channel_setting_get(bAnimContext *ac, bAnimListElem *ale, int setting return ((*val) & flag) == 0; else return ((*val) & flag) != 0; + break; } - break; } } } @@ -2994,22 +2992,20 @@ void ANIM_channel_setting_set(bAnimContext *ac, bAnimListElem *ale, int setting, { int *val = (int *)ptr; ACF_SETTING_SET(*val, flag, mode); + break; } - break; - case sizeof(short): /* short pointer for setting */ { short *val = (short *)ptr; ACF_SETTING_SET(*val, flag, mode); + break; } - break; - case sizeof(char): /* char pointer for setting */ { char *val = (char *)ptr; ACF_SETTING_SET(*val, flag, mode); + break; } - break; } } } @@ -3156,14 +3152,14 @@ void ANIM_channel_draw(bAnimContext *ac, bAnimListElem *ale, float yminc, float { SpaceAction *saction = (SpaceAction *)ac->sl; draw_sliders = (saction->flag & SACTION_SLIDERS); + break; } - break; case SPACE_IPO: { SpaceIpo *sipo = (SpaceIpo *)ac->sl; draw_sliders = (sipo->flag & SIPO_SLIDERS); + break; } - break; } } @@ -3546,14 +3542,14 @@ void ANIM_channel_draw_widgets(bContext *C, bAnimContext *ac, bAnimListElem *ale { SpaceAction *saction = (SpaceAction *)ac->sl; draw_sliders = (saction->flag & SACTION_SLIDERS); + break; } - break; case SPACE_IPO: { SpaceIpo *sipo = (SpaceIpo *)ac->sl; draw_sliders = (sipo->flag & SIPO_SLIDERS); + break; } - break; } } diff --git a/source/blender/editors/animation/anim_channels_edit.c b/source/blender/editors/animation/anim_channels_edit.c index 481430f37e4..59ae45e446a 100644 --- a/source/blender/editors/animation/anim_channels_edit.c +++ b/source/blender/editors/animation/anim_channels_edit.c @@ -94,23 +94,22 @@ void ANIM_set_active_channel(bAnimContext *ac, void *data, short datatype, int f bActionGroup *agrp = (bActionGroup *)ale->data; ACHANNEL_SET_FLAG(agrp, ACHANNEL_SETFLAG_CLEAR, AGRP_ACTIVE); + break; } - break; case ANIMTYPE_FCURVE: { FCurve *fcu = (FCurve *)ale->data; ACHANNEL_SET_FLAG(fcu, ACHANNEL_SETFLAG_CLEAR, FCURVE_ACTIVE); + break; } - break; case ANIMTYPE_NLATRACK: { NlaTrack *nlt = (NlaTrack *)ale->data; ACHANNEL_SET_FLAG(nlt, ACHANNEL_SETFLAG_CLEAR, NLATRACK_ACTIVE); + break; } - break; - case ANIMTYPE_FILLACTD: /* Action Expander */ case ANIMTYPE_DSMAT: /* Datablock AnimData Expanders */ case ANIMTYPE_DSLAM: @@ -131,8 +130,8 @@ void ANIM_set_active_channel(bAnimContext *ac, void *data, short datatype, int f if (ale->adt) { ACHANNEL_SET_FLAG(ale->adt, ACHANNEL_SETFLAG_CLEAR, ADT_UI_ACTIVE); } + break; } - break; } } @@ -143,21 +142,20 @@ void ANIM_set_active_channel(bAnimContext *ac, void *data, short datatype, int f { bActionGroup *agrp = (bActionGroup *)channel_data; agrp->flag |= AGRP_ACTIVE; + break; } - break; case ANIMTYPE_FCURVE: { FCurve *fcu = (FCurve *)channel_data; fcu->flag |= FCURVE_ACTIVE; + break; } - break; case ANIMTYPE_NLATRACK: { NlaTrack *nlt = (NlaTrack *)channel_data; nlt->flag |= NLATRACK_ACTIVE; + break; } - break; - case ANIMTYPE_FILLACTD: /* Action Expander */ case ANIMTYPE_DSMAT: /* Datablock AnimData Expanders */ case ANIMTYPE_DSLAM: @@ -177,8 +175,8 @@ void ANIM_set_active_channel(bAnimContext *ac, void *data, short datatype, int f if (ale && ale->adt) { ale->adt->flag |= ADT_UI_ACTIVE; } + break; } - break; } } @@ -256,9 +254,8 @@ void ANIM_deselect_anim_channels(bAnimContext *ac, void *data, short datatype, s { if ((ale->adt) && (ale->adt->flag & ADT_UI_SELECTED)) sel = ACHANNEL_SETFLAG_CLEAR; + break; } - break; - case ANIMTYPE_GPLAYER: if (ale->flag & GP_LAYER_SELECT) sel = ACHANNEL_SETFLAG_CLEAR; @@ -283,55 +280,54 @@ void ANIM_deselect_anim_channels(bAnimContext *ac, void *data, short datatype, s if (scene->adt) { ACHANNEL_SET_FLAG(scene, sel, ADT_UI_SELECTED); } + break; } - break; case ANIMTYPE_OBJECT: + { #if 0 /* for now, do not take object selection into account, since it gets too annoying */ - { - Base *base = (Base *)ale->data; - Object *ob = base->object; - - ACHANNEL_SET_FLAG(base, sel, SELECT); - ACHANNEL_SET_FLAG(ob, sel, SELECT); - - if (ob->adt) { - ACHANNEL_SET_FLAG(ob, sel, ADT_UI_SELECTED); - } + Base *base = (Base *)ale->data; + Object *ob = base->object; + + ACHANNEL_SET_FLAG(base, sel, SELECT); + ACHANNEL_SET_FLAG(ob, sel, SELECT); + + if (ob->adt) { + ACHANNEL_SET_FLAG(ob, sel, ADT_UI_SELECTED); } #endif break; + } case ANIMTYPE_GROUP: { bActionGroup *agrp = (bActionGroup *)ale->data; ACHANNEL_SET_FLAG(agrp, sel, AGRP_SELECTED); agrp->flag &= ~AGRP_ACTIVE; + break; } - break; case ANIMTYPE_FCURVE: { FCurve *fcu = (FCurve *)ale->data; ACHANNEL_SET_FLAG(fcu, sel, FCURVE_SELECTED); fcu->flag &= ~FCURVE_ACTIVE; + break; } - break; case ANIMTYPE_SHAPEKEY: { KeyBlock *kb = (KeyBlock *)ale->data; ACHANNEL_SET_FLAG(kb, sel, KEYBLOCK_SEL); + break; } - break; case ANIMTYPE_NLATRACK: { NlaTrack *nlt = (NlaTrack *)ale->data; ACHANNEL_SET_FLAG(nlt, sel, NLATRACK_SELECTED); nlt->flag &= ~NLATRACK_ACTIVE; + break; } - break; - case ANIMTYPE_FILLACTD: /* Action Expander */ case ANIMTYPE_DSMAT: /* Datablock AnimData Expanders */ case ANIMTYPE_DSLAM: @@ -354,24 +350,22 @@ void ANIM_deselect_anim_channels(bAnimContext *ac, void *data, short datatype, s ACHANNEL_SET_FLAG(ale->adt, sel, ADT_UI_SELECTED); ale->adt->flag &= ~ADT_UI_ACTIVE; } + break; } - break; - case ANIMTYPE_GPLAYER: { bGPDlayer *gpl = (bGPDlayer *)ale->data; ACHANNEL_SET_FLAG(gpl, sel, GP_LAYER_SELECT); + break; } - break; - case ANIMTYPE_MASKLAYER: { MaskLayer *masklay = (MaskLayer *)ale->data; ACHANNEL_SET_FLAG(masklay, sel, MASK_LAYERFLAG_SELECT); + break; } - break; } } @@ -801,23 +795,22 @@ static void rearrange_animchannel_add_to_islands(ListBase *islands, ListBase *sr is_sel = SEL_AGRP(agrp); is_untouchable = (agrp->flag & AGRP_TEMP) != 0; + break; } - break; case ANIMTYPE_FCURVE: { FCurve *fcu = (FCurve *)channel; is_sel = SEL_FCU(fcu); + break; } - break; case ANIMTYPE_NLATRACK: { NlaTrack *nlt = (NlaTrack *)channel; is_sel = SEL_NLT(nlt); + break; } - break; - default: printf("rearrange_animchannel_add_to_islands(): don't know how to handle channels of type %d\n", type); return; @@ -1435,9 +1428,8 @@ static int animchannels_delete_exec(bContext *C, wmOperator *UNUSED(op)) /* try to free F-Curve */ ANIM_fcurve_delete_from_animdata(&ac, adt, fcu); + break; } - break; - case ANIMTYPE_GPLAYER: { /* Grease Pencil layer */ @@ -1447,9 +1439,8 @@ static int animchannels_delete_exec(bContext *C, wmOperator *UNUSED(op)) /* try to delete the layer's data and the layer itself */ free_gpencil_frames(gpl); BLI_freelinkN(&gpd->layers, gpl); + break; } - break; - case ANIMTYPE_MASKLAYER: { /* Mask layer */ @@ -1458,8 +1449,8 @@ static int animchannels_delete_exec(bContext *C, wmOperator *UNUSED(op)) /* try to delete the layer's data and the layer itself */ BKE_mask_layer_remove(mask, masklay); + break; } - break; } } @@ -2131,8 +2122,8 @@ static void borderselect_anim_channels(bAnimContext *ac, rcti *rect, short selec /* always clear active flag after doing this */ agrp->flag &= ~AGRP_ACTIVE; + break; } - break; case ANIMTYPE_NLATRACK: { NlaTrack *nlt = (NlaTrack *)ale->data; @@ -2141,8 +2132,8 @@ static void borderselect_anim_channels(bAnimContext *ac, rcti *rect, short selec * currently adds complications when doing other stuff */ ACHANNEL_SET_FLAG(nlt, selectmode, NLATRACK_SELECTED); + break; } - break; } } @@ -2367,8 +2358,8 @@ static int mouse_anim_channels(bAnimContext *ac, float UNUSED(x), int channel_in } notifierFlags |= (ND_ANIMCHAN | NA_SELECTED); + break; } - break; case ANIMTYPE_OBJECT: { bDopeSheet *ads = (bDopeSheet *)ac->data; @@ -2406,9 +2397,8 @@ static int mouse_anim_channels(bAnimContext *ac, float UNUSED(x), int channel_in adt->flag |= ADT_UI_ACTIVE; notifierFlags |= (ND_ANIMCHAN | NA_SELECTED); + break; } - break; - case ANIMTYPE_FILLACTD: /* Action Expander */ case ANIMTYPE_DSMAT: /* Datablock AnimData Expanders */ case ANIMTYPE_DSLAM: @@ -2445,9 +2435,8 @@ static int mouse_anim_channels(bAnimContext *ac, float UNUSED(x), int channel_in } notifierFlags |= (ND_ANIMCHAN | NA_SELECTED); + break; } - break; - case ANIMTYPE_GROUP: { bActionGroup *agrp = (bActionGroup *)ale->data; @@ -2482,8 +2471,8 @@ static int mouse_anim_channels(bAnimContext *ac, float UNUSED(x), int channel_in ANIM_set_active_channel(ac, ac->data, ac->datatype, filter, NULL, ANIMTYPE_GROUP); notifierFlags |= (ND_ANIMCHAN | NA_SELECTED); + break; } - break; case ANIMTYPE_FCURVE: { FCurve *fcu = (FCurve *)ale->data; @@ -2504,8 +2493,8 @@ static int mouse_anim_channels(bAnimContext *ac, float UNUSED(x), int channel_in ANIM_set_active_channel(ac, ac->data, ac->datatype, filter, fcu, ANIMTYPE_FCURVE); notifierFlags |= (ND_ANIMCHAN | NA_SELECTED); + break; } - break; case ANIMTYPE_SHAPEKEY: { KeyBlock *kb = (KeyBlock *)ale->data; @@ -2522,8 +2511,8 @@ static int mouse_anim_channels(bAnimContext *ac, float UNUSED(x), int channel_in } notifierFlags |= (ND_ANIMCHAN | NA_SELECTED); + break; } - break; case ANIMTYPE_GPDATABLOCK: { bGPdata *gpd = (bGPdata *)ale->data; @@ -2534,8 +2523,8 @@ static int mouse_anim_channels(bAnimContext *ac, float UNUSED(x), int channel_in gpd->flag ^= GP_DATA_EXPAND; notifierFlags |= (ND_ANIMCHAN | NA_EDITED); + break; } - break; case ANIMTYPE_GPLAYER: { bGPDlayer *gpl = (bGPDlayer *)ale->data; @@ -2552,8 +2541,8 @@ static int mouse_anim_channels(bAnimContext *ac, float UNUSED(x), int channel_in } notifierFlags |= (ND_ANIMCHAN | NA_EDITED); + break; } - break; case ANIMTYPE_MASKDATABLOCK: { Mask *mask = (Mask *)ale->data; @@ -2564,8 +2553,8 @@ static int mouse_anim_channels(bAnimContext *ac, float UNUSED(x), int channel_in mask->flag ^= MASK_ANIMF_EXPAND; notifierFlags |= (ND_ANIMCHAN | NA_EDITED); + break; } - break; case ANIMTYPE_MASKLAYER: { MaskLayer *masklay = (MaskLayer *)ale->data; @@ -2582,8 +2571,8 @@ static int mouse_anim_channels(bAnimContext *ac, float UNUSED(x), int channel_in } notifierFlags |= (ND_ANIMCHAN | NA_EDITED); + break; } - break; default: if (G.debug & G_DEBUG) printf("Error: Invalid channel type in mouse_anim_channels()\n"); diff --git a/source/blender/editors/animation/anim_draw.c b/source/blender/editors/animation/anim_draw.c index 2e580a57a01..9e8800fd91e 100644 --- a/source/blender/editors/animation/anim_draw.c +++ b/source/blender/editors/animation/anim_draw.c @@ -126,17 +126,15 @@ void ANIM_timecode_string_from_frame(char *str, Scene *scene, int power, short t if (hours) sprintf(str, "%s%02d:%02d:%02d", neg, hours, minutes, seconds); else sprintf(str, "%s%02d:%02d", neg, minutes, seconds); } + break; } - break; - case USER_TIMECODE_SMPTE_MSF: { /* reduced SMPTE format that always shows minutes, seconds, frames. Hours only shown as needed. */ if (hours) sprintf(str, "%s%02d:%02d:%02d:%02d", neg, hours, minutes, seconds, frames); else sprintf(str, "%s%02d:%02d:%02d", neg, minutes, seconds, frames); + break; } - break; - case USER_TIMECODE_MILLISECONDS: { /* reduced SMPTE. Instead of frames, milliseconds are shown */ @@ -145,25 +143,23 @@ void ANIM_timecode_string_from_frame(char *str, Scene *scene, int power, short t if (hours) sprintf(str, "%s%02d:%02d:%0*.*f", neg, hours, minutes, s_pad, ms_dp, cfra); else sprintf(str, "%s%02d:%0*.*f", neg, minutes, s_pad, ms_dp, cfra); + break; } - break; - case USER_TIMECODE_SECONDS_ONLY: { /* only show the original seconds display */ /* round to whole numbers if power is >= 1 (i.e. scale is coarse) */ if (power <= 0) sprintf(str, "%.*f", 1 - power, raw_seconds); else sprintf(str, "%d", (int)floor(raw_seconds + GLA_PIXEL_OFS)); + break; } - break; - case USER_TIMECODE_SMPTE_FULL: default: { /* full SMPTE format */ sprintf(str, "%s%02d:%02d:%02d:%02d", neg, hours, minutes, seconds, frames); + break; } - break; } } else { diff --git a/source/blender/editors/animation/anim_filter.c b/source/blender/editors/animation/anim_filter.c index 41aeb92e182..91003674524 100644 --- a/source/blender/editors/animation/anim_filter.c +++ b/source/blender/editors/animation/anim_filter.c @@ -301,22 +301,20 @@ short ANIM_animdata_context_getdata(bAnimContext *ac) { SpaceAction *saction = (SpaceAction *)sl; ok = actedit_get_context(ac, saction); + break; } - break; - case SPACE_IPO: { SpaceIpo *sipo = (SpaceIpo *)sl; ok = graphedit_get_context(ac, sipo); + break; } - break; - case SPACE_NLA: { SpaceNla *snla = (SpaceNla *)sl; ok = nlaedit_get_context(ac, snla); + break; } - break; } } @@ -543,9 +541,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne */ ale->key_data = NULL; ale->datatype = ALE_ALL; + break; } - break; - case ANIMTYPE_SCENE: { Scene *sce = (Scene *)data; @@ -556,8 +553,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->datatype = ALE_SCE; ale->adt = BKE_animdata_from_id(data); + break; } - break; case ANIMTYPE_OBJECT: { Base *base = (Base *)data; @@ -569,8 +566,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->datatype = ALE_OB; ale->adt = BKE_animdata_from_id(&ob->id); + break; } - break; case ANIMTYPE_FILLACTD: { bAction *act = (bAction *)data; @@ -579,8 +576,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->key_data = act; ale->datatype = ALE_ACT; + break; } - break; case ANIMTYPE_FILLDRIVERS: { AnimData *adt = (AnimData *)data; @@ -590,9 +587,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne // XXX... drivers don't show summary for now ale->key_data = NULL; ale->datatype = ALE_NONE; + break; } - break; - case ANIMTYPE_DSMAT: { Material *ma = (Material *)data; @@ -604,8 +600,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->datatype = ALE_ACT; ale->adt = BKE_animdata_from_id(data); + break; } - break; case ANIMTYPE_DSLAM: { Lamp *la = (Lamp *)data; @@ -617,8 +613,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->datatype = ALE_ACT; ale->adt = BKE_animdata_from_id(data); + break; } - break; case ANIMTYPE_DSCAM: { Camera *ca = (Camera *)data; @@ -630,8 +626,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->datatype = ALE_ACT; ale->adt = BKE_animdata_from_id(data); + break; } - break; case ANIMTYPE_DSCUR: { Curve *cu = (Curve *)data; @@ -643,8 +639,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->datatype = ALE_ACT; ale->adt = BKE_animdata_from_id(data); + break; } - break; case ANIMTYPE_DSARM: { bArmature *arm = (bArmature *)data; @@ -656,8 +652,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->datatype = ALE_ACT; ale->adt = BKE_animdata_from_id(data); + break; } - break; case ANIMTYPE_DSMESH: { Mesh *me = (Mesh *)data; @@ -669,8 +665,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->datatype = ALE_ACT; ale->adt = BKE_animdata_from_id(data); + break; } - break; case ANIMTYPE_DSLAT: { Lattice *lt = (Lattice *)data; @@ -682,8 +678,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->datatype = ALE_ACT; ale->adt = BKE_animdata_from_id(data); + break; } - break; case ANIMTYPE_DSSPK: { Speaker *spk = (Speaker *)data; @@ -695,8 +691,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->datatype = ALE_ACT; ale->adt = BKE_animdata_from_id(data); + break; } - break; case ANIMTYPE_DSSKEY: { Key *key = (Key *)data; @@ -708,8 +704,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->datatype = ALE_ACT; ale->adt = BKE_animdata_from_id(data); + break; } - break; case ANIMTYPE_DSWOR: { World *wo = (World *)data; @@ -721,8 +717,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->datatype = ALE_ACT; ale->adt = BKE_animdata_from_id(data); + break; } - break; case ANIMTYPE_DSNTREE: { bNodeTree *ntree = (bNodeTree *)data; @@ -734,8 +730,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->datatype = ALE_ACT; ale->adt = BKE_animdata_from_id(data); + break; } - break; case ANIMTYPE_DSLINESTYLE: { FreestyleLineStyle *linestyle = (FreestyleLineStyle *)data; @@ -747,8 +743,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->datatype = ALE_ACT; ale->adt = BKE_animdata_from_id(data); + break; } - break; case ANIMTYPE_DSPART: { ParticleSettings *part = (ParticleSettings *)ale->data; @@ -760,8 +756,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->datatype = ALE_ACT; ale->adt = BKE_animdata_from_id(data); + break; } - break; case ANIMTYPE_DSTEX: { Tex *tex = (Tex *)data; @@ -773,9 +769,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->datatype = ALE_ACT; ale->adt = BKE_animdata_from_id(data); + break; } - break; - case ANIMTYPE_GROUP: { bActionGroup *agrp = (bActionGroup *)data; @@ -784,8 +779,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->key_data = NULL; ale->datatype = ALE_GROUP; + break; } - break; case ANIMTYPE_FCURVE: { FCurve *fcu = (FCurve *)data; @@ -794,9 +789,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->key_data = fcu; ale->datatype = ALE_FCURVE; + break; } - break; - case ANIMTYPE_SHAPEKEY: { KeyBlock *kb = (KeyBlock *)data; @@ -824,9 +818,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne } ale->datatype = (ale->key_data) ? ALE_FCURVE : ALE_NONE; } + break; } - break; - case ANIMTYPE_GPLAYER: { bGPDlayer *gpl = (bGPDlayer *)data; @@ -835,9 +828,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->key_data = NULL; ale->datatype = ALE_GPFRAME; + break; } - break; - case ANIMTYPE_MASKLAYER: { MaskLayer *masklay = (MaskLayer *)data; @@ -846,9 +838,8 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->key_data = NULL; ale->datatype = ALE_MASKLAY; + break; } - break; - case ANIMTYPE_NLATRACK: { NlaTrack *nlt = (NlaTrack *)data; @@ -857,15 +848,15 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->key_data = &nlt->strips; ale->datatype = ALE_NLASTRIP; + break; } - break; case ANIMTYPE_NLAACTION: { /* nothing to include for now... nothing editable from NLA-perspective here */ ale->key_data = NULL; ale->datatype = ALE_NONE; + break; } - break; } } @@ -1654,20 +1645,20 @@ static size_t animdata_filter_ds_textures(bAnimContext *ac, ListBase *anim_data, { Material *ma = (Material *)owner_id; mtex = (MTex **)(&ma->mtex); + break; } - break; case ID_LA: { Lamp *la = (Lamp *)owner_id; mtex = (MTex **)(&la->mtex); + break; } - break; case ID_WO: { World *wo = (World *)owner_id; mtex = (MTex **)(&wo->mtex); + break; } - break; default: { /* invalid/unsupported option */ @@ -1812,8 +1803,8 @@ static void animfilter_modifier_idpoin_cb(void *afm_ptr, Object *ob, ID **idpoin if (!(afm->ads->filterflag & ADS_FILTER_NOTEX)) { afm->items += animdata_filter_ds_texture(afm->ac, &afm->tmp_data, afm->ads, tex, owner_id, afm->filter_mode); } + break; } - break; /* TODO: images? */ } @@ -1920,8 +1911,8 @@ static size_t animdata_filter_ds_obdata(bAnimContext *ac, ListBase *anim_data, b type = ANIMTYPE_DSCAM; expanded = FILTER_CAM_OBJD(ca); + break; } - break; case OB_LAMP: /* ---------- Lamp ----------- */ { Lamp *la = (Lamp *)ob->data; @@ -1931,8 +1922,8 @@ static size_t animdata_filter_ds_obdata(bAnimContext *ac, ListBase *anim_data, b type = ANIMTYPE_DSLAM; expanded = FILTER_LAM_OBJD(la); + break; } - break; case OB_CURVE: /* ------- Curve ---------- */ case OB_SURF: /* ------- Nurbs Surface ---------- */ case OB_FONT: /* ------- Text Curve ---------- */ @@ -1944,8 +1935,8 @@ static size_t animdata_filter_ds_obdata(bAnimContext *ac, ListBase *anim_data, b type = ANIMTYPE_DSCUR; expanded = FILTER_CUR_OBJD(cu); + break; } - break; case OB_MBALL: /* ------- MetaBall ---------- */ { MetaBall *mb = (MetaBall *)ob->data; @@ -1955,8 +1946,8 @@ static size_t animdata_filter_ds_obdata(bAnimContext *ac, ListBase *anim_data, b type = ANIMTYPE_DSMBALL; expanded = FILTER_MBALL_OBJD(mb); + break; } - break; case OB_ARMATURE: /* ------- Armature ---------- */ { bArmature *arm = (bArmature *)ob->data; @@ -1966,8 +1957,8 @@ static size_t animdata_filter_ds_obdata(bAnimContext *ac, ListBase *anim_data, b type = ANIMTYPE_DSARM; expanded = FILTER_ARM_OBJD(arm); + break; } - break; case OB_MESH: /* ------- Mesh ---------- */ { Mesh *me = (Mesh *)ob->data; @@ -1977,8 +1968,8 @@ static size_t animdata_filter_ds_obdata(bAnimContext *ac, ListBase *anim_data, b type = ANIMTYPE_DSMESH; expanded = FILTER_MESH_OBJD(me); + break; } - break; case OB_LATTICE: /* ---- Lattice ---- */ { Lattice *lt = (Lattice *)ob->data; @@ -1988,16 +1979,16 @@ static size_t animdata_filter_ds_obdata(bAnimContext *ac, ListBase *anim_data, b type = ANIMTYPE_DSLAT; expanded = FILTER_LATTICE_OBJD(lt); + break; } - break; case OB_SPEAKER: /* ---------- Speaker ----------- */ { Speaker *spk = (Speaker *)ob->data; type = ANIMTYPE_DSSPK; expanded = FILTER_SPK_OBJD(spk); + break; } - break; } /* add object data animation channels */ @@ -2020,8 +2011,8 @@ static size_t animdata_filter_ds_obdata(bAnimContext *ac, ListBase *anim_data, b /* textures */ if (!(ads->filterflag & ADS_FILTER_NOTEX)) tmp_items += animdata_filter_ds_textures(ac, &tmp_data, ads, &la->id, filter_mode); + break; } - break; } } END_ANIMFILTER_SUBCHANNELS; @@ -2603,58 +2594,52 @@ size_t ANIM_animdata_filter(bAnimContext *ac, ListBase *anim_data, int filter_mo /* the check for the DopeSheet summary is included here since the summary works here too */ if (animdata_filter_dopesheet_summary(ac, anim_data, filter_mode, &items)) items += animfilter_action(ac, anim_data, ads, data, filter_mode, (ID *)obact); + break; } - break; - case ANIMCONT_SHAPEKEY: /* 'ShapeKey Editor' */ { /* the check for the DopeSheet summary is included here since the summary works here too */ if (animdata_filter_dopesheet_summary(ac, anim_data, filter_mode, &items)) items = animdata_filter_shapekey(ac, anim_data, data, filter_mode); + break; } - break; - case ANIMCONT_GPENCIL: { if (animdata_filter_dopesheet_summary(ac, anim_data, filter_mode, &items)) items = animdata_filter_gpencil(anim_data, data, filter_mode); + break; } - break; - case ANIMCONT_MASK: { if (animdata_filter_dopesheet_summary(ac, anim_data, filter_mode, &items)) items = animdata_filter_mask(anim_data, data, filter_mode); + break; } - break; - case ANIMCONT_DOPESHEET: /* 'DopeSheet Editor' */ { /* the DopeSheet editor is the primary place where the DopeSheet summaries are useful */ if (animdata_filter_dopesheet_summary(ac, anim_data, filter_mode, &items)) items += animdata_filter_dopesheet(ac, anim_data, data, filter_mode); + break; } - break; - case ANIMCONT_FCURVES: /* Graph Editor -> F-Curves/Animation Editing */ case ANIMCONT_DRIVERS: /* Graph Editor -> Drivers Editing */ case ANIMCONT_NLA: /* NLA Editor */ { /* all of these editors use the basic DopeSheet data for filtering options, but don't have all the same features */ items = animdata_filter_dopesheet(ac, anim_data, data, filter_mode); + break; } - break; - case ANIMCONT_CHANNEL: /* animation channel */ { bDopeSheet *ads = ac->ads; /* based on the channel type, filter relevant data for this */ items = animdata_filter_animchan(ac, anim_data, ads, data, filter_mode); + break; } - break; } - + /* remove any 'weedy' entries */ items = animdata_filter_remove_invalid(anim_data); diff --git a/source/blender/editors/animation/drivers.c b/source/blender/editors/animation/drivers.c index 8c49bee3058..df93da8b7c1 100644 --- a/source/blender/editors/animation/drivers.c +++ b/source/blender/editors/animation/drivers.c @@ -449,8 +449,8 @@ static char *get_driver_path_hack(bContext *C, PointerRNA *ptr, PropertyRNA *pro /* free old one */ MEM_freeN(basepath); } + break; } - break; } /* fix RNA pointer, as we've now changed the ID root by changing the paths */ diff --git a/source/blender/editors/animation/fmodifier_ui.c b/source/blender/editors/animation/fmodifier_ui.c index adea3bcdc31..5ceca478b47 100644 --- a/source/blender/editors/animation/fmodifier_ui.c +++ b/source/blender/editors/animation/fmodifier_ui.c @@ -242,8 +242,8 @@ static void draw_modifier__generator(uiLayout *layout, ID *id, FModifier *fcm, s else uiDefBut(block, LABEL, 1, ") ", 0, 0, 2 * UI_UNIT_X, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 0, ""); } + break; } - break; } } diff --git a/source/blender/editors/animation/keyframes_draw.c b/source/blender/editors/animation/keyframes_draw.c index d9d2180e184..4e6cc53f962 100644 --- a/source/blender/editors/animation/keyframes_draw.c +++ b/source/blender/editors/animation/keyframes_draw.c @@ -601,30 +601,27 @@ void draw_keyframe_shape(float x, float y, float xscale, float hsize, short sel, { if (sel) glColor4f(0.33f, 0.75f, 0.93f, alpha); else glColor4f(0.70f, 0.86f, 0.91f, alpha); + break; } - break; - case BEZT_KEYTYPE_EXTREME: /* redish frames for now */ { if (sel) glColor4f(0.95f, 0.5f, 0.5f, alpha); else glColor4f(0.91f, 0.70f, 0.80f, alpha); + break; } - break; - case BEZT_KEYTYPE_JITTER: /* greenish frames for now? */ { if (sel) glColor4f(0.38f, 0.75f, 0.26f, alpha); else glColor4f(0.58f, 0.90f, 0.46f, alpha); + break; } - break; - case BEZT_KEYTYPE_KEYFRAME: /* traditional yellowish frames for now */ default: { if (sel) UI_ThemeColorShadeAlpha(TH_STRIP_SELECT, 50, -255 * (1.0f - alpha)); else glColor4f(0.91f, 0.91f, 0.91f, alpha); + break; } - break; } glCallList(displist2); diff --git a/source/blender/editors/animation/keyframing.c b/source/blender/editors/animation/keyframing.c index 1638e4ce629..40273101ddf 100644 --- a/source/blender/editors/animation/keyframing.c +++ b/source/blender/editors/animation/keyframing.c @@ -1973,8 +1973,8 @@ short id_frame_has_keyframe(ID *id, float frame, short filter) /* only check keyframes in active action */ if (adt) return action_frame_has_keyframe(adt->action, frame, filter); + break; } - break; } diff --git a/source/blender/editors/animation/keyingsets.c b/source/blender/editors/animation/keyingsets.c index 07825f59c2f..ebe8dccc356 100644 --- a/source/blender/editors/animation/keyingsets.c +++ b/source/blender/editors/animation/keyingsets.c @@ -1004,8 +1004,8 @@ int ANIM_apply_keyingset(bContext *C, ListBase *dsources, bAction *act, KeyingSe // XXX: only object transforms? DAG_id_tag_update(&ob->id, OB_RECALC_OB | OB_RECALC_DATA | OB_RECALC_TIME); + break; } - break; } /* send notifiers for updates (this doesn't require context to work!) */ diff --git a/source/blender/editors/armature/pose_slide.c b/source/blender/editors/armature/pose_slide.c index 0ff0e0d498c..ec1662c7fa6 100644 --- a/source/blender/editors/armature/pose_slide.c +++ b/source/blender/editors/armature/pose_slide.c @@ -238,9 +238,8 @@ static void pose_slide_apply_val(tPoseSlideOp *pso, FCurve *fcu, float *val) while (iters-- > 0) { (*val) = (-((sVal * w2) + (eVal * w1)) + ((*val) * 6.0f) ) / 5.0f; } + break; } - break; - case POSESLIDE_RELAX: /* make the current pose more like its surrounding ones */ { /* perform a weighted average here, favoring the middle pose @@ -252,16 +251,15 @@ static void pose_slide_apply_val(tPoseSlideOp *pso, FCurve *fcu, float *val) while (iters-- > 0) { (*val) = ( ((sVal * w2) + (eVal * w1)) + ((*val) * 5.0f) ) / 6.0f; } + break; } - break; - case POSESLIDE_BREAKDOWN: /* make the current pose slide around between the endpoints */ { /* perform simple linear interpolation - coefficient for start must come from pso->percentage... */ /* TODO: make this use some kind of spline interpolation instead? */ (*val) = ((sVal * w2) + (eVal * w1)); + break; } - break; } } @@ -327,8 +325,8 @@ static void pose_slide_apply_props(tPoseSlideOp *pso, tPChanFCurveLink *pfl) float tval = RNA_property_float_get(&ptr, prop); pose_slide_apply_val(pso, fcu, &tval); RNA_property_float_set(&ptr, prop, tval); + break; } - break; case PROP_BOOLEAN: case PROP_ENUM: case PROP_INT: @@ -336,8 +334,8 @@ static void pose_slide_apply_props(tPoseSlideOp *pso, tPChanFCurveLink *pfl) float tval = (float)RNA_property_int_get(&ptr, prop); pose_slide_apply_val(pso, fcu, &tval); RNA_property_int_set(&ptr, prop, (int)tval); + break; } - break; default: /* cannot handle */ //printf("Cannot Pose Slide non-numerical property\n"); @@ -672,9 +670,8 @@ static int pose_slide_modal(bContext *C, wmOperator *op, const wmEvent *event) /* apply... */ pose_slide_apply(C, pso); + break; } - break; - default: /* unhandled event (maybe it was some view manip? */ /* allow to pass through */ return OPERATOR_RUNNING_MODAL | OPERATOR_PASS_THROUGH; diff --git a/source/blender/editors/gpencil/drawgpencil.c b/source/blender/editors/gpencil/drawgpencil.c index 50c348a015f..bb0a753d9c6 100644 --- a/source/blender/editors/gpencil/drawgpencil.c +++ b/source/blender/editors/gpencil/drawgpencil.c @@ -706,8 +706,8 @@ void draw_gpencil_2dimage(const bContext *C) wmOrtho2(ar->v2d.cur.xmin, ar->v2d.cur.xmax, ar->v2d.cur.ymin, ar->v2d.cur.ymax); dflag |= GP_DRAWDATA_ONLYV2D | GP_DRAWDATA_IEDITHACK; + break; } - break; case SPACE_SEQ: /* sequence */ { /* just draw using standard scaling (settings here are currently ignored anyways) */ @@ -720,8 +720,8 @@ void draw_gpencil_2dimage(const bContext *C) * and everything moved to standard View2d */ dflag |= GP_DRAWDATA_ONLYV2D; + break; } - break; default: /* for spacetype not yet handled */ offsx = 0; offsy = 0; diff --git a/source/blender/editors/gpencil/gpencil_edit.c b/source/blender/editors/gpencil/gpencil_edit.c index 2d24b34e60b..99157b074fd 100644 --- a/source/blender/editors/gpencil/gpencil_edit.c +++ b/source/blender/editors/gpencil/gpencil_edit.c @@ -112,9 +112,8 @@ bGPdata **gpencil_data_get_pointers(const bContext *C, PointerRNA *ptr) if (ptr) RNA_id_pointer_create(&ob->id, ptr); return &ob->gpd; } + break; } - break; - case SPACE_NODE: /* Nodes Editor */ { SpaceNode *snode = (SpaceNode *)CTX_wm_space_data(C); @@ -125,13 +124,10 @@ bGPdata **gpencil_data_get_pointers(const bContext *C, PointerRNA *ptr) if (ptr) RNA_id_pointer_create(&snode->nodetree->id, ptr); return &snode->nodetree->gpd; } - else { - /* even when there is no node-tree, don't allow this to flow to scene */ - return NULL; - } + + /* even when there is no node-tree, don't allow this to flow to scene */ + return NULL; } - break; - case SPACE_SEQ: /* Sequencer */ { SpaceSeq *sseq = (SpaceSeq *)CTX_wm_space_data(C); @@ -141,8 +137,6 @@ bGPdata **gpencil_data_get_pointers(const bContext *C, PointerRNA *ptr) if (ptr) RNA_pointer_create(screen_id, &RNA_SpaceSequenceEditor, sseq, ptr); return &sseq->gpd; } - break; - case SPACE_IMAGE: /* Image/UV Editor */ { SpaceImage *sima = (SpaceImage *)CTX_wm_space_data(C); @@ -152,8 +146,6 @@ bGPdata **gpencil_data_get_pointers(const bContext *C, PointerRNA *ptr) if (ptr) RNA_pointer_create(screen_id, &RNA_SpaceImageEditor, sima, ptr); return &sima->gpd; } - break; - case SPACE_CLIP: /* Nodes Editor */ { SpaceClip *sc = (SpaceClip *)CTX_wm_space_data(C); @@ -178,9 +170,8 @@ bGPdata **gpencil_data_get_pointers(const bContext *C, PointerRNA *ptr) return &clip->gpd; } } + break; } - break; - default: /* unsupported space */ return NULL; } diff --git a/source/blender/editors/gpencil/gpencil_paint.c b/source/blender/editors/gpencil/gpencil_paint.c index dc5e12df766..4c5727f16ed 100644 --- a/source/blender/editors/gpencil/gpencil_paint.c +++ b/source/blender/editors/gpencil/gpencil_paint.c @@ -1084,9 +1084,8 @@ static int gp_session_initdata(bContext *C, tGPsdata *p) printf("Error: 3D-View active region doesn't have any region data, so cannot be drawable\n"); return 0; } + break; } - break; - case SPACE_NODE: { /* SpaceNode *snode = curarea->spacedata.first; */ @@ -1095,8 +1094,8 @@ static int gp_session_initdata(bContext *C, tGPsdata *p) p->sa = curarea; p->ar = ar; p->v2d = &ar->v2d; + break; } - break; case SPACE_SEQ: { SpaceSeq *sseq = curarea->spacedata.first; @@ -1113,8 +1112,8 @@ static int gp_session_initdata(bContext *C, tGPsdata *p) printf("Error: In active view (sequencer), active mode doesn't support Grease Pencil\n"); return 0; } + break; } - break; case SPACE_IMAGE: { /* SpaceImage *sima = curarea->spacedata.first; */ @@ -1123,8 +1122,8 @@ static int gp_session_initdata(bContext *C, tGPsdata *p) p->sa = curarea; p->ar = ar; p->v2d = &ar->v2d; + break; } - break; case SPACE_CLIP: { SpaceClip *sc = curarea->spacedata.first; @@ -1151,9 +1150,8 @@ static int gp_session_initdata(bContext *C, tGPsdata *p) p->imat[3][0] -= marker->pos[0]; p->imat[3][1] -= marker->pos[1]; } + break; } - break; - /* unsupported views */ default: { @@ -1162,7 +1160,6 @@ static int gp_session_initdata(bContext *C, tGPsdata *p) printf("Error: Active view not appropriate for Grease Pencil drawing\n"); return 0; } - break; } /* get gp-data */ @@ -1295,21 +1292,18 @@ static void gp_paint_initstroke(tGPsdata *p, short paintmode) case SPACE_VIEW3D: { p->gpd->sbuffer_sflag |= GP_STROKE_3DSPACE; + break; } - break; - case SPACE_NODE: { p->gpd->sbuffer_sflag |= GP_STROKE_2DSPACE; + break; } - break; - case SPACE_SEQ: { p->gpd->sbuffer_sflag |= GP_STROKE_2DSPACE; + break; } - break; - case SPACE_IMAGE: { SpaceImage *sima = (SpaceImage *)p->sa->spacedata.first; @@ -1324,16 +1318,16 @@ static void gp_paint_initstroke(tGPsdata *p, short paintmode) p->gpd->sbuffer_sflag &= ~GP_STROKE_2DSPACE; p->gpd->flag &= ~GP_DATA_VIEWALIGN; } - else + else { p->gpd->sbuffer_sflag |= GP_STROKE_2DSPACE; + } + break; } - break; - case SPACE_CLIP: { p->gpd->sbuffer_sflag |= GP_STROKE_2DSPACE; + break; } - break; } } } diff --git a/source/blender/editors/interface/view2d.c b/source/blender/editors/interface/view2d.c index fe5b129e938..f656d22fc64 100644 --- a/source/blender/editors/interface/view2d.c +++ b/source/blender/editors/interface/view2d.c @@ -209,9 +209,8 @@ void UI_view2d_region_reinit(View2D *v2d, short type, int winx, int winy) } /* scrollers - should we have these by default? */ /* XXX for now, we don't override this, or set it either! */ + break; } - break; - /* 'list/channel view' - zoom, aspect ratio, and alignment restrictions are set here */ case V2D_COMMONVIEW_LIST: { @@ -225,9 +224,8 @@ void UI_view2d_region_reinit(View2D *v2d, short type, int winx, int winy) tot_changed = do_init; /* scroller settings are currently not set here... that is left for regions... */ + break; } - break; - /* 'stack view' - practically the same as list/channel view, except is located in the pos y half instead. * zoom, aspect ratio, and alignment restrictions are set here */ case V2D_COMMONVIEW_STACK: @@ -242,9 +240,8 @@ void UI_view2d_region_reinit(View2D *v2d, short type, int winx, int winy) tot_changed = do_init; /* scroller settings are currently not set here... that is left for regions... */ + break; } - break; - /* 'header' regions - zoom, aspect ratio, alignment, and panning restrictions are set here */ case V2D_COMMONVIEW_HEADER: { @@ -272,10 +269,8 @@ void UI_view2d_region_reinit(View2D *v2d, short type, int winx, int winy) /* absolutely no scrollers allowed */ v2d->scroll = 0; - + break; } - break; - /* panels view, with horizontal/vertical align */ case V2D_COMMONVIEW_PANELS_UI: { @@ -308,9 +303,8 @@ void UI_view2d_region_reinit(View2D *v2d, short type, int winx, int winy) v2d->cur.ymax = 0.0f; v2d->cur.ymin = (-winy) * panelzoom; } + break; } - break; - /* other view types are completely defined using their own settings already */ default: /* we don't do anything here, as settings should be fine, but just make sure that rect */ @@ -1739,9 +1733,8 @@ void UI_view2d_scrollers_draw(const bContext *C, View2D *v2d, View2DScrollers *v fac2 = fac2 - time; scroll_printstr(scene, fac, h, time + (float)FPS * fac2 / 100.0f, grid->powerx, V2D_UNIT_SECONDSSEQ, 'h'); + break; } - break; - case V2D_UNIT_DEGREES: /* Graph Editor for rotation Drivers */ /* HACK: although we're drawing horizontal, we make this draw as 'vertical', just to get degree signs */ scroll_printstr(scene, fac, h, val, grid->powerx, V2D_UNIT_DEGREES, 'v'); diff --git a/source/blender/editors/interface/view2d_ops.c b/source/blender/editors/interface/view2d_ops.c index e12817262f8..772bd6fe671 100644 --- a/source/blender/editors/interface/view2d_ops.c +++ b/source/blender/editors/interface/view2d_ops.c @@ -247,8 +247,8 @@ static int view_pan_modal(bContext *C, wmOperator *op, const wmEvent *event) vpd->lasty = event->y; view_pan_apply(op); + break; } - break; /* XXX - Mode switching isn't implemented. See comments in 36818. * switch to zoom */ #if 0 @@ -1674,9 +1674,8 @@ static int scroller_activate_modal(bContext *C, wmOperator *op, const wmEvent *e vsm->lasty = event->y; scroller_activate_apply(C, op); + break; } - break; - case LEFTMOUSE: case MIDDLEMOUSE: if (event->val == KM_RELEASE) { diff --git a/source/blender/editors/object/object_lattice.c b/source/blender/editors/object/object_lattice.c index 0de468bac43..fbb17946454 100644 --- a/source/blender/editors/object/object_lattice.c +++ b/source/blender/editors/object/object_lattice.c @@ -670,8 +670,8 @@ static int lattice_flip_exec(bContext *C, wmOperator *op) } } } + break; } - break; case LATTICE_FLIP_V: { int u, v, w; @@ -691,8 +691,8 @@ static int lattice_flip_exec(bContext *C, wmOperator *op) } } } + break; } - break; case LATTICE_FLIP_W: { int u, v, w; @@ -711,9 +711,8 @@ static int lattice_flip_exec(bContext *C, wmOperator *op) } } } + break; } - break; - default: /* shouldn't happen, but just in case */ break; } diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c index 75c1f956f1b..f6fc21f94f5 100644 --- a/source/blender/editors/object/object_relations.c +++ b/source/blender/editors/object/object_relations.c @@ -494,23 +494,21 @@ void ED_object_parent_clear(Object *ob, int type) /* clear parenting relationship completely */ ob->parent = NULL; + break; } - break; - case CLEAR_PARENT_KEEP_TRANSFORM: { /* remove parent, and apply the parented transform result as object's local transforms */ ob->parent = NULL; BKE_object_apply_mat4(ob, ob->obmat, TRUE, FALSE); + break; } - break; - case CLEAR_PARENT_INVERSE: { /* object stays parented, but the parent inverse (i.e. offset from parent to retain binding state) is cleared */ unit_m4(ob->parentinv); + break; } - break; } DAG_id_tag_update(&ob->id, OB_RECALC_OB | OB_RECALC_DATA | OB_RECALC_TIME); diff --git a/source/blender/editors/render/render_shading.c b/source/blender/editors/render/render_shading.c index 3cdc2c771fc..49ecfe2940e 100644 --- a/source/blender/editors/render/render_shading.c +++ b/source/blender/editors/render/render_shading.c @@ -1066,21 +1066,21 @@ static int freestyle_modifier_remove_exec(bContext *C, wmOperator *op) } switch (freestyle_get_modifier_type(&ptr)) { - case LS_MODIFIER_TYPE_COLOR: - BKE_remove_linestyle_color_modifier(lineset->linestyle, modifier); - break; - case LS_MODIFIER_TYPE_ALPHA: - BKE_remove_linestyle_alpha_modifier(lineset->linestyle, modifier); - break; - case LS_MODIFIER_TYPE_THICKNESS: - BKE_remove_linestyle_thickness_modifier(lineset->linestyle, modifier); - break; - case LS_MODIFIER_TYPE_GEOMETRY: - BKE_remove_linestyle_geometry_modifier(lineset->linestyle, modifier); - break; - default: - BKE_report(op->reports, RPT_ERROR, "The object the data pointer refers to is not a valid modifier"); - return OPERATOR_CANCELLED; + case LS_MODIFIER_TYPE_COLOR: + BKE_remove_linestyle_color_modifier(lineset->linestyle, modifier); + break; + case LS_MODIFIER_TYPE_ALPHA: + BKE_remove_linestyle_alpha_modifier(lineset->linestyle, modifier); + break; + case LS_MODIFIER_TYPE_THICKNESS: + BKE_remove_linestyle_thickness_modifier(lineset->linestyle, modifier); + break; + case LS_MODIFIER_TYPE_GEOMETRY: + BKE_remove_linestyle_geometry_modifier(lineset->linestyle, modifier); + break; + default: + BKE_report(op->reports, RPT_ERROR, "The object the data pointer refers to is not a valid modifier"); + return OPERATOR_CANCELLED; } WM_event_add_notifier(C, NC_SCENE | ND_RENDER_OPTIONS, scene); @@ -1116,21 +1116,21 @@ static int freestyle_modifier_copy_exec(bContext *C, wmOperator *op) } switch (freestyle_get_modifier_type(&ptr)) { - case LS_MODIFIER_TYPE_COLOR: - BKE_copy_linestyle_color_modifier(lineset->linestyle, modifier); - break; - case LS_MODIFIER_TYPE_ALPHA: - BKE_copy_linestyle_alpha_modifier(lineset->linestyle, modifier); - break; - case LS_MODIFIER_TYPE_THICKNESS: - BKE_copy_linestyle_thickness_modifier(lineset->linestyle, modifier); - break; - case LS_MODIFIER_TYPE_GEOMETRY: - BKE_copy_linestyle_geometry_modifier(lineset->linestyle, modifier); - break; - default: - BKE_report(op->reports, RPT_ERROR, "The object the data pointer refers to is not a valid modifier"); - return OPERATOR_CANCELLED; + case LS_MODIFIER_TYPE_COLOR: + BKE_copy_linestyle_color_modifier(lineset->linestyle, modifier); + break; + case LS_MODIFIER_TYPE_ALPHA: + BKE_copy_linestyle_alpha_modifier(lineset->linestyle, modifier); + break; + case LS_MODIFIER_TYPE_THICKNESS: + BKE_copy_linestyle_thickness_modifier(lineset->linestyle, modifier); + break; + case LS_MODIFIER_TYPE_GEOMETRY: + BKE_copy_linestyle_geometry_modifier(lineset->linestyle, modifier); + break; + default: + BKE_report(op->reports, RPT_ERROR, "The object the data pointer refers to is not a valid modifier"); + return OPERATOR_CANCELLED; } WM_event_add_notifier(C, NC_SCENE | ND_RENDER_OPTIONS, scene); @@ -1167,21 +1167,21 @@ static int freestyle_modifier_move_exec(bContext *C, wmOperator *op) } switch (freestyle_get_modifier_type(&ptr)) { - case LS_MODIFIER_TYPE_COLOR: - BKE_move_linestyle_color_modifier(lineset->linestyle, modifier, dir); - break; - case LS_MODIFIER_TYPE_ALPHA: - BKE_move_linestyle_alpha_modifier(lineset->linestyle, modifier, dir); - break; - case LS_MODIFIER_TYPE_THICKNESS: - BKE_move_linestyle_thickness_modifier(lineset->linestyle, modifier, dir); - break; - case LS_MODIFIER_TYPE_GEOMETRY: - BKE_move_linestyle_geometry_modifier(lineset->linestyle, modifier, dir); - break; - default: - BKE_report(op->reports, RPT_ERROR, "The object the data pointer refers to is not a valid modifier"); - return OPERATOR_CANCELLED; + case LS_MODIFIER_TYPE_COLOR: + BKE_move_linestyle_color_modifier(lineset->linestyle, modifier, dir); + break; + case LS_MODIFIER_TYPE_ALPHA: + BKE_move_linestyle_alpha_modifier(lineset->linestyle, modifier, dir); + break; + case LS_MODIFIER_TYPE_THICKNESS: + BKE_move_linestyle_thickness_modifier(lineset->linestyle, modifier, dir); + break; + case LS_MODIFIER_TYPE_GEOMETRY: + BKE_move_linestyle_geometry_modifier(lineset->linestyle, modifier, dir); + break; + default: + BKE_report(op->reports, RPT_ERROR, "The object the data pointer refers to is not a valid modifier"); + return OPERATOR_CANCELLED; } WM_event_add_notifier(C, NC_SCENE | ND_RENDER_OPTIONS, scene); diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c index c70841ffe82..0ef5b1561f1 100644 --- a/source/blender/editors/screen/screen_ops.c +++ b/source/blender/editors/screen/screen_ops.c @@ -2463,8 +2463,8 @@ static int area_join_modal(bContext *C, wmOperator *op, const wmEvent *event) WM_event_add_notifier(C, NC_WINDOW, NULL); } } + break; } - break; case LEFTMOUSE: if (event->val == KM_RELEASE) { ED_area_tag_redraw(jd->sa1); diff --git a/source/blender/editors/space_action/action_draw.c b/source/blender/editors/space_action/action_draw.c index 4b1954c8889..b5f6fa9a23e 100644 --- a/source/blender/editors/space_action/action_draw.c +++ b/source/blender/editors/space_action/action_draw.c @@ -226,39 +226,35 @@ void draw_channel_strips(bAnimContext *ac, SpaceAction *saction, ARegion *ar) { /* reddish color from NLA */ UI_ThemeColor4(TH_ANIM_ACTIVE); + break; } - break; - case ANIMTYPE_SCENE: case ANIMTYPE_OBJECT: { if (sel) glColor4ub(col1b[0], col1b[1], col1b[2], 0x45); else glColor4ub(col1b[0], col1b[1], col1b[2], 0x22); + break; } - break; - case ANIMTYPE_FILLACTD: case ANIMTYPE_DSSKEY: case ANIMTYPE_DSWOR: { if (sel) glColor4ub(col2b[0], col2b[1], col2b[2], 0x45); else glColor4ub(col2b[0], col2b[1], col2b[2], 0x22); + break; } - break; - case ANIMTYPE_GROUP: { if (sel) glColor4ub(col1a[0], col1a[1], col1a[2], 0x22); else glColor4ub(col2a[0], col2a[1], col2a[2], 0x22); + break; } - break; - default: { if (sel) glColor4ub(col1[0], col1[1], col1[2], 0x22); else glColor4ub(col2[0], col2[1], col2[2], 0x22); + break; } - break; } /* draw region twice: firstly backdrop, then the current range */ diff --git a/source/blender/editors/space_action/action_select.c b/source/blender/editors/space_action/action_select.c index eb755e162a3..9d124cf08ee 100644 --- a/source/blender/editors/space_action/action_select.c +++ b/source/blender/editors/space_action/action_select.c @@ -1079,26 +1079,26 @@ static void mouse_action_keys(bAnimContext *ac, const int mval[2], short select_ { Scene *scene = (Scene *)ale->key_data; scene_to_keylist(ads, scene, &anim_keys, NULL); + break; } - break; case ALE_OB: { Object *ob = (Object *)ale->key_data; ob_to_keylist(ads, ob, &anim_keys, NULL); + break; } - break; case ALE_ACT: { bAction *act = (bAction *)ale->key_data; action_to_keylist(adt, act, &anim_keys, NULL); + break; } - break; case ALE_FCURVE: { FCurve *fcu = (FCurve *)ale->key_data; fcurve_to_keylist(adt, fcu, &anim_keys, NULL); + break; } - break; } } else if (ale->type == ANIMTYPE_SUMMARY) { diff --git a/source/blender/editors/space_clip/space_clip.c b/source/blender/editors/space_clip/space_clip.c index 2cbb2373be8..e6aff9d4d4f 100644 --- a/source/blender/editors/space_clip/space_clip.c +++ b/source/blender/editors/space_clip/space_clip.c @@ -1353,8 +1353,8 @@ static void clip_header_area_listener(bScreen *UNUSED(sc), ScrArea *UNUSED(sa), // if (sc->mode == SC_MODE_MASKEDIT) { ED_region_tag_redraw(ar); + break; } - break; } break; } diff --git a/source/blender/editors/space_graph/graph_buttons.c b/source/blender/editors/space_graph/graph_buttons.c index 8f9893e3bce..a81c0d6dfd6 100644 --- a/source/blender/editors/space_graph/graph_buttons.c +++ b/source/blender/editors/space_graph/graph_buttons.c @@ -383,8 +383,8 @@ static void do_graph_region_driver_buttons(bContext *C, void *UNUSED(arg), int e { /* rebuild depsgraph for the new deps */ DAG_relations_tag_update(bmain); + break; } - break; } /* default for now */ diff --git a/source/blender/editors/space_graph/space_graph.c b/source/blender/editors/space_graph/space_graph.c index 765c61b5bed..25101d89f1d 100644 --- a/source/blender/editors/space_graph/space_graph.c +++ b/source/blender/editors/space_graph/space_graph.c @@ -518,15 +518,13 @@ static void graph_refresh(const bContext *C, ScrArea *sa) switch (sipo->mode) { case SIPO_MODE_ANIMATION: /* all animation */ { - + break; } - break; case SIPO_MODE_DRIVERS: /* drivers only */ { - + break; } - break; } /* region updates? */ @@ -563,11 +561,12 @@ static void graph_refresh(const bContext *C, ScrArea *sa) /* set color of curve here */ switch (fcu->color_mode) { case FCURVE_COLOR_CUSTOM: + { /* User has defined a custom color for this curve already (we assume it's not going to cause clashes with text colors), * which should be left alone... Nothing needs to be done here. */ break; - + } case FCURVE_COLOR_AUTO_RGB: { /* F-Curve's array index is automatically mapped to RGB values. This works best of 3-value vectors. @@ -590,9 +589,8 @@ static void graph_refresh(const bContext *C, ScrArea *sa) col[0] = 0.3f; col[1] = 0.8f; col[2] = 1.0f; break; } + break; } - break; - case FCURVE_COLOR_AUTO_RAINBOW: default: { @@ -600,8 +598,8 @@ static void graph_refresh(const bContext *C, ScrArea *sa) * of current item index + total items to determine some RGB color */ getcolor_fcurve_rainbow(i, items, fcu->color); + break; } - break; } } diff --git a/source/blender/editors/space_nla/nla_buttons.c b/source/blender/editors/space_nla/nla_buttons.c index 9206f3f024a..4cda92fbe07 100644 --- a/source/blender/editors/space_nla/nla_buttons.c +++ b/source/blender/editors/space_nla/nla_buttons.c @@ -125,9 +125,8 @@ static int nla_panel_context(const bContext *C, PointerRNA *adt_ptr, PointerRNA } found = 1; + break; } - break; - case ANIMTYPE_SCENE: /* Top-Level Widgets doubling up as datablocks */ case ANIMTYPE_OBJECT: case ANIMTYPE_DSMAT: /* Datablock AnimData Expanders */ @@ -167,8 +166,8 @@ static int nla_panel_context(const bContext *C, PointerRNA *adt_ptr, PointerRNA */ found = -1; } + break; } - break; } if (found > 0) diff --git a/source/blender/editors/space_nla/nla_channels.c b/source/blender/editors/space_nla/nla_channels.c index bf914a05620..defe842a794 100644 --- a/source/blender/editors/space_nla/nla_channels.c +++ b/source/blender/editors/space_nla/nla_channels.c @@ -119,8 +119,8 @@ static int mouse_nla_channels(bAnimContext *ac, float x, int channel_index, shor } notifierFlags |= (ND_ANIMCHAN | NA_SELECTED); + break; } - break; case ANIMTYPE_OBJECT: { bDopeSheet *ads = (bDopeSheet *)ac->data; @@ -161,9 +161,8 @@ static int mouse_nla_channels(bAnimContext *ac, float x, int channel_index, shor /* notifiers - channel was selected */ notifierFlags |= (ND_ANIMCHAN | NA_SELECTED); } + break; } - break; - case ANIMTYPE_FILLACTD: /* Action Expander */ case ANIMTYPE_DSMAT: /* Datablock AnimData Expanders */ case ANIMTYPE_DSLAM: @@ -200,9 +199,8 @@ static int mouse_nla_channels(bAnimContext *ac, float x, int channel_index, shor } notifierFlags |= (ND_ANIMCHAN | NA_SELECTED); + break; } - break; - case ANIMTYPE_NLATRACK: { NlaTrack *nlt = (NlaTrack *)ale->data; @@ -260,8 +258,8 @@ static int mouse_nla_channels(bAnimContext *ac, float x, int channel_index, shor /* notifier flags - channel was selected */ notifierFlags |= (ND_ANIMCHAN | NA_SELECTED); } + break; } - break; case ANIMTYPE_NLAACTION: { AnimData *adt = BKE_animdata_from_id(ale->id); @@ -316,9 +314,8 @@ static int mouse_nla_channels(bAnimContext *ac, float x, int channel_index, shor notifierFlags |= (ND_ANIMCHAN | NA_SELECTED); } } + break; } - break; - default: if (G.debug & G_DEBUG) printf("Error: Invalid channel type in mouse_nla_channels()\n"); diff --git a/source/blender/editors/space_nla/nla_draw.c b/source/blender/editors/space_nla/nla_draw.c index 5f3e1ef88e3..93007cc0820 100644 --- a/source/blender/editors/space_nla/nla_draw.c +++ b/source/blender/editors/space_nla/nla_draw.c @@ -563,9 +563,8 @@ void draw_nla_main_data(bAnimContext *ac, SpaceNla *snla, ARegion *ar) nla_draw_strip_frames_text(nlt, strip, v2d, yminc, ymaxc); } } + break; } - break; - case ANIMTYPE_NLAACTION: { AnimData *adt = ale->adt; @@ -603,8 +602,8 @@ void draw_nla_main_data(bAnimContext *ac, SpaceNla *snla, ARegion *ar) fdrawline(v2d->cur.xmin, ymaxc - NLACHANNEL_SKIP, v2d->cur.xmax, ymaxc - NLACHANNEL_SKIP); glDisable(GL_BLEND); + break; } - break; } } @@ -684,8 +683,8 @@ static void draw_nla_channel_list_gl(bAnimContext *ac, ListBase *anim_data, View /* draw manually still */ do_draw = TRUE; + break; } - break; case ANIMTYPE_NLAACTION: /* NLA Action-Line */ { bAction *act = (bAction *)ale->data; @@ -698,9 +697,8 @@ static void draw_nla_channel_list_gl(bAnimContext *ac, ListBase *anim_data, View /* draw manually still */ do_draw = TRUE; + break; } - break; - default: /* handled by standard channel-drawing API */ // draw backdrops only... ANIM_channel_draw(ac, ale, yminc, ymaxc); @@ -725,17 +723,15 @@ static void draw_nla_channel_list_gl(bAnimContext *ac, ListBase *anim_data, View /* same as for textures */ offset = 0.7f * U.widget_unit; indent = 1; + break; } - break; - case NTREE_TEXTURE: { /* even more */ offset = U.widget_unit; indent = 1; + break; } - break; - default: /* normal will do */ offset = 0.7f * U.widget_unit; diff --git a/source/blender/editors/space_node/node_draw.c b/source/blender/editors/space_node/node_draw.c index 7da06bcf3a6..dce04bb8c42 100644 --- a/source/blender/editors/space_node/node_draw.c +++ b/source/blender/editors/space_node/node_draw.c @@ -91,18 +91,18 @@ static bNodeTree *node_tree_from_ID(ID *id) short idtype = GS(id->name); switch (idtype) { - case ID_NT: - return (bNodeTree *)id; - case ID_MA: - return ((Material *)id)->nodetree; - case ID_LA: - return ((Lamp *)id)->nodetree; - case ID_WO: - return ((World *)id)->nodetree; - case ID_SCE: - return ((Scene *)id)->nodetree; - case ID_TE: - return ((Tex *)id)->nodetree; + case ID_NT: + return (bNodeTree *)id; + case ID_MA: + return ((Material *)id)->nodetree; + case ID_LA: + return ((Lamp *)id)->nodetree; + case ID_WO: + return ((World *)id)->nodetree; + case ID_SCE: + return ((Scene *)id)->nodetree; + case ID_TE: + return ((Tex *)id)->nodetree; } } diff --git a/source/blender/editors/space_node/node_templates.c b/source/blender/editors/space_node/node_templates.c index b74d1bf2ef8..83c11e69d84 100644 --- a/source/blender/editors/space_node/node_templates.c +++ b/source/blender/editors/space_node/node_templates.c @@ -675,23 +675,23 @@ static void ui_node_draw_input(uiLayout *layout, bContext *C, bNodeTree *ntree, /* input not linked, show value */ if (!(input->flag & SOCK_HIDE_VALUE)) { switch (input->type) { - case SOCK_FLOAT: - case SOCK_INT: - case SOCK_BOOLEAN: - case SOCK_RGBA: - case SOCK_STRING: - row = uiLayoutRow(split, TRUE); - uiItemR(row, &inputptr, "default_value", 0, "", ICON_NONE); - break; - case SOCK_VECTOR: - row = uiLayoutRow(split, FALSE); - col = uiLayoutColumn(row, FALSE); - uiItemR(col, &inputptr, "default_value", 0, "", ICON_NONE); - break; - - default: - row = uiLayoutRow(split, FALSE); - break; + case SOCK_FLOAT: + case SOCK_INT: + case SOCK_BOOLEAN: + case SOCK_RGBA: + case SOCK_STRING: + row = uiLayoutRow(split, TRUE); + uiItemR(row, &inputptr, "default_value", 0, "", ICON_NONE); + break; + case SOCK_VECTOR: + row = uiLayoutRow(split, FALSE); + col = uiLayoutColumn(row, FALSE); + uiItemR(col, &inputptr, "default_value", 0, "", ICON_NONE); + break; + + default: + row = uiLayoutRow(split, FALSE); + break; } } else diff --git a/source/blender/editors/space_outliner/outliner_draw.c b/source/blender/editors/space_outliner/outliner_draw.c index cfcc4641afd..93d0ff4f8c0 100644 --- a/source/blender/editors/space_outliner/outliner_draw.c +++ b/source/blender/editors/space_outliner/outliner_draw.c @@ -464,8 +464,8 @@ static void namebutton_cb(bContext *C, void *tsep, char *oldname) ED_armature_bone_rename(obedit->data, oldname, newname); WM_event_add_notifier(C, NC_OBJECT | ND_POSE, OBACT); } + break; } - break; case TSE_BONE: { @@ -482,8 +482,8 @@ static void namebutton_cb(bContext *C, void *tsep, char *oldname) BLI_strncpy(bone->name, oldname, sizeof(bone->name)); ED_armature_bone_rename(ob->data, oldname, newname); WM_event_add_notifier(C, NC_OBJECT | ND_POSE, ob); + break; } - break; case TSE_POSE_CHANNEL: { bPoseChannel *pchan = te->directdata; @@ -499,8 +499,8 @@ static void namebutton_cb(bContext *C, void *tsep, char *oldname) BLI_strncpy(pchan->name, oldname, sizeof(pchan->name)); ED_armature_bone_rename(ob->data, oldname, newname); WM_event_add_notifier(C, NC_OBJECT | ND_POSE, ob); + break; } - break; case TSE_POSEGRP: { Object *ob = (Object *)tselem->id; // id = object @@ -509,8 +509,8 @@ static void namebutton_cb(bContext *C, void *tsep, char *oldname) BLI_uniquename(&ob->pose->agroups, grp, CTX_DATA_(BLF_I18NCONTEXT_ID_ACTION, "Group"), '.', offsetof(bActionGroup, name), sizeof(grp->name)); WM_event_add_notifier(C, NC_OBJECT | ND_POSE, ob); + break; } - break; case TSE_R_LAYER: break; } diff --git a/source/blender/editors/space_outliner/outliner_edit.c b/source/blender/editors/space_outliner/outliner_edit.c index 2f97108c5ee..0161f53e690 100644 --- a/source/blender/editors/space_outliner/outliner_edit.c +++ b/source/blender/editors/space_outliner/outliner_edit.c @@ -1181,14 +1181,14 @@ static void do_outliner_drivers_editop(SpaceOops *soops, ListBase *tree, ReportL { /* add a new driver with the information obtained (only if valid) */ ANIM_add_driver(reports, id, path, array_index, dflags, DRIVER_TYPE_PYTHON); + break; } - break; case DRIVERS_EDITMODE_REMOVE: { /* remove driver matching the information obtained (only if valid) */ ANIM_remove_driver(reports, id, path, array_index, dflags); + break; } - break; } } diff --git a/source/blender/editors/space_outliner/outliner_tools.c b/source/blender/editors/space_outliner/outliner_tools.c index 9b9e7bef42c..fb56c5c6dfe 100644 --- a/source/blender/editors/space_outliner/outliner_tools.c +++ b/source/blender/editors/space_outliner/outliner_tools.c @@ -854,17 +854,15 @@ static int outliner_id_operation_exec(bContext *C, wmOperator *op) BKE_report(op->reports, RPT_WARNING, "Not yet implemented"); break; } + break; } - break; - case OUTLINER_IDOP_LOCAL: { /* make local */ outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_local_cb); ED_undo_push(C, "Localized Data"); + break; } - break; - case OUTLINER_IDOP_SINGLE: { /* make single user */ @@ -887,9 +885,8 @@ static int outliner_id_operation_exec(bContext *C, wmOperator *op) BKE_report(op->reports, RPT_WARNING, "Not yet implemented"); break; } + break; } - break; - case OUTLINER_IDOP_FAKE_ADD: { /* set fake user */ @@ -897,9 +894,8 @@ static int outliner_id_operation_exec(bContext *C, wmOperator *op) WM_event_add_notifier(C, NC_ID | NA_EDITED, NULL); ED_undo_push(C, "Add Fake User"); + break; } - break; - case OUTLINER_IDOP_FAKE_CLEAR: { /* clear fake user */ @@ -907,8 +903,8 @@ static int outliner_id_operation_exec(bContext *C, wmOperator *op) WM_event_add_notifier(C, NC_ID | NA_EDITED, NULL); ED_undo_push(C, "Clear Fake User"); + break; } - break; case OUTLINER_IDOP_RENAME: { /* rename */ @@ -916,9 +912,8 @@ static int outliner_id_operation_exec(bContext *C, wmOperator *op) WM_event_add_notifier(C, NC_ID | NA_EDITED, NULL); ED_undo_push(C, "Rename"); + break; } - break; - case OUTLINER_IDOP_SELECT_LINKED: outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_select_linked_cb); ED_undo_push(C, "Select"); diff --git a/source/blender/editors/space_outliner/outliner_tree.c b/source/blender/editors/space_outliner/outliner_tree.c index 08d32defd98..7d3ec148662 100644 --- a/source/blender/editors/space_outliner/outliner_tree.c +++ b/source/blender/editors/space_outliner/outliner_tree.c @@ -616,18 +616,18 @@ static void outliner_add_id_contents(SpaceOops *soops, TreeElement *te, TreeStor case ID_LI: { te->name = ((Library *)id)->name; + break; } - break; case ID_SCE: { outliner_add_scene_contents(soops, &te->subtree, (Scene *)id, te); + break; } - break; case ID_OB: { outliner_add_object_contents(soops, te, tselem, (Object *)id); + break; } - break; case ID_ME: { Mesh *me = (Mesh *)id; @@ -641,8 +641,8 @@ static void outliner_add_id_contents(SpaceOops *soops, TreeElement *te, TreeStor outliner_add_element(soops, &te->subtree, me->mat[a], te, 0, a); /* could do tfaces with image links, but the images are not grouped nicely. * would require going over all tfaces, sort images in use. etc... */ + break; } - break; case ID_CU: { Curve *cu = (Curve *)id; @@ -653,8 +653,8 @@ static void outliner_add_id_contents(SpaceOops *soops, TreeElement *te, TreeStor for (a = 0; a < cu->totcol; a++) outliner_add_element(soops, &te->subtree, cu->mat[a], te, 0, a); + break; } - break; case ID_MB: { MetaBall *mb = (MetaBall *)id; @@ -665,8 +665,8 @@ static void outliner_add_id_contents(SpaceOops *soops, TreeElement *te, TreeStor for (a = 0; a < mb->totcol; a++) outliner_add_element(soops, &te->subtree, mb->mat[a], te, 0, a); + break; } - break; case ID_MA: { Material *ma = (Material *)id; @@ -678,8 +678,8 @@ static void outliner_add_id_contents(SpaceOops *soops, TreeElement *te, TreeStor for (a = 0; a < MAX_MTEX; a++) { if (ma->mtex[a]) outliner_add_element(soops, &te->subtree, ma->mtex[a]->tex, te, 0, a); } + break; } - break; case ID_TE: { Tex *tex = (Tex *)id; @@ -688,16 +688,16 @@ static void outliner_add_id_contents(SpaceOops *soops, TreeElement *te, TreeStor outliner_add_element(soops, &te->subtree, tex, te, TSE_ANIM_DATA, 0); outliner_add_element(soops, &te->subtree, tex->ima, te, 0, 0); + break; } - break; case ID_CA: { Camera *ca = (Camera *)id; if (outliner_animdata_test(ca->adt)) outliner_add_element(soops, &te->subtree, ca, te, TSE_ANIM_DATA, 0); + break; } - break; case ID_LA: { Lamp *la = (Lamp *)id; @@ -709,16 +709,16 @@ static void outliner_add_id_contents(SpaceOops *soops, TreeElement *te, TreeStor for (a = 0; a < MAX_MTEX; a++) { if (la->mtex[a]) outliner_add_element(soops, &te->subtree, la->mtex[a]->tex, te, 0, a); } + break; } - break; case ID_SPK: { Speaker *spk = (Speaker *)id; if (outliner_animdata_test(spk->adt)) outliner_add_element(soops, &te->subtree, spk, te, TSE_ANIM_DATA, 0); + break; } - break; case ID_WO: { World *wrld = (World *)id; @@ -730,22 +730,22 @@ static void outliner_add_id_contents(SpaceOops *soops, TreeElement *te, TreeStor for (a = 0; a < MAX_MTEX; a++) { if (wrld->mtex[a]) outliner_add_element(soops, &te->subtree, wrld->mtex[a]->tex, te, 0, a); } + break; } - break; case ID_KE: { Key *key = (Key *)id; if (outliner_animdata_test(key->adt)) outliner_add_element(soops, &te->subtree, key, te, TSE_ANIM_DATA, 0); + break; } - break; case ID_AC: { // XXX do we want to be exposing the F-Curves here? //bAction *act = (bAction *)id; + break; } - break; case ID_AR: { bArmature *arm = (bArmature *)id; @@ -791,8 +791,8 @@ static void outliner_add_id_contents(SpaceOops *soops, TreeElement *te, TreeStor } } } + break; } - break; } } diff --git a/source/blender/editors/space_time/space_time.c b/source/blender/editors/space_time/space_time.c index 495980db447..8c36df74d22 100644 --- a/source/blender/editors/space_time/space_time.c +++ b/source/blender/editors/space_time/space_time.c @@ -435,8 +435,8 @@ static void time_listener(bScreen *UNUSED(sc), ScrArea *sa, wmNotifier *wmn) break; } } + break; } - break; } break; } diff --git a/source/blender/editors/space_view3d/drawarmature.c b/source/blender/editors/space_view3d/drawarmature.c index f3528ef61b6..fb20f082085 100644 --- a/source/blender/editors/space_view3d/drawarmature.c +++ b/source/blender/editors/space_view3d/drawarmature.c @@ -186,8 +186,6 @@ static bool set_pchan_glColor(short colCode, int boneflag, short constflag) return true; } - break; - case PCHAN_COLOR_SOLID: { if (bcolor) { @@ -198,8 +196,6 @@ static bool set_pchan_glColor(short colCode, int boneflag, short constflag) return true; } - break; - case PCHAN_COLOR_CONSTS: { if ((bcolor == NULL) || (bcolor->flag & TH_WIRECOLOR_CONSTCOLS)) { @@ -210,11 +206,8 @@ static bool set_pchan_glColor(short colCode, int boneflag, short constflag) return true; } - else - return 0; + return false; } - break; - case PCHAN_COLOR_SPHEREBONE_BASE: { if (bcolor) { @@ -240,7 +233,6 @@ static bool set_pchan_glColor(short colCode, int boneflag, short constflag) return true; } - break; case PCHAN_COLOR_SPHEREBONE_END: { if (bcolor) { @@ -266,9 +258,8 @@ static bool set_pchan_glColor(short colCode, int boneflag, short constflag) else if (boneflag & BONE_SELECTED) UI_ThemeColorShade(TH_BONE_POSE, -30); else UI_ThemeColorShade(TH_BONE_SOLID, -30); } + break; } - break; - case PCHAN_COLOR_LINEBONE: { /* inner part in background color or constraint */ @@ -290,7 +281,6 @@ static bool set_pchan_glColor(short colCode, int boneflag, short constflag) return true; } - break; } return false; @@ -1426,8 +1416,8 @@ static void pchan_draw_IK_root_lines(bPoseChannel *pchan, short only_temp) glEnd(); setlinestyle(0); + break; } - break; case CONSTRAINT_TYPE_SPLINEIK: { bSplineIKConstraint *data = (bSplineIKConstraint *)con->data; @@ -1451,8 +1441,8 @@ static void pchan_draw_IK_root_lines(bPoseChannel *pchan, short only_temp) glEnd(); setlinestyle(0); + break; } - break; } } } diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c index 8818ad1d421..457a3b32e09 100644 --- a/source/blender/editors/transform/transform.c +++ b/source/blender/editors/transform/transform.c @@ -2002,8 +2002,8 @@ int initTransform(bContext *C, TransInfo *t, wmOperator *op, const wmEvent *even initBoneEnvelope(t); else initBoneSize(t); + break; } - break; case TFM_BONE_ENVELOPE: initBoneEnvelope(t); break; diff --git a/source/blender/editors/transform/transform_constraints.c b/source/blender/editors/transform/transform_constraints.c index 27b25a50eff..fd8fba91fc9 100644 --- a/source/blender/editors/transform/transform_constraints.c +++ b/source/blender/editors/transform/transform_constraints.c @@ -621,8 +621,8 @@ void setUserConstraint(TransInfo *t, short orientation, int mode, const char fte float mtx[3][3] = MAT3_UNITY; BLI_snprintf(text, sizeof(text), ftext, IFACE_("global")); setConstraint(t, mtx, mode, text); + break; } - break; case V3D_MANIP_LOCAL: BLI_snprintf(text, sizeof(text), ftext, IFACE_("local")); setLocalConstraint(t, mode, text); diff --git a/source/blender/makesrna/intern/rna_color.c b/source/blender/makesrna/intern/rna_color.c index 46420b38224..ec61c543a9f 100644 --- a/source/blender/makesrna/intern/rna_color.c +++ b/source/blender/makesrna/intern/rna_color.c @@ -252,9 +252,8 @@ static char *rna_ColorRampElement_path(PointerRNA *ptr) RNA_pointer_create(id, &RNA_ColorRamp, ma->ramp_spec, &ramp_ptr); COLRAMP_GETPATH; } + break; } - break; - case ID_NT: { bNodeTree *ntree = (bNodeTree *)id; @@ -266,9 +265,8 @@ static char *rna_ColorRampElement_path(PointerRNA *ptr) COLRAMP_GETPATH; } } + break; } - break; - case ID_LS: { ListBase listbase; @@ -312,8 +310,8 @@ static void rna_ColorRamp_update(Main *bmain, Scene *UNUSED(scene), PointerRNA * DAG_id_tag_update(&ma->id, 0); WM_main_add_notifier(NC_MATERIAL | ND_SHADING_DRAW, ma); + break; } - break; case ID_NT: { bNodeTree *ntree = (bNodeTree *)id; @@ -324,16 +322,16 @@ static void rna_ColorRamp_update(Main *bmain, Scene *UNUSED(scene), PointerRNA * ED_node_tag_update_nodetree(bmain, ntree); } } + break; } - break; case ID_TE: { Tex *tex = ptr->id.data; DAG_id_tag_update(&tex->id, 0); WM_main_add_notifier(NC_TEXTURE, tex); + break; } - break; case ID_LS: { FreestyleLineStyle *linestyle = ptr->id.data; diff --git a/source/blender/makesrna/intern/rna_object.c b/source/blender/makesrna/intern/rna_object.c index 542be30c08b..834fb6d7d72 100644 --- a/source/blender/makesrna/intern/rna_object.c +++ b/source/blender/makesrna/intern/rna_object.c @@ -983,8 +983,8 @@ static void rna_GameObjectSettings_physics_type_set(PointerRNA *ptr, int value) case OB_BODY_TYPE_CHARACTER: ob->gameflag |= OB_COLLISION | OB_GHOST | OB_CHARACTER; ob->gameflag &= ~(OB_SENSOR | OB_OCCLUDER | OB_DYNAMIC | OB_RIGID_BODY | OB_SOFT_BODY | OB_ACTOR | - OB_ANISOTROPIC_FRICTION | OB_DO_FH | OB_ROT_FH | OB_COLLISION_RESPONSE | OB_NAVMESH); - break; + OB_ANISOTROPIC_FRICTION | OB_DO_FH | OB_ROT_FH | OB_COLLISION_RESPONSE | OB_NAVMESH); + break; case OB_BODY_TYPE_STATIC: ob->gameflag |= OB_COLLISION; ob->gameflag &= ~(OB_DYNAMIC | OB_RIGID_BODY | OB_SOFT_BODY | OB_OCCLUDER | OB_CHARACTER | OB_SENSOR | OB_NAVMESH); diff --git a/source/blender/nodes/shader/nodes/node_shader_math.c b/source/blender/nodes/shader/nodes/node_shader_math.c index b1a27f194cc..b0570a7d673 100644 --- a/source/blender/nodes/shader/nodes/node_shader_math.c +++ b/source/blender/nodes/shader/nodes/node_shader_math.c @@ -64,32 +64,32 @@ static void node_shader_exec_math(void *UNUSED(data), int UNUSED(thread), bNode out[0]->vec[0] = 0.0; else out[0]->vec[0] = in[0]->vec[0] / in[1]->vec[0]; + break; } - break; case 4: /* Sine */ { if (in[0]->hasinput || !in[1]->hasinput) /* This one only takes one input, so we've got to choose. */ out[0]->vec[0] = sin(in[0]->vec[0]); else out[0]->vec[0] = sin(in[1]->vec[0]); + break; } - break; case 5: /* Cosine */ { if (in[0]->hasinput || !in[1]->hasinput) /* This one only takes one input, so we've got to choose. */ out[0]->vec[0] = cos(in[0]->vec[0]); else out[0]->vec[0] = cos(in[1]->vec[0]); + break; } - break; case 6: /* Tangent */ { if (in[0]->hasinput || !in[1]->hasinput) /* This one only takes one input, so we've got to choose. */ out[0]->vec[0] = tan(in[0]->vec[0]); else out[0]->vec[0] = tan(in[1]->vec[0]); + break; } - break; case 7: /* Arc-Sine */ { if (in[0]->hasinput || !in[1]->hasinput) { /* This one only takes one input, so we've got to choose. */ @@ -106,8 +106,8 @@ static void node_shader_exec_math(void *UNUSED(data), int UNUSED(thread), bNode else out[0]->vec[0] = 0.0; } + break; } - break; case 8: /* Arc-Cosine */ { if (in[0]->hasinput || !in[1]->hasinput) { /* This one only takes one input, so we've got to choose. */ @@ -124,16 +124,16 @@ static void node_shader_exec_math(void *UNUSED(data), int UNUSED(thread), bNode else out[0]->vec[0] = 0.0; } + break; } - break; case 9: /* Arc-Tangent */ { if (in[0]->hasinput || !in[1]->hasinput) /* This one only takes one input, so we've got to choose. */ out[0]->vec[0] = atan(in[0]->vec[0]); else out[0]->vec[0] = atan(in[1]->vec[0]); + break; } - break; case 10: /* Power */ { /* Only raise negative numbers by full integers */ @@ -152,8 +152,8 @@ static void node_shader_exec_math(void *UNUSED(data), int UNUSED(thread), bNode } } + break; } - break; case 11: /* Logarithm */ { /* Don't want any imaginary numbers... */ @@ -161,56 +161,56 @@ static void node_shader_exec_math(void *UNUSED(data), int UNUSED(thread), bNode out[0]->vec[0] = log(in[0]->vec[0]) / log(in[1]->vec[0]); else out[0]->vec[0] = 0.0; + break; } - break; case 12: /* Minimum */ { if (in[0]->vec[0] < in[1]->vec[0]) out[0]->vec[0] = in[0]->vec[0]; else out[0]->vec[0] = in[1]->vec[0]; + break; } - break; case 13: /* Maximum */ { if (in[0]->vec[0] > in[1]->vec[0]) out[0]->vec[0] = in[0]->vec[0]; else out[0]->vec[0] = in[1]->vec[0]; + break; } - break; case 14: /* Round */ { if (in[0]->hasinput || !in[1]->hasinput) /* This one only takes one input, so we've got to choose. */ out[0]->vec[0] = (in[0]->vec[0] < 0) ? (int)(in[0]->vec[0] - 0.5f) : (int)(in[0]->vec[0] + 0.5f); else out[0]->vec[0] = (in[1]->vec[0] < 0) ? (int)(in[1]->vec[0] - 0.5f) : (int)(in[1]->vec[0] + 0.5f); + break; } - break; case 15: /* Less Than */ { if (in[0]->vec[0] < in[1]->vec[0]) out[0]->vec[0] = 1.0f; else out[0]->vec[0] = 0.0f; + break; } - break; case 16: /* Greater Than */ { if (in[0]->vec[0] > in[1]->vec[0]) out[0]->vec[0] = 1.0f; else out[0]->vec[0] = 0.0f; + break; } - break; case 17: /* Modulo */ { if (in[1]->vec[0] == 0.0f) out[0]->vec[0] = 0.0f; else out[0]->vec[0] = fmod(in[0]->vec[0], in[1]->vec[0]); + break; } - break; } } diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index dc2f19eded7..0a00da00cea 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -1638,8 +1638,8 @@ static int wm_handler_fileselect_call(bContext *C, ListBase *handlers, wmEventHa ED_fileselect_set_params(sfile); action = WM_HANDLER_BREAK; + break; } - break; case EVT_FILESELECT_EXEC: case EVT_FILESELECT_CANCEL: @@ -1734,8 +1734,8 @@ static int wm_handler_fileselect_call(bContext *C, ListBase *handlers, wmEventHa wm_event_free_handler(handler); action = WM_HANDLER_BREAK; + break; } - break; } return action; -- cgit v1.2.3 From a2492e0603b15366dc6404662843ddeb00b44170 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jul 2013 16:44:17 +0000 Subject: style cleanup: braces/indentation --- source/blender/blenlib/intern/math_rotation.c | 2 +- source/blender/bmesh/operators/bmo_create.c | 2 +- source/blender/editors/mesh/editmesh_loopcut.c | 7 +++++-- source/blender/editors/mesh/editmesh_select.c | 5 +++-- source/blender/editors/sculpt_paint/paint_stroke.c | 4 ++-- source/blender/imbuf/intern/anim_movie.c | 5 ++--- source/blender/imbuf/intern/openexr/openexr_api.cpp | 3 ++- source/blender/nodes/shader/nodes/node_shader_particle_info.c | 2 +- source/blender/python/bmesh/bmesh_py_types_meshdata.c | 2 +- source/blender/windowmanager/wm_event_types.h | 2 +- 10 files changed, 19 insertions(+), 15 deletions(-) (limited to 'source') diff --git a/source/blender/blenlib/intern/math_rotation.c b/source/blender/blenlib/intern/math_rotation.c index 96664b776f0..dc0c48cf33f 100644 --- a/source/blender/blenlib/intern/math_rotation.c +++ b/source/blender/blenlib/intern/math_rotation.c @@ -1816,7 +1816,7 @@ static int _axis_convert_lut[23][24] = { {0x408, 0x810, 0xA20, 0x228, 0x081, 0x891, 0x699, 0x2A9, 0x102, 0x50A, 0x71A, 0xB22, 0x4CB, 0x8D3, 0xAE3, 0x2EB, 0x144, 0x954, 0x75C, 0x36C, 0x045, 0x44D, 0x65D, 0xA65}, - }; +}; // _axis_convert_num = {'X': 0, 'Y': 1, 'Z': 2, '-X': 3, '-Y': 4, '-Z': 5} diff --git a/source/blender/bmesh/operators/bmo_create.c b/source/blender/bmesh/operators/bmo_create.c index ad858c514d2..e43c04f7d08 100644 --- a/source/blender/bmesh/operators/bmo_create.c +++ b/source/blender/bmesh/operators/bmo_create.c @@ -217,7 +217,7 @@ void bmo_contextual_create_exec(BMesh *bm, BMOperator *op) /* Continue with ad-hoc fill methods since operators fail, * edge, vcloud... may add more */ - if (0) { /* nice feature but perhaps it should be a different tool? */ + if (0) { /* nice feature but perhaps it should be a different tool? */ /* tricky feature for making a line/edge from selection history... * diff --git a/source/blender/editors/mesh/editmesh_loopcut.c b/source/blender/editors/mesh/editmesh_loopcut.c index f7e983fb745..3c1b210d171 100644 --- a/source/blender/editors/mesh/editmesh_loopcut.c +++ b/source/blender/editors/mesh/editmesh_loopcut.c @@ -261,11 +261,14 @@ static void edgering_sel(RingSelOpData *lcd, int previewlines, bool select) eed_last = eed; } + if ((eed_last != eed_start) && #ifdef BMW_EDGERING_NGON - if (lasteed != startedge && BM_edge_share_face_check(lasteed, startedge)) { + BM_edge_share_face_check(eed_last, eed_start) #else - if (eed_last != eed_start && BM_edge_share_quad_check(eed_last, eed_start)) { + BM_edge_share_quad_check(eed_last, eed_start) #endif + ) + { v[1][0] = v[0][0]; v[1][1] = v[0][1]; diff --git a/source/blender/editors/mesh/editmesh_select.c b/source/blender/editors/mesh/editmesh_select.c index e9694b8a8f3..7ec1113a75f 100644 --- a/source/blender/editors/mesh/editmesh_select.c +++ b/source/blender/editors/mesh/editmesh_select.c @@ -927,10 +927,11 @@ static EnumPropertyItem *select_similar_type_itemf(bContext *C, PointerRNA *UNUS } else if (em->selectmode & SCE_SELECT_FACE) { #ifdef WITH_FREESTYLE - for (a = SIMFACE_MATERIAL; a <= SIMFACE_FREESTYLE; a++) { + const int a_end = SIMFACE_FREESTYLE; #else - for (a = SIMFACE_MATERIAL; a <= SIMFACE_COPLANAR; a++) { + const int a_end = SIMFACE_COPLANAR; #endif + for (a = SIMFACE_MATERIAL; a <= a_end; a++) { RNA_enum_items_add_value(&item, &totitem, prop_similar_types, a); } } diff --git a/source/blender/editors/sculpt_paint/paint_stroke.c b/source/blender/editors/sculpt_paint/paint_stroke.c index d82606f52f0..e6d609d2008 100644 --- a/source/blender/editors/sculpt_paint/paint_stroke.c +++ b/source/blender/editors/sculpt_paint/paint_stroke.c @@ -576,8 +576,8 @@ bool paint_supports_dynamic_tex_coords(Brush *br, PaintMode mode) if (sculpt_is_grab_tool(br)) return false; default: - ; - } + break; + } return true; } diff --git a/source/blender/imbuf/intern/anim_movie.c b/source/blender/imbuf/intern/anim_movie.c index 64e80d4383c..63790cf7d25 100644 --- a/source/blender/imbuf/intern/anim_movie.c +++ b/source/blender/imbuf/intern/anim_movie.c @@ -429,10 +429,9 @@ static ImBuf *avi_fetchibuf(struct anim *anim, int position) } } } - else { -#else - if (1) { + else #endif + { ibuf = IMB_allocImBuf(anim->x, anim->y, 24, IB_rect); tmp = AVI_read_frame(anim->avi, AVI_FORMAT_RGB32, position, diff --git a/source/blender/imbuf/intern/openexr/openexr_api.cpp b/source/blender/imbuf/intern/openexr/openexr_api.cpp index 6db7cfc8efd..922c865a0d5 100644 --- a/source/blender/imbuf/intern/openexr/openexr_api.cpp +++ b/source/blender/imbuf/intern/openexr/openexr_api.cpp @@ -97,7 +97,8 @@ class Mem_IStream : public Imf::IStream public: Mem_IStream (unsigned char *exrbuf, size_t exrsize) : - IStream("dummy"), _exrpos(0), _exrsize(exrsize) { + IStream("dummy"), _exrpos(0), _exrsize(exrsize) + { _exrbuf = exrbuf; } diff --git a/source/blender/nodes/shader/nodes/node_shader_particle_info.c b/source/blender/nodes/shader/nodes/node_shader_particle_info.c index dc98b7d5f63..05f7301776f 100644 --- a/source/blender/nodes/shader/nodes/node_shader_particle_info.c +++ b/source/blender/nodes/shader/nodes/node_shader_particle_info.c @@ -39,7 +39,7 @@ static bNodeSocketTemplate outputs[] = { { SOCK_VECTOR, 0, "Velocity" }, { SOCK_VECTOR, 0, "Angular Velocity" }, { -1, 0, "" } - }; +}; /* node type definition */ void register_node_type_sh_particle_info(void) diff --git a/source/blender/python/bmesh/bmesh_py_types_meshdata.c b/source/blender/python/bmesh/bmesh_py_types_meshdata.c index 64435792ae2..b8572baa7f9 100644 --- a/source/blender/python/bmesh/bmesh_py_types_meshdata.c +++ b/source/blender/python/bmesh/bmesh_py_types_meshdata.c @@ -499,7 +499,7 @@ static PySequenceMethods bpy_bmdeformvert_as_sequence = { (objobjproc)bpy_bmdeformvert_contains, /* sq_contains */ (binaryfunc) NULL, /* sq_inplace_concat */ (ssizeargfunc) NULL, /* sq_inplace_repeat */ - }; +}; static PyMappingMethods bpy_bmdeformvert_as_mapping = { (lenfunc)bpy_bmdeformvert_len, diff --git a/source/blender/windowmanager/wm_event_types.h b/source/blender/windowmanager/wm_event_types.h index 6dcef9db407..df3096eed07 100644 --- a/source/blender/windowmanager/wm_event_types.h +++ b/source/blender/windowmanager/wm_event_types.h @@ -135,7 +135,7 @@ enum { NDOF_BUTTON_C, // the end NDOF_LAST - }; +}; /* SYSTEM : 0x01xx */ -- cgit v1.2.3 From dda61cc82f168c1c3cafaae3ddc8814f35b31d13 Mon Sep 17 00:00:00 2001 From: Antony Riakiotakis Date: Fri, 19 Jul 2013 19:19:15 +0000 Subject: Fix some definitions for MinGW64 --- source/gameengine/Expressions/KX_HashedPtr.cpp | 2 ++ source/gameengine/Ketsji/KX_GameObject.cpp | 2 ++ source/gameengine/Ketsji/KX_IPO_SGController.cpp | 2 ++ 3 files changed, 6 insertions(+) (limited to 'source') diff --git a/source/gameengine/Expressions/KX_HashedPtr.cpp b/source/gameengine/Expressions/KX_HashedPtr.cpp index 555ef7f9500..bd42892cc8d 100644 --- a/source/gameengine/Expressions/KX_HashedPtr.cpp +++ b/source/gameengine/Expressions/KX_HashedPtr.cpp @@ -36,6 +36,8 @@ unsigned int KX_Hash(void *inDWord) { #if defined(_WIN64) && !defined(FREE_WINDOWS64) unsigned __int64 key = (unsigned __int64)inDWord; +#elif defined(FREE_WINDOWS64) + unsigned long long key = (unsigned long long)inDWord; #else unsigned long key = (unsigned long)inDWord; #endif diff --git a/source/gameengine/Ketsji/KX_GameObject.cpp b/source/gameengine/Ketsji/KX_GameObject.cpp index 871318bcedc..ec62ae63f0c 100644 --- a/source/gameengine/Ketsji/KX_GameObject.cpp +++ b/source/gameengine/Ketsji/KX_GameObject.cpp @@ -38,6 +38,8 @@ #if defined(_WIN64) && !defined(FREE_WINDOWS64) typedef unsigned __int64 uint_ptr; +#elif defined(FREE_WINDOWS64) +typedef unsigned long long uint_ptr; #else typedef unsigned long uint_ptr; #endif diff --git a/source/gameengine/Ketsji/KX_IPO_SGController.cpp b/source/gameengine/Ketsji/KX_IPO_SGController.cpp index 4c43633d4c5..f221b7c6cd4 100644 --- a/source/gameengine/Ketsji/KX_IPO_SGController.cpp +++ b/source/gameengine/Ketsji/KX_IPO_SGController.cpp @@ -33,6 +33,8 @@ #if defined(_WIN64) && !defined(FREE_WINDOWS64) typedef unsigned __int64 uint_ptr; +#elif defined(FREE_WINDOWS64) +typedef unsigned long long uint_ptr; #else typedef unsigned long uint_ptr; #endif -- cgit v1.2.3 From 869d654cccba8b9b0bc295e7ce89e8e322912023 Mon Sep 17 00:00:00 2001 From: Daniel Stokes Date: Fri, 19 Jul 2013 22:04:06 +0000 Subject: BGE fix [#36223] Strange page fault of "Game" actuator Adding a NULL check to BLI_ghash_lookup --- source/blender/blenlib/intern/BLI_ghash.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'source') diff --git a/source/blender/blenlib/intern/BLI_ghash.c b/source/blender/blenlib/intern/BLI_ghash.c index d30d3f3d256..5b9045b1ba2 100644 --- a/source/blender/blenlib/intern/BLI_ghash.c +++ b/source/blender/blenlib/intern/BLI_ghash.c @@ -116,9 +116,14 @@ void BLI_ghash_insert(GHash *gh, void *key, void *val) void *BLI_ghash_lookup(GHash *gh, const void *key) { - const unsigned int hash = gh->hashfp(key) % gh->nbuckets; + + unsigned int hash; Entry *e; + if (!gh) return NULL; + + hash = gh->hashfp(key) % gh->nbuckets; + for (e = gh->buckets[hash]; e; e = e->next) { if (gh->cmpfp(key, e->key) == 0) { return e->val; -- cgit v1.2.3