Revision: 18414 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18414 Author: mfoxdogg Date: 2009-01-08 03:50:37 +0100 (Thu, 08 Jan 2009)
Log Message: ----------- 2.5 ****** - Ported set/clear slow parents - currently there is no keymap entries - removed some unused functions and some tidying up Modified Paths: -------------- branches/blender2.5/blender/source/blender/editors/object/object_edit.c branches/blender2.5/blender/source/blender/editors/object/object_intern.h branches/blender2.5/blender/source/blender/editors/object/object_ops.c branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_view.c Modified: branches/blender2.5/blender/source/blender/editors/object/object_edit.c =================================================================== --- branches/blender2.5/blender/source/blender/editors/object/object_edit.c 2009-01-08 00:24:59 UTC (rev 18413) +++ branches/blender2.5/blender/source/blender/editors/object/object_edit.c 2009-01-08 02:50:37 UTC (rev 18414) @@ -1639,36 +1639,78 @@ RNA_def_property_enum_items(prop, prop_set_restrictview_types); } -/* ******************** **************** */ +/* ************* Slow Parent ******************* */ +static int object_set_slowparent_exec(bContext *C, wmOperator *op) +{ + Scene *scene= CTX_data_scene(C); -void reset_slowparents(Scene *scene, View3D *v3d) + CTX_DATA_BEGIN(C, Base*, base, visible_bases) { + + if(base->object->parent) base->object->partype |= PARSLOW; + base->object->recalc |= OB_RECALC_OB; + + } + CTX_DATA_END; + + ED_anim_dag_flush_update(C); + ED_undo_push(C,"Set Slow Parent"); + + WM_event_add_notifier(C, NC_SCENE, CTX_data_scene(C)); + + return OPERATOR_FINISHED; +} + +void OBJECT_OT_set_slowparent(wmOperatorType *ot) { - /* back to original locations */ - Base *base; + + /* identifiers */ + ot->name= "Set Slow Parent"; + ot->idname= "OBJECT_OT_set_slow_parent"; + + /* api callbacks */ + ot->invoke= WM_operator_confirm; + ot->exec= object_set_slowparent_exec; + ot->poll= ED_operator_view3d_active; +} - for(base= FIRSTBASE; base; base= base->next) { +static int object_clear_slowparent_exec(bContext *C, wmOperator *op) +{ + Scene *scene= CTX_data_scene(C); + + CTX_DATA_BEGIN(C, Base*, base, visible_bases) { if(base->object->parent) { if(base->object->partype & PARSLOW) { base->object->partype -= PARSLOW; where_is_object(scene, base->object); base->object->partype |= PARSLOW; + base->object->recalc |= OB_RECALC_OB; } } + } + CTX_DATA_END; + + ED_anim_dag_flush_update(C); + ED_undo_push(C,"Clear Slow Parent"); + + WM_event_add_notifier(C, NC_SCENE, CTX_data_scene(C)); + + return OPERATOR_FINISHED; } -void set_slowparent(Scene *scene, View3D *v3d) -{ - Base *base; - if( okee("Set slow parent")==0 ) return; - - for(base= FIRSTBASE; base; base= base->next) { - if(TESTBASELIB(v3d, base)) { - if(base->object->parent) base->object->partype |= PARSLOW; - } - } - BIF_undo_push("Slow parent"); +void OBJECT_OT_clear_slowparent(wmOperatorType *ot) +{ + + /* identifiers */ + ot->name= "Clear Slow Parent"; + ot->idname= "OBJECT_OT_clear_slow_parent"; + + /* api callbacks */ + ot->invoke= WM_operator_confirm; + ot->exec= object_clear_slowparent_exec; + ot->poll= ED_operator_view3d_active; } +/* ******************** **************** */ // XXX #define BEZSELECTED_HIDDENHANDLES(bezt) ((G.f & G_HIDDENHANDLES) ? (bezt)->f2 & SELECT : BEZSELECTED(bezt)) @@ -6308,55 +6350,3 @@ allqueue(REDRAWBUTSEDIT, 0); } } - -void hide_objects(Scene *scene, View3D *v3d, int select) -{ - Base *base; - short changed = 0, changed_act = 0; - for(base = FIRSTBASE; base; base=base->next){ - if ((base->lay & v3d->lay) && TESTBASELIB(v3d, base)==select) { - base->flag &= ~SELECT; - base->object->flag = base->flag; - base->object->restrictflag |= OB_RESTRICT_VIEW; - changed = 1; - if (base==BASACT) { - BASACT= NULL; - changed_act = 1; - } - } - } - if (changed) { - if(select) BIF_undo_push("Hide Selected Objects"); - else if(select) BIF_undo_push("Hide Unselected Objects"); - DAG_scene_sort(scene); - allqueue(REDRAWVIEW3D,0); - allqueue(REDRAWOOPS,0); - allqueue(REDRAWDATASELECT,0); - if (changed_act) { /* these spaces depend on the active object */ - allqueue(REDRAWBUTSALL,0); - allqueue(REDRAWIPO,0); - allqueue(REDRAWACTION,0); - } - } -} - -void show_objects(Scene *scene, View3D *v3d) -{ - Base *base; - int changed = 0; - - for(base = FIRSTBASE; base; base=base->next){ - if((base->lay & v3d->lay) && base->object->restrictflag & OB_RESTRICT_VIEW) { - base->flag |= SELECT; - base->object->flag = base->flag; - base->object->restrictflag &= ~OB_RESTRICT_VIEW; - changed = 1; - } - } - if (changed) { - BIF_undo_push("Unhide Objects"); - DAG_scene_sort(scene); - allqueue(REDRAWVIEW3D,0); - allqueue(REDRAWOOPS,0); - } -} Modified: branches/blender2.5/blender/source/blender/editors/object/object_intern.h =================================================================== --- branches/blender2.5/blender/source/blender/editors/object/object_intern.h 2009-01-08 00:24:59 UTC (rev 18413) +++ branches/blender2.5/blender/source/blender/editors/object/object_intern.h 2009-01-08 02:50:37 UTC (rev 18414) @@ -51,6 +51,8 @@ void OBJECT_OT_clear_origin(wmOperatorType *ot); void OBJECT_OT_clear_restrictview(wmOperatorType *ot); void OBJECT_OT_set_restrictview(wmOperatorType *ot); +void OBJECT_OT_set_slowparent(wmOperatorType *ot); +void OBJECT_OT_clear_slowparent(wmOperatorType *ot); #endif /* ED_OBJECT_INTERN_H */ Modified: branches/blender2.5/blender/source/blender/editors/object/object_ops.c =================================================================== --- branches/blender2.5/blender/source/blender/editors/object/object_ops.c 2009-01-08 00:24:59 UTC (rev 18413) +++ branches/blender2.5/blender/source/blender/editors/object/object_ops.c 2009-01-08 02:50:37 UTC (rev 18414) @@ -79,6 +79,8 @@ WM_operatortype_append(OBJECT_OT_clear_origin); WM_operatortype_append(OBJECT_OT_clear_restrictview); WM_operatortype_append(OBJECT_OT_set_restrictview); + WM_operatortype_append(OBJECT_OT_set_slowparent); + WM_operatortype_append(OBJECT_OT_clear_slowparent); } void ED_keymap_object(wmWindowManager *wm) Modified: branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c =================================================================== --- branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c 2009-01-08 00:24:59 UTC (rev 18413) +++ branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c 2009-01-08 02:50:37 UTC (rev 18414) @@ -1344,41 +1344,6 @@ /* ********************************************************* */ -void set_render_border(Scene *scene, ARegion *ar, View3D *v3d) -{ - rcti rect; - short val; - - val= 0; // XXX get_border(&rect, 3); - if(val) { - rctf vb; - - calc_viewborder(scene, ar, v3d, &vb); - - scene->r.border.xmin= ((float)rect.xmin-vb.xmin)/(vb.xmax-vb.xmin); - scene->r.border.ymin= ((float)rect.ymin-vb.ymin)/(vb.ymax-vb.ymin); - scene->r.border.xmax= ((float)rect.xmax-vb.xmin)/(vb.xmax-vb.xmin); - scene->r.border.ymax= ((float)rect.ymax-vb.ymin)/(vb.ymax-vb.ymin); - - CLAMP(scene->r.border.xmin, 0.0, 1.0); - CLAMP(scene->r.border.ymin, 0.0, 1.0); - CLAMP(scene->r.border.xmax, 0.0, 1.0); - CLAMP(scene->r.border.ymax, 0.0, 1.0); - - /* drawing a border surrounding the entire camera view switches off border rendering - * or the border covers no pixels */ - if ((scene->r.border.xmin <= 0.0 && scene->r.border.xmax >= 1.0 && - scene->r.border.ymin <= 0.0 && scene->r.border.ymax >= 1.0) || - (scene->r.border.xmin == scene->r.border.xmax || - scene->r.border.ymin == scene->r.border.ymax )) - { - scene->r.mode &= ~R_BORDER; - } else { - scene->r.mode |= R_BORDER; - } - } -} - void view3d_border_zoom(Scene *scene, ARegion *ar, View3D *v3d) { Modified: branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_view.c =================================================================== --- branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_view.c 2009-01-08 00:24:59 UTC (rev 18413) +++ branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_view.c 2009-01-08 02:50:37 UTC (rev 18414) @@ -993,28 +993,6 @@ } } -void setcameratoview3d(View3D *v3d) -{ - Object *ob; - float dvec[3]; - - ob= v3d->camera; - dvec[0]= v3d->dist*v3d->viewinv[2][0]; - dvec[1]= v3d->dist*v3d->viewinv[2][1]; - dvec[2]= v3d->dist*v3d->viewinv[2][2]; - VECCOPY(ob->loc, dvec); - VecSubf(ob->loc, ob->loc, v3d->ofs); - v3d->viewquat[0]= -v3d->viewquat[0]; - /* */ - /*if (ob->transflag & OB_QUAT) { - QUATCOPY(ob->quat, v3d->viewquat); - } else {*/ - QuatToEul(v3d->viewquat, ob->rot); - /*}*/ - v3d->viewquat[0]= -v3d->viewquat[0]; -} - - /* IGLuint-> GLuint*/ /* Warning: be sure to account for a negative return value * This is an error, "Too many objects in select buffer" _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs