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

Reply via email to