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

Ton Roosendaal ton at blender.org
Wed Dec 31 18:11:43 CET 2008


Revision: 18197
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18197
Author:   ton
Date:     2008-12-31 18:11:42 +0100 (Wed, 31 Dec 2008)

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

So, editmode mesh is back! :)
At the moment only TABkey works and mouse select, 1 vertex at a
time. More will follow of course.

Note for the devs:
- G.editMesh has been removed, be careful with old code.
- EditMesh now is property of Mesh itself
  Although it means unlimited editmodes, for migration purposes we
  better stick to 1 "obedit" per scene, which is in Context too
- G.obedit will get removed soon, so use CTX_data_edit_object(C)
  Or if you can't, just scene->obedit for now
- Also removed the CTX_data_edit_mesh(), this has no meaning 
  anymore. EditMesh is not context senstitive anymore, only the
  edit-object for time being is.
- Martin: I've already tucked some EditMesh pointer in T and
  removed all G.editMesh there.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/blenkernel/BKE_DerivedMesh.h
    branches/blender2.5/blender/source/blender/blenkernel/BKE_bmesh.h
    branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h
    branches/blender2.5/blender/source/blender/blenkernel/BKE_displist.h
    branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h
    branches/blender2.5/blender/source/blender/blenkernel/intern/BME_conversions.c
    branches/blender2.5/blender/source/blender/blenkernel/intern/DerivedMesh.c
    branches/blender2.5/blender/source/blender/blenkernel/intern/anim.c
    branches/blender2.5/blender/source/blender/blenkernel/intern/blender.c
    branches/blender2.5/blender/source/blender/blenkernel/intern/constraint.c
    branches/blender2.5/blender/source/blender/blenkernel/intern/context.c
    branches/blender2.5/blender/source/blender/blenkernel/intern/exotic.c
    branches/blender2.5/blender/source/blender/blenkernel/intern/mesh.c
    branches/blender2.5/blender/source/blender/blenkernel/intern/modifier.c
    branches/blender2.5/blender/source/blender/blenkernel/intern/multires-firstlevel.c
    branches/blender2.5/blender/source/blender/blenkernel/intern/multires.c
    branches/blender2.5/blender/source/blender/blenkernel/intern/object.c
    branches/blender2.5/blender/source/blender/blenkernel/intern/shrinkwrap.c
    branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
    branches/blender2.5/blender/source/blender/editors/include/ED_mesh.h
    branches/blender2.5/blender/source/blender/editors/include/ED_util.h
    branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c
    branches/blender2.5/blender/source/blender/editors/mesh/editmesh.h
    branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c
    branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c
    branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.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/object/object_ops.c
    branches/blender2.5/blender/source/blender/editors/screen/glutil.c
    branches/blender2.5/blender/source/blender/editors/screen/screen_context.c
    branches/blender2.5/blender/source/blender/editors/screen/screen_edit.c
    branches/blender2.5/blender/source/blender/editors/space_outliner/space_outliner.c
    branches/blender2.5/blender/source/blender/editors/space_view3d/drawmesh.c
    branches/blender2.5/blender/source/blender/editors/space_view3d/drawobject.c
    branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c
    branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_select.c
    branches/blender2.5/blender/source/blender/editors/transform/transform.c
    branches/blender2.5/blender/source/blender/editors/transform/transform.h
    branches/blender2.5/blender/source/blender/editors/transform/transform_conversions.c
    branches/blender2.5/blender/source/blender/editors/transform/transform_generics.c
    branches/blender2.5/blender/source/blender/editors/transform/transform_manipulator.c
    branches/blender2.5/blender/source/blender/editors/transform/transform_ops.c
    branches/blender2.5/blender/source/blender/editors/transform/transform_orientations.c
    branches/blender2.5/blender/source/blender/editors/util/ed_util.c
    branches/blender2.5/blender/source/blender/makesdna/DNA_curve_types.h
    branches/blender2.5/blender/source/blender/makesdna/DNA_mesh_types.h
    branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h
    branches/blender2.5/blender/source/blender/windowmanager/WM_types.h
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_init_exit.c

Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_DerivedMesh.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_DerivedMesh.h	2008-12-31 15:02:40 UTC (rev 18196)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_DerivedMesh.h	2008-12-31 17:11:42 UTC (rev 18197)
@@ -443,14 +443,14 @@
                                                   float (*vertCos)[3],
                                                   CustomDataMask dataMask);
 
-DerivedMesh *editmesh_get_derived_base(void);
-DerivedMesh *editmesh_get_derived_cage(CustomDataMask dataMask);
-DerivedMesh *editmesh_get_derived_cage_and_final(DerivedMesh **final_r,
+DerivedMesh *editmesh_get_derived_base(struct EditMesh *em);
+DerivedMesh *editmesh_get_derived_cage(struct EditMesh *em, CustomDataMask dataMask);
+DerivedMesh *editmesh_get_derived_cage_and_final(struct EditMesh *em, DerivedMesh **final_r,
                                                  CustomDataMask dataMask);
 
 /* returns an array of deform matrices for crazyspace correction, and the
    number of modifiers left */
-int editmesh_get_first_deform_matrices(float (**deformmats)[3][3],
+int editmesh_get_first_deform_matrices(struct EditMesh *em, float (**deformmats)[3][3],
                                        float (**deformcos)[3]);
 
 void weight_to_rgb(float input, float *fr, float *fg, float *fb);

Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_bmesh.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_bmesh.h	2008-12-31 15:02:40 UTC (rev 18196)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_bmesh.h	2008-12-31 17:11:42 UTC (rev 18197)
@@ -247,7 +247,7 @@
 
 /*CONVERSION FUNCTIONS*/
 struct BME_Mesh *BME_editmesh_to_bmesh(EditMesh *em);
-struct EditMesh *BME_bmesh_to_editmesh(struct BME_Mesh *bm, BME_TransData_Head *td);
+void   BME_bmesh_to_editmesh(struct BME_Mesh *bm, BME_TransData_Head *td, EditMesh *em);
 struct BME_Mesh *BME_derivedmesh_to_bmesh(struct DerivedMesh *dm);
 struct DerivedMesh *BME_bmesh_to_derivedmesh(struct BME_Mesh *bm, struct DerivedMesh *dm);
 #endif

Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h	2008-12-31 15:02:40 UTC (rev 18196)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h	2008-12-31 17:11:42 UTC (rev 18197)
@@ -142,10 +142,7 @@
 
 struct Object *CTX_data_active_object(const bContext *C);
 struct Base *CTX_data_active_base(const bContext *C);
-
 struct Object *CTX_data_edit_object(const bContext *C);
-struct EditMesh *CTX_data_edit_mesh(const bContext *C);
-struct ListBase *CTX_data_edit_armature(const bContext *C);
 
 /* Data Evaluation Context */
 

Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_displist.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_displist.h	2008-12-31 15:02:40 UTC (rev 18196)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_displist.h	2008-12-31 17:11:42 UTC (rev 18197)
@@ -60,8 +60,8 @@
 struct Material;
 struct Bone;
 struct Mesh;
+struct EditMesh;
 
-
 /* used for curves, nurbs, mball, importing */
 typedef struct DispList {
     struct DispList *next, *prev;
@@ -85,7 +85,7 @@
 extern void count_displist(struct ListBase *lb, int *totvert, int *totface);
 extern void freedisplist(struct ListBase *lb);
 extern int displist_has_faces(struct ListBase *lb);
-extern void makeDerivedMesh(struct Object *ob, CustomDataMask dataMask);
+extern void makeDerivedMesh(struct Object *ob, struct EditMesh *em, CustomDataMask dataMask);
 extern void makeDispListSurf(struct Object *ob, struct ListBase *dispbase, int forRender);
 extern void makeDispListCurveTypes(struct Object *ob, int forOrco);
 extern void makeDispListMBall(struct Object *ob);

Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h	2008-12-31 15:02:40 UTC (rev 18196)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h	2008-12-31 17:11:42 UTC (rev 18197)
@@ -60,7 +60,6 @@
 struct Object;
 struct bSoundListener;
 struct BMF_Font;
-struct EditMesh;
 struct BME_Glob;
 
 typedef struct Global {
@@ -97,9 +96,6 @@
 	short rt;
 	int f;
 
-	/* Editmode lists */
-	struct EditMesh *editMesh;
-	
 	/* Used for BMesh transformations */
 	struct BME_Glob *editBMesh;
     

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/BME_conversions.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/BME_conversions.c	2008-12-31 15:02:40 UTC (rev 18196)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/BME_conversions.c	2008-12-31 17:11:42 UTC (rev 18197)
@@ -343,27 +343,23 @@
 	BME_model_end(bm);
 	return bm;
 }
-/* adds the geometry in the bmesh to G.editMesh (does not free G.editMesh)
+/* adds the geometry in the bmesh to editMesh (does not free editMesh)
  * if td != NULL, the transdata will be mapped to the EditVert's co */
-EditMesh *BME_bmesh_to_editmesh(BME_Mesh *bm, BME_TransData_Head *td) {
+void BME_bmesh_to_editmesh(BME_Mesh *bm, BME_TransData_Head *td, EditMesh *em) {
 	BME_Vert *v1;
 	BME_Edge *e;
 	BME_Poly *f;
 	
 	BME_TransData *vtd;
 
-	EditMesh *em;
 	EditVert *eve1, *eve2, *eve3, *eve4, **evlist;
 	EditEdge *eed;
 	EditFace *efa;
 
 	int totvert, len, i, numTex, numCol;
 
-	em = G.editMesh;
+	if (em == NULL) return;
 
-	if (em == NULL) return NULL;
-
-
 	CustomData_copy(&bm->vdata, &em->vdata, CD_MASK_BMESH, CD_CALLOC, 0);
 	CustomData_copy(&bm->edata, &em->edata, CD_MASK_BMESH, CD_CALLOC, 0);
 	CustomData_copy(&bm->pdata, &em->fdata, CD_MASK_BMESH, CD_CALLOC, 0);
@@ -438,9 +434,6 @@
 
 	MEM_freeN(evlist);
 
-	//XXX countall();
-
-	return em;
 }
 
 /* Adds the geometry found in dm to bm

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/DerivedMesh.c	2008-12-31 15:02:40 UTC (rev 18196)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/DerivedMesh.c	2008-12-31 17:11:42 UTC (rev 18197)
@@ -629,7 +629,7 @@
 			if(draw) {
 				if (draw==2) { /* enabled with stipple */
 		  			glEnable(GL_POLYGON_STIPPLE);
-		  			glPolygonStipple(0); //XXX stipple_quarttone);
+		  			glPolygonStipple(stipple_quarttone);
 				}
 				
 				glShadeModel(drawSmooth?GL_SMOOTH:GL_FLAT);
@@ -666,7 +666,7 @@
 			if(draw) {
 				if (draw==2) { /* enabled with stipple */
 		  			glEnable(GL_POLYGON_STIPPLE);
-		  			glPolygonStipple(0); //XXX stipple_quarttone);
+		  			glPolygonStipple(stipple_quarttone);
 				}
 				glShadeModel(drawSmooth?GL_SMOOTH:GL_FLAT);
 
@@ -2396,12 +2396,11 @@
 	return 1;
 }
 
-static void editmesh_calc_modifiers(DerivedMesh **cage_r,
+static void editmesh_calc_modifiers(EditMesh *em, DerivedMesh **cage_r,
                                     DerivedMesh **final_r,
                                     CustomDataMask dataMask)
 {
 	Object *ob = G.obedit;
-	EditMesh *em = G.editMesh;
 	ModifierData *md;
 	float (*deformedVerts)[3] = NULL;
 	CustomDataMask mask;
@@ -2742,12 +2741,10 @@
 	}
 }
 
-static void editmesh_build_data(CustomDataMask dataMask)
+static void editmesh_build_data(EditMesh *em, CustomDataMask dataMask)
 {
 	float min[3], max[3];
 
-	EditMesh *em = G.editMesh;
-
 	clear_mesh_caches(G.obedit);
 
 	if (em->derivedFinal) {
@@ -2763,7 +2760,7 @@
 		em->derivedCage = NULL;
 	}
 
-	editmesh_calc_modifiers(&em->derivedCage, &em->derivedFinal, dataMask);
+	editmesh_calc_modifiers(em, &em->derivedCage, &em->derivedFinal, dataMask);
 	em->lastDataMask = dataMask;
 
 	INIT_MINMAX(min, max);
@@ -2778,10 +2775,10 @@
 	em->derivedCage->needsFree = 0;
 }
 
-void makeDerivedMesh(Object *ob, CustomDataMask dataMask)
+void makeDerivedMesh(Object *ob, EditMesh *em, CustomDataMask dataMask)
 {
-	if (ob==G.obedit) {
-		editmesh_build_data(dataMask);
+	if (em) {
+		editmesh_build_data(em, dataMask);
 	} else {
 		mesh_build_data(ob, dataMask);
 	}
@@ -2953,35 +2950,35 @@
 
 /***/
 
-DerivedMesh *editmesh_get_derived_cage_and_final(DerivedMesh **final_r,
+DerivedMesh *editmesh_get_derived_cage_and_final(EditMesh *em, DerivedMesh **final_r,
                                                  CustomDataMask dataMask)
 {
 	/* if there's no derived mesh or the last data mask used doesn't include
 	 * the data we need, rebuild the derived mesh
 	 */
-	if(!G.editMesh->derivedCage ||
-	   (G.editMesh->lastDataMask & dataMask) != dataMask)
-		editmesh_build_data(dataMask);
+	if(!em->derivedCage ||
+	   (em->lastDataMask & dataMask) != dataMask)
+		editmesh_build_data(em, dataMask);
 
-	*final_r = G.editMesh->derivedFinal;
-	return G.editMesh->derivedCage;
+	*final_r = em->derivedFinal;
+	return em->derivedCage;
 }
 
-DerivedMesh *editmesh_get_derived_cage(CustomDataMask dataMask)
+DerivedMesh *editmesh_get_derived_cage(EditMesh *em, CustomDataMask dataMask)
 {
 	/* if there's no derived mesh or the last data mask used doesn't include
 	 * the data we need, rebuild the derived mesh
 	 */
-	if(!G.editMesh->derivedCage ||
-	   (G.editMesh->lastDataMask & dataMask) != dataMask)
-		editmesh_build_data(dataMask);
+	if(!em->derivedCage ||
+	   (em->lastDataMask & dataMask) != dataMask)
+		editmesh_build_data(em, dataMask);
 
-	return G.editMesh->derivedCage;
+	return em->derivedCage;
 }
 
-DerivedMesh *editmesh_get_derived_base(void)
+DerivedMesh *editmesh_get_derived_base(EditMesh *em)
 {
-	return getEditMeshDerivedMesh(G.editMesh, G.obedit, NULL);
+	return getEditMeshDerivedMesh(em, G.obedit, NULL);
 }
 
 
@@ -3043,10 +3040,9 @@
 
 /* ********* crazyspace *************** */
 
-int editmesh_get_first_deform_matrices(float (**deformmats)[3][3], float (**deformcos)[3])
+int editmesh_get_first_deform_matrices(EditMesh *em, float (**deformmats)[3][3], float (**deformcos)[3])
 {
 	Object *ob = G.obedit;
-	EditMesh *em = G.editMesh;
 	ModifierData *md;
 	DerivedMesh *dm;
 	int i, a, numleft = 0, numVerts = 0;


@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list