Revision: 18479
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18479
Author:   ton
Date:     2009-01-13 16:18:41 +0100 (Tue, 13 Jan 2009)

Log Message:
-----------
2.5

- restored three more C files: editlattice, editkey
  and editgroup
- editmode lattice working, (mouse select works)
- accidentally removed yesterday 3d cursor drawing
- removed global editLatt entirely now.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/blenkernel/BKE_lattice.h
    branches/blender2.5/blender/source/blender/blenkernel/intern/lattice.c
    branches/blender2.5/blender/source/blender/editors/armature/editarmature.c
    branches/blender2.5/blender/source/blender/editors/include/ED_object.h
    branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h
    branches/blender2.5/blender/source/blender/editors/mesh/editdeform.c
    branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c
    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/space_view3d/drawobject.c
    
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_draw.c
    
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_intern.h
    
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_select.c

Added Paths:
-----------
    branches/blender2.5/blender/source/blender/editors/object/editgroup.c
    branches/blender2.5/blender/source/blender/editors/object/editkey.c
    branches/blender2.5/blender/source/blender/editors/object/editlattice.c

Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_lattice.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_lattice.h 
2009-01-13 13:13:04 UTC (rev 18478)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_lattice.h 
2009-01-13 15:18:41 UTC (rev 18479)
@@ -38,9 +38,6 @@
 struct BPoint;
 struct MDeformVert;
 
-extern struct Lattice *editLatt;
-
-
 void resizelattice(struct Lattice *lt, int u, int v, int w, struct Object 
*ltOb);
 struct Lattice *add_lattice(char *name);
 struct Lattice *copy_lattice(struct Lattice *lt);

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/lattice.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/lattice.c      
2009-01-13 13:13:04 UTC (rev 18478)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/lattice.c      
2009-01-13 15:18:41 UTC (rev 18479)
@@ -73,8 +73,6 @@
 
 //XXX #include "BIF_editdeform.h"
 
-Lattice *editLatt=0;
-
 void calc_lat_fudu(int flag, int res, float *fu, float *du)
 {
        if(res==1) {
@@ -233,6 +231,11 @@
 {
        if(lt->def) MEM_freeN(lt->def);
        if(lt->dvert) free_dverts(lt->dvert, lt->pntsu*lt->pntsv*lt->pntsw);
+       if(lt->editlatt) {
+               if(lt->def) MEM_freeN(lt->def);
+               if(lt->dvert) free_dverts(lt->dvert, 
lt->pntsu*lt->pntsv*lt->pntsw);
+               MEM_freeN(lt->editlatt);
+       }
 }
 
 

Modified: 
branches/blender2.5/blender/source/blender/editors/armature/editarmature.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/armature/editarmature.c  
2009-01-13 13:13:04 UTC (rev 18478)
+++ branches/blender2.5/blender/source/blender/editors/armature/editarmature.c  
2009-01-13 15:18:41 UTC (rev 18479)
@@ -1134,17 +1134,14 @@
 
 /* used by posemode as well editmode */
 /* only checks scene->basact! */
-static void *get_nearest_bone (Scene *scene, short findunsel)
+static void *get_nearest_bone (bContext *C, short findunsel)
 {
        ViewContext vc;
        rcti rect;
        unsigned int buffer[MAXPICKBUF];
        short hits;
        
-       memset(&vc, 0, sizeof(ViewContext));
-       vc.scene= scene;
-       vc.obedit= scene->obedit;
-       // XXX fill in further!
+       view3d_set_viewcontext(C, &vc);
        
        // rect.xmin= ... mouseco!
        
@@ -1152,7 +1149,7 @@
        hits= view3d_opengl_select(&vc, buffer, MAXPICKBUF, &rect);
 
        if (hits>0)
-               return get_bone_from_selectbuffer(scene, scene->basact, buffer, 
hits, findunsel);
+               return get_bone_from_selectbuffer(vc.scene, vc.scene->basact, 
buffer, hits, findunsel);
        
        return NULL;
 }
@@ -1346,18 +1343,16 @@
 }
 
 /* within active object context */
-void selectconnected_posearmature(Scene *scene)
+void selectconnected_posearmature(bContext *C)
 {
+       Object *ob= CTX_data_edit_object(C);
        Bone *bone, *curBone, *next;
-       Object *ob= OBACT;
        int shift= 0; // XXX
        
-       if(!ob || !ob->pose) return;
-       
        if (shift)
-               bone= get_nearest_bone(scene, 0);
+               bone= get_nearest_bone(C, 0);
        else
-               bone = get_nearest_bone(scene, 1);
+               bone = get_nearest_bone(C, 1);
        
        if (!bone)
                return;
@@ -1391,16 +1386,17 @@
 /* **************** EditMode stuff ********************** */
 
 /* called in space.c */
-void selectconnected_armature(Scene *scene, View3D *v3d, Object *obedit)
+void selectconnected_armature(bContext *C)
 {
+       Object *obedit= CTX_data_edit_object(C);
        bArmature *arm= obedit->data;
        EditBone *bone, *curBone, *next;
        int shift= 0; // XXX
 
        if (shift)
-               bone= get_nearest_bone(scene, 0);
+               bone= get_nearest_bone(C, 0);
        else
-               bone= get_nearest_bone(scene, 1);
+               bone= get_nearest_bone(C, 1);
 
        if (!bone)
                return;
@@ -1721,12 +1717,7 @@
        EditBone *nearBone = NULL, *ebone;
        int     selmask;
 
-       memset(&vc, 0, sizeof(ViewContext));
-       vc.ar= CTX_wm_region(C);
-       vc.scene= CTX_data_scene(C);
-       vc.v3d= (View3D *)CTX_wm_space_data(C);
-       vc.obact= CTX_data_active_object(C);
-       vc.obedit= obedit; 
+       view3d_set_viewcontext(C, &vc);
        
        nearBone= get_nearest_editbonepoint(&vc, mval, arm->edbo, 1, &selmask);
        if (nearBone) {

Modified: branches/blender2.5/blender/source/blender/editors/include/ED_object.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_object.h      
2009-01-13 13:13:04 UTC (rev 18478)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_object.h      
2009-01-13 15:18:41 UTC (rev 18479)
@@ -66,6 +66,12 @@
 struct bConstraint *add_new_constraint (short type);
 void add_constraint_to_object (struct bConstraint *con, struct Object *ob);
 
+/* editlattice.c */
+void mouse_lattice(struct bContext *C, short mval[2], int extend);
 
+/* keys */
+void insert_shapekey(struct Scene *scene, struct Object *ob);
+void delete_key(struct Scene *scene, struct Object *ob);
+
 #endif /* ED_OBJECT_H */
 

Modified: branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h      
2009-01-13 13:13:04 UTC (rev 18478)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h      
2009-01-13 15:18:41 UTC (rev 18479)
@@ -93,6 +93,7 @@
 /* select */
 #define MAXPICKBUF      10000
 short view3d_opengl_select(struct ViewContext *vc, unsigned int *buffer, 
unsigned int bufsize, rcti *input);
+void view3d_set_viewcontext(struct bContext *C, struct ViewContext *vc);
 
 /* modes */
 void ED_view3d_exit_paint_modes(struct bContext *C);

Modified: branches/blender2.5/blender/source/blender/editors/mesh/editdeform.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/mesh/editdeform.c        
2009-01-13 13:13:04 UTC (rev 18478)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editdeform.c        
2009-01-13 15:18:41 UTC (rev 18479)
@@ -65,6 +65,17 @@
 static void BIF_undo_push() {}
 static void error() {}
 
+static Lattice *def_get_lattice(Object *ob)
+{
+       if(ob->type==OB_LATTICE) {
+               Lattice *lt= ob->data;
+               if(lt->editlatt)
+                       return lt->editlatt;
+               return lt;
+       }
+       return NULL;
+}
+
 /* only in editmode */
 void sel_verts_defgroup (Object *obedit, int select)
 {
@@ -103,14 +114,17 @@
        }
                break;
        case OB_LATTICE:
-               if(editLatt->dvert) {
+       {
+               Lattice *lt= def_get_lattice(ob);
+               
+               if(lt->dvert) {
                        BPoint *bp;
                        int a, tot;
                        
-                       dvert= editLatt->dvert;
+                       dvert= lt->dvert;
 
-                       tot= editLatt->pntsu*editLatt->pntsv*editLatt->pntsw;
-                       for(a=0, bp= editLatt->def; a<tot; a++, bp++, dvert++) {
+                       tot= lt->pntsu*lt->pntsv*lt->pntsw;
+                       for(a=0, bp= lt->def; a<tot; a++, bp++, dvert++) {
                                for (i=0; i<dvert->totweight; i++){
                                        if (dvert->dw[i].def_nr == 
(ob->actdef-1)) {
                                                if(select) bp->f1 |= SELECT;
@@ -120,7 +134,8 @@
                                        }
                                }
                        }
-               }       
+               }
+       }
                break;
                
        default:
@@ -392,14 +407,15 @@
                                                dvert->dw[i].def_nr--;
                }
        }
-       else {
+       else if(ob->type==OB_LATTICE) {
+               Lattice *lt= def_get_lattice(ob);
                BPoint *bp;
-               MDeformVert *dvert= editLatt->dvert;
+               MDeformVert *dvert= lt->dvert;
                int a, tot;
                
                if (dvert) {
-                       tot= editLatt->pntsu*editLatt->pntsv*editLatt->pntsw;
-                       for(a=0, bp= editLatt->def; a<tot; a++, bp++, dvert++) {
+                       tot= lt->pntsu*lt->pntsv*lt->pntsw;
+                       for(a=0, bp= lt->def; a<tot; a++, bp++, dvert++) {
                                for (i=0; i<dvert->totweight; i++){
                                        if (dvert->dw[i].def_nr > 
(ob->actdef-1))
                                                dvert->dw[i].def_nr--;
@@ -424,10 +440,11 @@
                        CustomData_free_layer_active(&me->vdata, 
CD_MDEFORMVERT, me->totvert);
                        me->dvert= NULL;
                }
-               else {
-                       if (editLatt->dvert) {
-                               MEM_freeN(editLatt->dvert);
-                               editLatt->dvert= NULL;
+               else if(ob->type==OB_LATTICE) {
+                       Lattice *lt= def_get_lattice(ob);
+                       if (lt->dvert) {
+                               MEM_freeN(lt->dvert);
+                               lt->dvert= NULL;
                        }
                }
        }
@@ -445,10 +462,11 @@
                CustomData_free_layer_active(&me->vdata, CD_MDEFORMVERT, 
me->totvert);
                me->dvert= NULL;
        }
-       else {
-               if (editLatt->dvert) {
-                       MEM_freeN(editLatt->dvert);
-                       editLatt->dvert= NULL;
+       else if(ob->type==OB_LATTICE) {
+               Lattice *lt= def_get_lattice(ob);
+               if (lt->dvert) {
+                       MEM_freeN(lt->dvert);
+                       lt->dvert= NULL;
                }
        }
        
@@ -500,9 +518,8 @@
                        dvert = ((Mesh*)ob->data)->dvert + vertnum;
        }
        else if(ob->type==OB_LATTICE) {
-               Lattice *lt= ob->data;
+               Lattice *lt= def_get_lattice(ob);
                
-               if(lt->editlatt) lt= lt->editlatt;
                if(lt->dvert)
                        dvert = lt->dvert + vertnum;
        }
@@ -568,10 +585,8 @@
                        dv = ((Mesh*)ob->data)->dvert + vertnum;
        }
        else if(ob->type==OB_LATTICE) {
-               Lattice *lt= ob->data;
+               Lattice *lt= def_get_lattice(ob);
                
-               if(lt->editlatt) lt= lt->editlatt;
-                       
                if(lt->dvert)
                        dv = lt->dvert + vertnum;
        }
@@ -747,18 +762,19 @@
                break;
        case OB_LATTICE:
                {
+                       Lattice *lt= def_get_lattice(ob);
                        BPoint *bp;
                        int a, tot;
                        
-                       if(editLatt->dvert==NULL)
-                               create_dverts(&editLatt->id);
+                       if(lt->dvert==NULL)
+                               create_dverts(&lt->id);
                        
-                       tot= editLatt->pntsu*editLatt->pntsv*editLatt->pntsw;
-                       for(a=0, bp= editLatt->def; a<tot; a++, bp++) {
+                       tot= lt->pntsu*lt->pntsv*lt->pntsw;
+                       for(a=0, bp= lt->def; a<tot; a++, bp++) {
                                if(bp->f1 & SELECT)
                                        add_vert_defnr (ob, ob->actdef-1, a, 
weight, WEIGHT_REPLACE);
                        }
-               }       
+               }
                break;
        default:
                printf ("Assigning deformation groups to unknown object 
type\n");
@@ -807,10 +823,8 @@
                        dvert = ((Mesh*)ob->data)->dvert + vertnum;
        }
        else if(ob->type==OB_LATTICE) {
-               Lattice *lt= ob->data;
+               Lattice *lt= def_get_lattice(ob);
                
-               if(lt->editlatt) lt= lt->editlatt;
-               
                if(lt->dvert)
                        dvert = lt->dvert + vertnum;
        }
@@ -899,16 +913,19 @@
        }
                break;
        case OB_LATTICE:
+       {
+               Lattice *lt= def_get_lattice(ob);
                
-               if(editLatt->dvert) {
+               if(lt->dvert) {
                        BPoint *bp;
-                       int a, tot= 
editLatt->pntsu*editLatt->pntsv*editLatt->pntsw;
+                       int a, tot= lt->pntsu*lt->pntsv*lt->pntsw;
                                
-                       for(a=0, bp= editLatt->def; a<tot; a++, bp++) {
+                       for(a=0, bp= lt->def; a<tot; a++, bp++) {
                                if(allverts || (bp->f1 & SELECT))
                                        remove_vert_defgroup (ob, dg, a);
                        }
                }
+       }
                break;
                
        default:

Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c  
2009-01-13 13:13:04 UTC (rev 18478)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c  
2009-01-13 15:18:41 UTC (rev 18479)

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to