diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-04-16 12:04:12 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-04-16 12:04:12 +0400 |
commit | 52023f9e88f7859c75720cf175e74635a83b05c7 (patch) | |
tree | fffa03258eecc95e3117e802d849a809c9e2c21c /source/blender | |
parent | 0635f8101c98d74da729d464472a4d9efa09337f (diff) |
bmesh todos:
- curve undo now runs ED_curve_updateAnimPaths() again.
- comment out unneeded index setting.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/bmesh/operators/bmo_dissolve.c | 2 | ||||
-rw-r--r-- | source/blender/bmesh/operators/bmo_mirror.c | 4 | ||||
-rw-r--r-- | source/blender/editors/curve/editcurve.c | 42 | ||||
-rw-r--r-- | source/blender/editors/include/ED_curve.h | 2 |
4 files changed, 20 insertions, 30 deletions
diff --git a/source/blender/bmesh/operators/bmo_dissolve.c b/source/blender/bmesh/operators/bmo_dissolve.c index 7edacb45b34..29796b7dac4 100644 --- a/source/blender/bmesh/operators/bmo_dissolve.c +++ b/source/blender/bmesh/operators/bmo_dissolve.c @@ -52,7 +52,7 @@ static int UNUSED_FUNCTION(check_hole_in_region)(BMesh *bm, BMFace *f) BMW_init(®walker, bm, BMW_ISLAND, BMW_MASK_NOP, BMW_MASK_NOP, FACE_MARK, - BMW_FLAG_NOP, /* BMESH_TODO - should be BMW_FLAG_TEST_HIDDEN ? */ + BMW_FLAG_NOP, BMW_NIL_LAY); f2 = BMW_begin(®walker, f); diff --git a/source/blender/bmesh/operators/bmo_mirror.c b/source/blender/bmesh/operators/bmo_mirror.c index 28c9c53fa8a..1b6d64073c0 100644 --- a/source/blender/bmesh/operators/bmo_mirror.c +++ b/source/blender/bmesh/operators/bmo_mirror.c @@ -73,11 +73,7 @@ void bmo_mirror_exec(BMesh *bm, BMOperator *op) BMO_ITER(v, &siter, bm, &dupeop, "newout", BM_VERT) { BLI_array_growone(vmap); vmap[i] = v; - - /* BMESH_TODO, double check this is being used, calling following operators will overwrite anyway - campbell */ - BM_elem_index_set(v2, i); /* set_dirty! */ v2 = BM_iter_step(&iter); - i++; } bm->elem_index_dirty |= BM_VERT; diff --git a/source/blender/editors/curve/editcurve.c b/source/blender/editors/curve/editcurve.c index 9190cd940d6..2e9aa8ec675 100644 --- a/source/blender/editors/curve/editcurve.c +++ b/source/blender/editors/curve/editcurve.c @@ -1015,9 +1015,8 @@ static void calc_shapeKeys(Object *obedit) /* ********************* Amimation data *************** */ -static int curve_is_animated(Object *ob) +static int curve_is_animated(Curve *cu) { - Curve *cu= (Curve*)ob->data; AnimData *ad= BKE_animdata_from_id(&cu->id); return ad && (ad->action || ad->drivers.first); @@ -1063,10 +1062,9 @@ static void fcurve_remove(AnimData *ad, ListBase *orig_curves, FCurve *fcu) free_fcurve(fcu); } -static void curve_rename_fcurves(Object *obedit, ListBase *orig_curves) +static void curve_rename_fcurves(Curve *cu, ListBase *orig_curves) { int nu_index= 0, a, pt_index; - Curve *cu= (Curve*)obedit->data; EditNurb *editnurb= cu->editnurb; Nurb *nu= editnurb->nurbs.first; CVKeyIndex *keyIndex; @@ -1178,17 +1176,16 @@ static void curve_rename_fcurves(Object *obedit, ListBase *orig_curves) } /* return 0 if animation data wasn't changed, 1 otherwise */ -int ED_curve_updateAnimPaths(Object *obedit) +int ED_curve_updateAnimPaths(Curve *cu) { - Curve *cu= (Curve*)obedit->data; AnimData *ad= BKE_animdata_from_id(&cu->id); - if (!curve_is_animated(obedit)) return 0; + if (!curve_is_animated(cu)) return 0; if (ad->action) - curve_rename_fcurves(obedit, &ad->action->curves); + curve_rename_fcurves(cu, &ad->action->curves); - curve_rename_fcurves(obedit, &ad->drivers); + curve_rename_fcurves(cu, &ad->drivers); return 1; } @@ -1221,7 +1218,7 @@ void load_editNurb(Object *obedit) cu->nurb= newnurb; calc_shapeKeys(obedit); - ED_curve_updateAnimPaths(obedit); + ED_curve_updateAnimPaths(obedit->data); freeNurblist(&oldnurb); } @@ -1702,7 +1699,7 @@ static int deleteflagNurb(bContext *C, wmOperator *UNUSED(op), int flag) nu= next; } - if (ED_curve_updateAnimPaths(obedit)) + if (ED_curve_updateAnimPaths(obedit->data)) WM_event_add_notifier(C, NC_OBJECT|ND_KEYS, obedit); return OPERATOR_FINISHED; @@ -2017,7 +2014,7 @@ static int switch_direction_exec(bContext *C, wmOperator *UNUSED(op)) keyData_switchDirectionNurb(cu, nu); } - if (ED_curve_updateAnimPaths(obedit)) + if (ED_curve_updateAnimPaths(obedit->data)) WM_event_add_notifier(C, NC_OBJECT|ND_KEYS, obedit); DAG_id_tag_update(obedit->data, 0); @@ -3191,7 +3188,7 @@ static int subdivide_exec(bContext *C, wmOperator *op) subdividenurb(obedit, number_cuts); - if (ED_curve_updateAnimPaths(obedit)) + if (ED_curve_updateAnimPaths(obedit->data)) WM_event_add_notifier(C, NC_OBJECT|ND_KEYS, obedit); WM_event_add_notifier(C, NC_GEOM|ND_DATA, obedit->data); @@ -3512,7 +3509,7 @@ static int set_spline_type_exec(bContext *C, wmOperator *op) } if (changed) { - if (ED_curve_updateAnimPaths(obedit)) + if (ED_curve_updateAnimPaths(obedit->data)) WM_event_add_notifier(C, NC_OBJECT|ND_KEYS, obedit); DAG_id_tag_update(obedit->data, 0); @@ -4104,7 +4101,7 @@ static int make_segment_exec(bContext *C, wmOperator *op) return OPERATOR_CANCELLED; } - if (ED_curve_updateAnimPaths(obedit)) + if (ED_curve_updateAnimPaths(obedit->data)) WM_event_add_notifier(C, NC_OBJECT|ND_KEYS, obedit); WM_event_add_notifier(C, NC_GEOM|ND_DATA, obedit->data); @@ -4323,7 +4320,7 @@ static int spin_exec(bContext *C, wmOperator *op) return OPERATOR_CANCELLED; } - if (ED_curve_updateAnimPaths(obedit)) + if (ED_curve_updateAnimPaths(obedit->data)) WM_event_add_notifier(C, NC_OBJECT|ND_KEYS, obedit); WM_event_add_notifier(C, NC_GEOM|ND_DATA, obedit->data); @@ -4626,7 +4623,7 @@ static int addvert_Nurb(bContext *C, short mode, float location[3]) if (ok) { test2DNurb(nu); - if (ED_curve_updateAnimPaths(obedit)) + if (ED_curve_updateAnimPaths(obedit->data)) WM_event_add_notifier(C, NC_OBJECT|ND_KEYS, obedit); WM_event_add_notifier(C, NC_GEOM|ND_DATA, obedit->data); @@ -4719,7 +4716,7 @@ static int extrude_exec(bContext *C, wmOperator *UNUSED(op)) } else { if (extrudeflagNurb(editnurb, 1)) { /* '1'= flag */ - if (ED_curve_updateAnimPaths(obedit)) + if (ED_curve_updateAnimPaths(obedit->data)) WM_event_add_notifier(C, NC_OBJECT|ND_KEYS, obedit); WM_event_add_notifier(C, NC_GEOM|ND_DATA, obedit->data); @@ -5640,7 +5637,7 @@ static int delete_exec(bContext *C, wmOperator *op) keyIndex_delNurbList(editnurb, nubase); freeNurblist(nubase); - if (ED_curve_updateAnimPaths(obedit)) + if (ED_curve_updateAnimPaths(obedit->data)) WM_event_add_notifier(C, NC_OBJECT|ND_KEYS, obedit); } @@ -5941,7 +5938,7 @@ static int delete_exec(bContext *C, wmOperator *op) freeNurblist(nubase); } - if (ED_curve_updateAnimPaths(obedit)) + if (ED_curve_updateAnimPaths(obedit->data)) WM_event_add_notifier(C, NC_OBJECT|ND_KEYS, obedit); WM_event_add_notifier(C, NC_GEOM|ND_DATA, obedit->data); @@ -6987,10 +6984,7 @@ static void undoCurve_to_editCurve(void *ucu, void *UNUSED(edata), void *cu_v) cu->lastsel= lastsel; cu->actnu= undoCurve->actnu; - /* BMESH_TODO */ -#if 0 - ED_curve_updateAnimPaths(obedit); -#endif + ED_curve_updateAnimPaths(cu); } static void *editCurve_to_undoCurve(void *UNUSED(edata), void *cu_v) diff --git a/source/blender/editors/include/ED_curve.h b/source/blender/editors/include/ED_curve.h index bffb5543460..50e43c46de5 100644 --- a/source/blender/editors/include/ED_curve.h +++ b/source/blender/editors/include/ED_curve.h @@ -87,7 +87,7 @@ int CU_select_nth(struct Object *obedit, int nth); void ED_curve_beztcpy(struct EditNurb *editnurb, struct BezTriple *dst, struct BezTriple *src, int count); void ED_curve_bpcpy(struct EditNurb *editnurb, struct BPoint *dst, struct BPoint *src, int count); -int ED_curve_updateAnimPaths(struct Object *obedit); +int ED_curve_updateAnimPaths(struct Curve *cu); int ED_curve_actSelection(struct Curve *cu, float center[3]); |