[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20253] branches/bmesh/blender: renamed BMTessMesh to BMEditMesh, did some more monkeywork, cleaned up the more serious warnings, and also non-backbuffered selection sortof works now, though it still needs plenty of work.

Joseph Eagar joeedh at gmail.com
Mon May 18 10:46:04 CEST 2009


Revision: 20253
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20253
Author:   joeedh
Date:     2009-05-18 10:46:04 +0200 (Mon, 18 May 2009)

Log Message:
-----------
renamed BMTessMesh to BMEditMesh, did some more monkeywork, cleaned up the more serious warnings, and also non-backbuffered selection sortof works now, though it still needs plenty of work.

Modified Paths:
--------------
    branches/bmesh/blender/projectfiles_vc9/blender/editors/ED_editors.vcproj
    branches/bmesh/blender/source/blender/blenkernel/BKE_DerivedMesh.h
    branches/bmesh/blender/source/blender/blenkernel/BKE_cdderivedmesh.h
    branches/bmesh/blender/source/blender/blenkernel/BKE_mesh.h
    branches/bmesh/blender/source/blender/blenkernel/BKE_modifier.h
    branches/bmesh/blender/source/blender/blenkernel/BKE_tessmesh.h
    branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c
    branches/bmesh/blender/source/blender/blenkernel/intern/anim.c
    branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c
    branches/bmesh/blender/source/blender/blenkernel/intern/constraint.c
    branches/bmesh/blender/source/blender/blenkernel/intern/editderivedbmesh.c
    branches/bmesh/blender/source/blender/blenkernel/intern/exotic.c
    branches/bmesh/blender/source/blender/blenkernel/intern/modifier.c
    branches/bmesh/blender/source/blender/blenkernel/intern/object.c
    branches/bmesh/blender/source/blender/blenkernel/intern/shrinkwrap.c
    branches/bmesh/blender/source/blender/bmesh/bmesh.h
    branches/bmesh/blender/source/blender/bmesh/intern/bmesh_polygon.c
    branches/bmesh/blender/source/blender/editors/include/ED_mesh.h
    branches/bmesh/blender/source/blender/editors/include/ED_view3d.h
    branches/bmesh/blender/source/blender/editors/mesh/bmeshutils.c
    branches/bmesh/blender/source/blender/editors/mesh/bmeshutils_mods.c
    branches/bmesh/blender/source/blender/editors/mesh/editdeform.c
    branches/bmesh/blender/source/blender/editors/mesh/editmesh.c
    branches/bmesh/blender/source/blender/editors/mesh/editmesh_mods.c
    branches/bmesh/blender/source/blender/editors/mesh/editmesh_tools.c
    branches/bmesh/blender/source/blender/editors/mesh/mesh_intern.h
    branches/bmesh/blender/source/blender/editors/mesh/mesh_ops.c
    branches/bmesh/blender/source/blender/editors/mesh/meshtools.c
    branches/bmesh/blender/source/blender/editors/screen/screen_ops.c
    branches/bmesh/blender/source/blender/editors/space_image/image_header.c
    branches/bmesh/blender/source/blender/editors/space_image/image_panels.c
    branches/bmesh/blender/source/blender/editors/space_image/space_image.c
    branches/bmesh/blender/source/blender/editors/space_view3d/drawobject.c
    branches/bmesh/blender/source/blender/editors/space_view3d/view3d_buttons.c
    branches/bmesh/blender/source/blender/editors/space_view3d/view3d_select.c
    branches/bmesh/blender/source/blender/editors/space_view3d/view3d_snap.c
    branches/bmesh/blender/source/blender/editors/transform/transform_conversions.c
    branches/bmesh/blender/source/blender/editors/transform/transform_generics.c
    branches/bmesh/blender/source/blender/editors/transform/transform_orientations.c
    branches/bmesh/blender/source/blender/editors/transform/transform_snap.c
    branches/bmesh/blender/source/blender/editors/uvedit/uvedit_draw.c
    branches/bmesh/blender/source/blender/makesdna/DNA_mesh_types.h

Modified: branches/bmesh/blender/projectfiles_vc9/blender/editors/ED_editors.vcproj
===================================================================
--- branches/bmesh/blender/projectfiles_vc9/blender/editors/ED_editors.vcproj	2009-05-18 08:22:51 UTC (rev 20252)
+++ branches/bmesh/blender/projectfiles_vc9/blender/editors/ED_editors.vcproj	2009-05-18 08:46:04 UTC (rev 20253)
@@ -1079,6 +1079,10 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\..\source\blender\editors\mesh\bmeshutils_mods.c"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\source\blender\editors\mesh\editdeform.c"
 				>
 			</File>

Modified: branches/bmesh/blender/source/blender/blenkernel/BKE_DerivedMesh.h
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/BKE_DerivedMesh.h	2009-05-18 08:22:51 UTC (rev 20252)
+++ branches/bmesh/blender/source/blender/blenkernel/BKE_DerivedMesh.h	2009-05-18 08:46:04 UTC (rev 20253)
@@ -52,12 +52,12 @@
 struct Object;
 struct Scene;
 struct Mesh;
-struct BMTessMesh;
+struct BMEditMesh;
 struct ModifierData;
 struct MCol;
 struct ColorBand;
 struct GPUVertexAttribs;
-struct BMTessMesh;
+struct BMEditMesh;
 
 /* number of sub-elements each mesh element has (for interpolation) */
 #define SUB_ELEMS_VERT 0
@@ -433,7 +433,7 @@
 DerivedMesh *mesh_create_derived_render(struct Scene *scene, struct Object *ob,
                                         CustomDataMask dataMask);
 
-DerivedMesh *getEditDerivedBMesh(struct BMTessMesh *em, struct Object *ob,
+DerivedMesh *getEditDerivedBMesh(struct BMEditMesh *em, struct Object *ob,
                                            float (*vertexCos)[3]);
 
 DerivedMesh *mesh_create_derived_index_render(struct Scene *scene, struct Object *ob, CustomDataMask dataMask, int index);
@@ -448,17 +448,17 @@
                                                   float (*vertCos)[3],
                                                   CustomDataMask dataMask);
 
-DerivedMesh *editbmesh_get_derived_base(struct Object *, struct BMTessMesh *em);
+DerivedMesh *editbmesh_get_derived_base(struct Object *, struct BMEditMesh *em);
 DerivedMesh *editbmesh_get_derived_cage(struct Scene *scene, struct Object *, 
-									   struct BMTessMesh *em, CustomDataMask dataMask);
+									   struct BMEditMesh *em, CustomDataMask dataMask);
 DerivedMesh *editbmesh_get_derived_cage_and_final(struct Scene *scene, struct Object *, 
-						 struct BMTessMesh *em, DerivedMesh **final_r,
+						 struct BMEditMesh *em, DerivedMesh **final_r,
                                                  CustomDataMask dataMask);
-void makeDerivedMesh(struct Scene *scene, struct Object *ob, struct BMTessMesh *em, CustomDataMask dataMask);
+void makeDerivedMesh(struct Scene *scene, struct Object *ob, struct BMEditMesh *em, CustomDataMask dataMask);
 
 /* returns an array of deform matrices for crazyspace correction, and the
    number of modifiers left */
-int editbmesh_get_first_deform_matrices(struct Object *, struct BMTessMesh *em, float (**deformmats)[3][3],
+int editbmesh_get_first_deform_matrices(struct Object *, struct BMEditMesh *em, float (**deformmats)[3][3],
                                        float (**deformcos)[3]);
 
 void weight_to_rgb(float input, float *fr, float *fg, float *fb);

Modified: branches/bmesh/blender/source/blender/blenkernel/BKE_cdderivedmesh.h
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/BKE_cdderivedmesh.h	2009-05-18 08:22:51 UTC (rev 20252)
+++ branches/bmesh/blender/source/blender/blenkernel/BKE_cdderivedmesh.h	2009-05-18 08:46:04 UTC (rev 20253)
@@ -38,7 +38,7 @@
 #include "BKE_DerivedMesh.h"
 
 struct DerivedMesh;
-struct BMTessMesh;
+struct BMEditMesh;
 struct EditMesh;
 struct Mesh;
 struct Object;
@@ -55,8 +55,8 @@
 /* creates a CDDerivedMesh from the given EditMesh */
 struct DerivedMesh *CDDM_from_editmesh(struct EditMesh *em, struct Mesh *me);
 
-/* creates a CDDerivedMesh from the given BMTessMesh */
-DerivedMesh *CDDM_from_BMTessMesh(struct BMTessMesh *em, struct Mesh *me);
+/* creates a CDDerivedMesh from the given BMEditMesh */
+DerivedMesh *CDDM_from_BMEditMesh(struct BMEditMesh *em, struct Mesh *me);
 
 /* Copies the given DerivedMesh with verts, faces & edges stored as
  * custom element data.

Modified: branches/bmesh/blender/source/blender/blenkernel/BKE_mesh.h
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/BKE_mesh.h	2009-05-18 08:22:51 UTC (rev 20252)
+++ branches/bmesh/blender/source/blender/blenkernel/BKE_mesh.h	2009-05-18 08:46:04 UTC (rev 20253)
@@ -131,8 +131,11 @@
 void mesh_layers_menu_concat(struct CustomData *data, int type, char *str);
 int mesh_layers_menu(struct CustomData *data, int type);
 
+/*accessor functions for editmesh, all access to editmesh must
+  go through them!*/
+struct EditMesh *EM_GetEditMesh(struct Mesh *me);
+void EM_EndEditMesh(struct Mesh *me, struct EditMesh *em);
 
-
 #ifdef __cplusplus
 }
 #endif

Modified: branches/bmesh/blender/source/blender/blenkernel/BKE_modifier.h
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/BKE_modifier.h	2009-05-18 08:22:51 UTC (rev 20252)
+++ branches/bmesh/blender/source/blender/blenkernel/BKE_modifier.h	2009-05-18 08:46:04 UTC (rev 20253)
@@ -43,7 +43,7 @@
 struct LinkNode;
 struct bArmature;
 struct ModifierData;
-struct BMTessMesh;
+struct BMEditMesh;
 
 typedef enum {
 	/* Should not be used, only for None modifier type */
@@ -131,13 +131,13 @@
 	 */
 	void (*deformVertsEM)(
 	            struct ModifierData *md, struct Object *ob,
-	            struct BMTessMesh *editData, struct DerivedMesh *derivedData,
+	            struct BMEditMesh *editData, struct DerivedMesh *derivedData,
 	            float (*vertexCos)[3], int numVerts);
 
 	/* Set deform matrix per vertex for crazyspace correction */
 	void (*deformMatricesEM)(
 	            struct ModifierData *md, struct Object *ob,
-	            struct BMTessMesh *editData, struct DerivedMesh *derivedData,
+	            struct BMEditMesh *editData, struct DerivedMesh *derivedData,
 	            float (*vertexCos)[3], float (*defMats)[3][3], int numVerts);
 
 	/********************* Non-deform modifier functions *********************/
@@ -175,7 +175,7 @@
 	 */
 	struct DerivedMesh *(*applyModifierEM)(
 	                            struct ModifierData *md, struct Object *ob,
-	                            struct BMTessMesh *editData,
+	                            struct BMEditMesh *editData,
 	                            struct DerivedMesh *derivedData);
 
 

Modified: branches/bmesh/blender/source/blender/blenkernel/BKE_tessmesh.h
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/BKE_tessmesh.h	2009-05-18 08:22:51 UTC (rev 20252)
+++ branches/bmesh/blender/source/blender/blenkernel/BKE_tessmesh.h	2009-05-18 08:46:04 UTC (rev 20253)
@@ -20,7 +20,7 @@
   
   the entire derivedmesh and modifier system works with this structure,
   and not BMesh.  Mesh->editbmesh will store a pointer to this structure.*/
-typedef struct BMTessMesh {
+typedef struct BMEditMesh {
 	struct BMesh *bm;
 	
 	/*we store tesselations as triplets of three loops,
@@ -50,9 +50,11 @@
 
 	/*selection mode*/
 	int selectmode, totfacesel, totvertsel, totedgesel;
-} BMTessMesh;
 
-void TM_RecalcTesselation(BMTessMesh *tm);
-BMTessMesh *TM_Create(BMesh *bm);
-BMTessMesh *TM_Copy(BMTessMesh *tm);
-void TM_Free(BMTessMesh *em);
+	int mat_nr;
+} BMEditMesh;
+
+void TM_RecalcTesselation(BMEditMesh *tm);
+BMEditMesh *TM_Create(BMesh *bm);
+BMEditMesh *TM_Copy(BMEditMesh *tm);
+void TM_Free(BMEditMesh *em);

Modified: branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c	2009-05-18 08:22:51 UTC (rev 20252)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c	2009-05-18 08:46:04 UTC (rev 20253)
@@ -1413,7 +1413,7 @@
 	return dm;
 }
 
-static float *get_editbmesh_orco_verts(BMTessMesh *em)
+static float *get_editbmesh_orco_verts(BMEditMesh *em)
 {
 	BMIter iter;
 	BMVert *eve;
@@ -1434,13 +1434,13 @@
 	return orco;
 }
 
-static DerivedMesh *create_orco_dm(Object *ob, Mesh *me, BMTessMesh *em)
+static DerivedMesh *create_orco_dm(Object *ob, Mesh *me, BMEditMesh *em)
 {
 	DerivedMesh *dm;
 	float (*orco)[3];
 
 	if(em) {
-		dm= CDDM_from_BMTessMesh(em, me);
+		dm= CDDM_from_BMEditMesh(em, me);
 		orco= (float(*)[3])get_editbmesh_orco_verts(em);
 	}
 	else {
@@ -1455,7 +1455,7 @@
 	return dm;
 }
 
-static void add_orco_dm(Object *ob, BMTessMesh *em, DerivedMesh *dm, DerivedMesh *orcodm)
+static void add_orco_dm(Object *ob, BMEditMesh *em, DerivedMesh *dm, DerivedMesh *orcodm)
 {
 	float (*orco)[3], (*layerorco)[3];
 	int totvert;
@@ -1725,7 +1725,7 @@
 	BLI_linklist_free(datamasks, NULL);
 }
 
-static float (*editbmesh_getVertexCos(BMTessMesh *em, int *numVerts_r))[3]
+static float (*editbmesh_getVertexCos(BMEditMesh *em, int *numVerts_r))[3]
 {
 	int i, numVerts = *numVerts_r = em->bm->totvert;
 	float (*cos)[3];
@@ -1759,7 +1759,7 @@
 	return 1;
 }
 
-static void editbmesh_calc_modifiers(Scene *scene, Object *ob, BMTessMesh *em, DerivedMesh **cage_r,
+static void editbmesh_calc_modifiers(Scene *scene, Object *ob, BMEditMesh *em, DerivedMesh **cage_r,
                                     DerivedMesh **final_r,
                                     CustomDataMask dataMask)
 {
@@ -1842,7 +1842,7 @@
 				}
 
 			} else {
-				dm = CDDM_from_BMTessMesh(em, ob->data);
+				dm = CDDM_from_BMEditMesh(em, ob->data);
 
 				if(deformedVerts) {
 					CDDM_apply_vert_coords(dm, deformedVerts);
@@ -2107,7 +2107,7 @@
 
 }
 
-static void editbmesh_build_data(Scene *scene, Object *obedit, BMTessMesh *em, CustomDataMask dataMask)
+static void editbmesh_build_data(Scene *scene, Object *obedit, BMEditMesh *em, CustomDataMask dataMask)
 {
 	float min[3], max[3];
 
@@ -2141,7 +2141,7 @@
 	em->derivedCage->needsFree = 0;
 }
 
-void makeDerivedMesh(Scene *scene, Object *ob, BMTessMesh *em, CustomDataMask dataMask)
+void makeDerivedMesh(Scene *scene, Object *ob, BMEditMesh *em, CustomDataMask dataMask)
 {
 	if (em) {
 		editbmesh_build_data(scene, ob, em, dataMask);

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list