[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