[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18479] branches/blender2.5/blender/source /blender: 2.5

Ton Roosendaal ton at blender.org
Tue Jan 13 16:18:44 CET 2009


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. @@




More information about the Bf-blender-cvs mailing list