Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Eagar <joeedh@gmail.com>2009-05-18 12:46:04 +0400
committerJoseph Eagar <joeedh@gmail.com>2009-05-18 12:46:04 +0400
commit0ba863de29ad6768260e1b4e67f3eec9c8ae4c81 (patch)
treeb1c606be25678a749abcb46a5877d8ec262c15ba /source/blender/blenkernel
parent166c270f060e0ffadbc53c27afb112f294e7425e (diff)
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.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/BKE_DerivedMesh.h16
-rw-r--r--source/blender/blenkernel/BKE_cdderivedmesh.h6
-rw-r--r--source/blender/blenkernel/BKE_mesh.h5
-rw-r--r--source/blender/blenkernel/BKE_modifier.h8
-rw-r--r--source/blender/blenkernel/BKE_tessmesh.h14
-rw-r--r--source/blender/blenkernel/intern/DerivedMesh.c26
-rw-r--r--source/blender/blenkernel/intern/anim.c4
-rw-r--r--source/blender/blenkernel/intern/cdderivedmesh.c2
-rw-r--r--source/blender/blenkernel/intern/constraint.c1
-rw-r--r--source/blender/blenkernel/intern/editderivedbmesh.c18
-rw-r--r--source/blender/blenkernel/intern/exotic.c2
-rw-r--r--source/blender/blenkernel/intern/modifier.c68
-rw-r--r--source/blender/blenkernel/intern/object.c2
-rw-r--r--source/blender/blenkernel/intern/shrinkwrap.c5
14 files changed, 92 insertions, 85 deletions
diff --git a/source/blender/blenkernel/BKE_DerivedMesh.h b/source/blender/blenkernel/BKE_DerivedMesh.h
index 0365d2b5a94..8df30b1eaf5 100644
--- a/source/blender/blenkernel/BKE_DerivedMesh.h
+++ b/source/blender/blenkernel/BKE_DerivedMesh.h
@@ -52,12 +52,12 @@ struct MTFace;
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_for_modifier(struct Scene *scene, struct Object
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 @@ DerivedMesh *mesh_create_derived_no_deform_render(struct Scene *scene, struct Ob
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);
diff --git a/source/blender/blenkernel/BKE_cdderivedmesh.h b/source/blender/blenkernel/BKE_cdderivedmesh.h
index f40d3dae087..d4fee61f9c6 100644
--- a/source/blender/blenkernel/BKE_cdderivedmesh.h
+++ b/source/blender/blenkernel/BKE_cdderivedmesh.h
@@ -38,7 +38,7 @@
#include "BKE_DerivedMesh.h"
struct DerivedMesh;
-struct BMTessMesh;
+struct BMEditMesh;
struct EditMesh;
struct Mesh;
struct Object;
@@ -55,8 +55,8 @@ struct DerivedMesh *CDDM_from_mesh(struct Mesh *mesh, struct Object *ob);
/* 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.
diff --git a/source/blender/blenkernel/BKE_mesh.h b/source/blender/blenkernel/BKE_mesh.h
index 042b3b3046c..b2f533649e3 100644
--- a/source/blender/blenkernel/BKE_mesh.h
+++ b/source/blender/blenkernel/BKE_mesh.h
@@ -131,7 +131,10 @@ int mesh_layers_menu_charlen(struct CustomData *data, int type); /* use this to
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
}
diff --git a/source/blender/blenkernel/BKE_modifier.h b/source/blender/blenkernel/BKE_modifier.h
index ce3b5c02873..9637b659ece 100644
--- a/source/blender/blenkernel/BKE_modifier.h
+++ b/source/blender/blenkernel/BKE_modifier.h
@@ -43,7 +43,7 @@ struct ListBase;
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 @@ typedef struct ModifierTypeInfo {
*/
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 @@ typedef struct ModifierTypeInfo {
*/
struct DerivedMesh *(*applyModifierEM)(
struct ModifierData *md, struct Object *ob,
- struct BMTessMesh *editData,
+ struct BMEditMesh *editData,
struct DerivedMesh *derivedData);
diff --git a/source/blender/blenkernel/BKE_tessmesh.h b/source/blender/blenkernel/BKE_tessmesh.h
index f8b1dfff222..4bffd37e24e 100644
--- a/source/blender/blenkernel/BKE_tessmesh.h
+++ b/source/blender/blenkernel/BKE_tessmesh.h
@@ -20,7 +20,7 @@ typedef struct BMEditSelection
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 @@ typedef struct BMTessMesh {
/*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);
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index 48e16639f45..f5eb628ffe6 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -1413,7 +1413,7 @@ DerivedMesh *mesh_create_derived_for_modifier(Scene *scene, Object *ob, Modifier
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 @@ static float *get_editbmesh_orco_verts(BMTessMesh *em)
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 @@ static DerivedMesh *create_orco_dm(Object *ob, Mesh *me, BMTessMesh *em)
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 @@ static void mesh_calc_modifiers(Scene *scene, Object *ob, float (*inputVertexCos
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 @@ static int editbmesh_modifier_is_enabled(ModifierData *md, DerivedMesh *dm)
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 @@ static void editbmesh_calc_modifiers(Scene *scene, Object *ob, BMTessMesh *em, D
}
} 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 mesh_build_data(Scene *scene, Object *ob, CustomDataMask dataMask)
}
-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 @@ static void editbmesh_build_data(Scene *scene, Object *obedit, BMTessMesh *em, C
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);
@@ -2224,7 +2224,7 @@ DerivedMesh *mesh_create_derived_no_deform_render(Scene *scene, Object *ob,
/***/
-DerivedMesh *editbmesh_get_derived_cage_and_final(Scene *scene, Object *obedit, BMTessMesh *em, DerivedMesh **final_r,
+DerivedMesh *editbmesh_get_derived_cage_and_final(Scene *scene, Object *obedit, BMEditMesh *em, DerivedMesh **final_r,
CustomDataMask dataMask)
{
/* if there's no derived mesh or the last data mask used doesn't include
@@ -2238,7 +2238,7 @@ DerivedMesh *editbmesh_get_derived_cage_and_final(Scene *scene, Object *obedit,
return em->derivedCage;
}
-DerivedMesh *editbmesh_get_derived_cage(Scene *scene, Object *obedit, BMTessMesh *em, CustomDataMask dataMask)
+DerivedMesh *editbmesh_get_derived_cage(Scene *scene, Object *obedit, BMEditMesh *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
@@ -2250,7 +2250,7 @@ DerivedMesh *editbmesh_get_derived_cage(Scene *scene, Object *obedit, BMTessMesh
return em->derivedCage;
}
-DerivedMesh *editbmesh_get_derived_base(Object *obedit, BMTessMesh *em)
+DerivedMesh *editbmesh_get_derived_base(Object *obedit, BMEditMesh *em)
{
return getEditDerivedBMesh(em, obedit, NULL);
}
@@ -2314,7 +2314,7 @@ float *mesh_get_mapped_verts_nors(Scene *scene, Object *ob)
/* ********* crazyspace *************** */
-int editbmesh_get_first_deform_matrices(Object *ob, BMTessMesh *em, float (**deformmats)[3][3], float (**deformcos)[3])
+int editbmesh_get_first_deform_matrices(Object *ob, BMEditMesh *em, float (**deformmats)[3][3], float (**deformcos)[3])
{
ModifierData *md;
DerivedMesh *dm;
diff --git a/source/blender/blenkernel/intern/anim.c b/source/blender/blenkernel/intern/anim.c
index 08fead3b23f..bd99893bc37 100644
--- a/source/blender/blenkernel/intern/anim.c
+++ b/source/blender/blenkernel/intern/anim.c
@@ -449,7 +449,7 @@ static void vertex_duplilist(ListBase *lb, ID *id, Scene *scene, Object *par, fl
Scene *sce = NULL;
Group *group = NULL;
GroupObject * go = NULL;
- BMTessMesh *em;
+ BMEditMesh *em;
float vec[3], no[3], pmat[4][4];
int lay, totvert, a, oblay;
@@ -564,7 +564,7 @@ static void face_duplilist(ListBase *lb, ID *id, Scene *scene, Object *par, floa
Scene *sce = NULL;
Group *group = NULL;
GroupObject *go = NULL;
- BMTessMesh *em;
+ BMEditMesh *em;
float ob__obmat[4][4]; /* needed for groups where the object matrix needs to be modified */
/* simple preventing of too deep nested groups */
diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c
index e6e144acbe5..7476d2f5fda 100644
--- a/source/blender/blenkernel/intern/cdderivedmesh.c
+++ b/source/blender/blenkernel/intern/cdderivedmesh.c
@@ -1084,7 +1084,7 @@ static void loops_to_customdata_corners(BMesh *bm, CustomData *facedata,
}
}
-DerivedMesh *CDDM_from_BMTessMesh(BMTessMesh *em, Mesh *me)
+DerivedMesh *CDDM_from_BMEditMesh(BMEditMesh *em, Mesh *me)
{
DerivedMesh *dm = CDDM_new(em->bm->totvert, em->bm->totedge, em->tottri);
CDDerivedMesh *cddm = (CDDerivedMesh*)dm;
diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c
index b238116f0a1..5adbcadcf39 100644
--- a/source/blender/blenkernel/intern/constraint.c
+++ b/source/blender/blenkernel/intern/constraint.c
@@ -66,6 +66,7 @@
#include "BKE_global.h"
#include "BKE_library.h"
#include "BKE_idprop.h"
+#include "BKE_mesh.h"
#ifndef DISABLE_PYTHON
#include "BPY_extern.h"
diff --git a/source/blender/blenkernel/intern/editderivedbmesh.c b/source/blender/blenkernel/intern/editderivedbmesh.c
index c0e5d51d8c7..b89fca5c4dc 100644
--- a/source/blender/blenkernel/intern/editderivedbmesh.c
+++ b/source/blender/blenkernel/intern/editderivedbmesh.c
@@ -89,9 +89,9 @@
#include "bmesh.h"
-BMTessMesh *TM_Create(BMesh *bm)
+BMEditMesh *TM_Create(BMesh *bm)
{
- BMTessMesh *tm = MEM_callocN(sizeof(BMTessMesh), "tm");
+ BMEditMesh *tm = MEM_callocN(sizeof(BMEditMesh), "tm");
tm->bm = bm;
@@ -100,9 +100,9 @@ BMTessMesh *TM_Create(BMesh *bm)
return tm;
}
-BMTessMesh *TM_Copy(BMTessMesh *tm)
+BMEditMesh *TM_Copy(BMEditMesh *tm)
{
- BMTessMesh *tm2 = MEM_mallocN(sizeof(BMTessMesh), "tm2");
+ BMEditMesh *tm2 = MEM_mallocN(sizeof(BMEditMesh), "tm2");
*tm2 = *tm;
tm2->bm = BM_Copy_Mesh(tm->bm);
@@ -110,7 +110,7 @@ BMTessMesh *TM_Copy(BMTessMesh *tm)
return tm2;
}
-void TM_RecalcTesselation(BMTessMesh *tm)
+void TM_RecalcTesselation(BMEditMesh *tm)
{
BMesh *bm = tm->bm;
BMLoop **looptris = NULL;
@@ -147,8 +147,8 @@ void TM_RecalcTesselation(BMTessMesh *tm)
tm->looptris = looptris;
}
-/*does not free the BMTessMesh struct itself*/
-void TM_Free(BMTessMesh *em)
+/*does not free the BMEditMesh struct itself*/
+void TM_Free(BMEditMesh *em)
{
if(em->derivedFinal) {
if (em->derivedFinal!=em->derivedCage) {
@@ -188,7 +188,7 @@ typedef struct EditDerivedBMesh {
DerivedMesh dm;
Object *ob;
- BMTessMesh *tc;
+ BMEditMesh *tc;
float (*vertexCos)[3];
float (*vertexNos)[3];
@@ -1132,7 +1132,7 @@ static void bmDM_release(DerivedMesh *dm)
}
}
-DerivedMesh *getEditDerivedBMesh(BMTessMesh *em, Object *ob,
+DerivedMesh *getEditDerivedBMesh(BMEditMesh *em, Object *ob,
float (*vertexCos)[3])
{
EditDerivedBMesh *bmdm = MEM_callocN(sizeof(*bmdm), "bmdm");
diff --git a/source/blender/blenkernel/intern/exotic.c b/source/blender/blenkernel/intern/exotic.c
index ae423cdd3aa..660a02bcb9e 100644
--- a/source/blender/blenkernel/intern/exotic.c
+++ b/source/blender/blenkernel/intern/exotic.c
@@ -2490,7 +2490,7 @@ static void write_videoscape_mesh(Scene *scene, Object *ob, char *str)
fclose(fp);
- if (em) EM_EndEditMesh(em);
+ if (em) EM_EndEditMesh(me, em);
}
diff --git a/source/blender/blenkernel/intern/modifier.c b/source/blender/blenkernel/intern/modifier.c
index 2296ec5ecf6..c96f0af0ffa 100644
--- a/source/blender/blenkernel/intern/modifier.c
+++ b/source/blender/blenkernel/intern/modifier.c
@@ -197,12 +197,12 @@ static void curveModifier_deformVerts(
}
static void curveModifier_deformVertsEM(
- ModifierData *md, Object *ob, BMTessMesh *editData,
+ ModifierData *md, Object *ob, BMEditMesh *editData,
DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts)
{
DerivedMesh *dm = derivedData;
- if(!derivedData) dm = CDDM_from_BMTessMesh(editData, ob->data);
+ if(!derivedData) dm = CDDM_from_BMEditMesh(editData, ob->data);
curveModifier_deformVerts(md, ob, dm, vertexCos, numVerts);
@@ -289,12 +289,12 @@ static void latticeModifier_deformVerts(
}
static void latticeModifier_deformVertsEM(
- ModifierData *md, Object *ob, BMTessMesh *editData,
+ ModifierData *md, Object *ob, BMEditMesh *editData,
DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts)
{
DerivedMesh *dm = derivedData;
- if(!derivedData) dm = CDDM_from_BMTessMesh(editData, ob->data);
+ if(!derivedData) dm = CDDM_from_BMEditMesh(editData, ob->data);
latticeModifier_deformVerts(md, ob, dm, vertexCos, numVerts);
@@ -350,7 +350,7 @@ static DerivedMesh *subsurfModifier_applyModifier(
}
static DerivedMesh *subsurfModifier_applyModifierEM(
- ModifierData *md, Object *ob, BMTessMesh *editData,
+ ModifierData *md, Object *ob, BMEditMesh *editData,
DerivedMesh *derivedData)
{
SubsurfModifierData *smd = (SubsurfModifierData*) md;
@@ -1648,7 +1648,7 @@ static DerivedMesh *arrayModifier_applyModifier(
}
static DerivedMesh *arrayModifier_applyModifierEM(
- ModifierData *md, Object *ob, BMTessMesh *editData,
+ ModifierData *md, Object *ob, BMEditMesh *editData,
DerivedMesh *derivedData)
{
return arrayModifier_applyModifier(md, ob, derivedData, 0, 1);
@@ -2071,7 +2071,7 @@ static DerivedMesh *mirrorModifier_applyModifier(
}
static DerivedMesh *mirrorModifier_applyModifierEM(
- ModifierData *md, Object *ob, BMTessMesh *editData,
+ ModifierData *md, Object *ob, BMEditMesh *editData,
DerivedMesh *derivedData)
{
return mirrorModifier_applyModifier(md, ob, derivedData, 0, 1);
@@ -3294,7 +3294,7 @@ static DerivedMesh *edgesplitModifier_applyModifier(
}
static DerivedMesh *edgesplitModifier_applyModifierEM(
- ModifierData *md, Object *ob, BMTessMesh *editData,
+ ModifierData *md, Object *ob, BMEditMesh *editData,
DerivedMesh *derivedData)
{
return edgesplitModifier_applyModifier(md, ob, derivedData, 0, 1);
@@ -3378,7 +3378,7 @@ static DerivedMesh *bevelModifier_applyModifier(
}
static DerivedMesh *bevelModifier_applyModifierEM(
- ModifierData *md, Object *ob, BMTessMesh *editData,
+ ModifierData *md, Object *ob, BMEditMesh *editData,
DerivedMesh *derivedData)
{
return bevelModifier_applyModifier(md, ob, derivedData, 0, 1);
@@ -3705,13 +3705,13 @@ static void displaceModifier_deformVerts(
}
static void displaceModifier_deformVertsEM(
- ModifierData *md, Object *ob, BMTessMesh *editData,
+ ModifierData *md, Object *ob, BMEditMesh *editData,
DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts)
{
DerivedMesh *dm;
if(derivedData) dm = CDDM_copy(derivedData);
- else dm = CDDM_from_BMTessMesh(editData, ob->data);
+ else dm = CDDM_from_BMEditMesh(editData, ob->data);
CDDM_apply_vert_coords(dm, vertexCos);
CDDM_calc_normals(dm);
@@ -4036,7 +4036,7 @@ static DerivedMesh *uvprojectModifier_applyModifier(
}
static DerivedMesh *uvprojectModifier_applyModifierEM(
- ModifierData *md, Object *ob, BMTessMesh *editData,
+ ModifierData *md, Object *ob, BMEditMesh *editData,
DerivedMesh *derivedData)
{
return uvprojectModifier_applyModifier(md, ob, derivedData, 0, 1);
@@ -4386,13 +4386,13 @@ static void smoothModifier_deformVerts(
}
static void smoothModifier_deformVertsEM(
- ModifierData *md, Object *ob, BMTessMesh *editData,
+ ModifierData *md, Object *ob, BMEditMesh *editData,
DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts)
{
DerivedMesh *dm;
if(derivedData) dm = CDDM_copy(derivedData);
- else dm = CDDM_from_BMTessMesh(editData, ob->data);
+ else dm = CDDM_from_BMEditMesh(editData, ob->data);
CDDM_apply_vert_coords(dm, vertexCos);
CDDM_calc_normals(dm);
@@ -4967,14 +4967,14 @@ static void castModifier_deformVerts(
}
static void castModifier_deformVertsEM(
- ModifierData *md, Object *ob, BMTessMesh *editData,
+ ModifierData *md, Object *ob, BMEditMesh *editData,
DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts)
{
DerivedMesh *dm = derivedData;
CastModifierData *cmd = (CastModifierData *)md;
if (!dm && ob->type == OB_MESH)
- dm = CDDM_from_BMTessMesh(editData, ob->data);
+ dm = CDDM_from_BMEditMesh(editData, ob->data);
if (cmd->type == MOD_CAST_TYPE_CUBOID) {
castModifier_cuboid_do(cmd, ob, dm, vertexCos, numVerts);
@@ -5374,7 +5374,7 @@ static void waveModifier_deformVerts(
}
static void waveModifier_deformVertsEM(
- ModifierData *md, Object *ob, BMTessMesh *editData,
+ ModifierData *md, Object *ob, BMEditMesh *editData,
DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts)
{
DerivedMesh *dm;
@@ -5383,7 +5383,7 @@ static void waveModifier_deformVertsEM(
if(!wmd->texture && !wmd->defgrp_name[0] && !(wmd->flag & MOD_WAVE_NORM))
dm = derivedData;
else if(derivedData) dm = CDDM_copy(derivedData);
- else dm = CDDM_from_BMTessMesh(editData, ob->data);
+ else dm = CDDM_from_BMEditMesh(editData, ob->data);
if(wmd->flag & MOD_WAVE_NORM) {
CDDM_apply_vert_coords(dm, vertexCos);
@@ -5474,13 +5474,13 @@ static void armatureModifier_deformVerts(
}
static void armatureModifier_deformVertsEM(
- ModifierData *md, Object *ob, BMTessMesh *editData,
+ ModifierData *md, Object *ob, BMEditMesh *editData,
DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts)
{
ArmatureModifierData *amd = (ArmatureModifierData*) md;
DerivedMesh *dm = derivedData;
- if(!derivedData) dm = CDDM_from_BMTessMesh(editData, ob->data);
+ if(!derivedData) dm = CDDM_from_BMEditMesh(editData, ob->data);
armature_deform_verts(amd->object, ob, dm, vertexCos, NULL, numVerts,
amd->deformflag, NULL, amd->defgrp_name);
@@ -5489,14 +5489,14 @@ static void armatureModifier_deformVertsEM(
}
static void armatureModifier_deformMatricesEM(
- ModifierData *md, Object *ob, BMTessMesh *editData,
+ ModifierData *md, Object *ob, BMEditMesh *editData,
DerivedMesh *derivedData, float (*vertexCos)[3],
float (*defMats)[3][3], int numVerts)
{
ArmatureModifierData *amd = (ArmatureModifierData*) md;
DerivedMesh *dm = derivedData;
- if(!derivedData) dm = CDDM_from_BMTessMesh(editData, ob->data);
+ if(!derivedData) dm = CDDM_from_BMEditMesh(editData, ob->data);
armature_deform_verts(amd->object, ob, dm, vertexCos, defMats, numVerts,
amd->deformflag, NULL, amd->defgrp_name);
@@ -5692,12 +5692,12 @@ static void hookModifier_deformVerts(
}
static void hookModifier_deformVertsEM(
- ModifierData *md, Object *ob, BMTessMesh *editData,
+ ModifierData *md, Object *ob, BMEditMesh *editData,
DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts)
{
DerivedMesh *dm = derivedData;
- if(!derivedData) dm = CDDM_from_BMTessMesh(editData, ob->data);
+ if(!derivedData) dm = CDDM_from_BMEditMesh(editData, ob->data);
hookModifier_deformVerts(md, ob, derivedData, vertexCos, numVerts);
@@ -6269,12 +6269,12 @@ static void particleSystemModifier_deformVerts(
* updates is coded */
#if 0
static void particleSystemModifier_deformVertsEM(
- ModifierData *md, Object *ob, BMTessMesh *editData,
+ ModifierData *md, Object *ob, BMEditMesh *editData,
DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts)
{
DerivedMesh *dm = derivedData;
- if(!derivedData) dm = CDDM_from_BMTessMesh(editData, ob->data);
+ if(!derivedData) dm = CDDM_from_BMEditMesh(editData, ob->data);
particleSystemModifier_deformVerts(md, ob, dm, vertexCos, numVerts);
@@ -6490,7 +6490,7 @@ static DerivedMesh * particleInstanceModifier_applyModifier(
return result;
}
static DerivedMesh *particleInstanceModifier_applyModifierEM(
- ModifierData *md, Object *ob, BMTessMesh *editData,
+ ModifierData *md, Object *ob, BMEditMesh *editData,
DerivedMesh *derivedData)
{
return particleInstanceModifier_applyModifier(md, ob, derivedData, 0, 1);
@@ -7539,7 +7539,7 @@ static void meshdeformModifier_do(
{
MeshDeformModifierData *mmd = (MeshDeformModifierData*) md;
Mesh *me= ob->data;
- BMTessMesh *bem = me->edit_btmesh;
+ BMEditMesh *bem = me->edit_btmesh;
DerivedMesh *tmpdm, *cagedm;
MDeformVert *dvert = NULL;
MDeformWeight *dw;
@@ -7707,13 +7707,13 @@ static void meshdeformModifier_deformVerts(
}
static void meshdeformModifier_deformVertsEM(
- ModifierData *md, Object *ob, BMTessMesh *editData,
+ ModifierData *md, Object *ob, BMEditMesh *editData,
DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts)
{
DerivedMesh *dm;
if(!derivedData && ob->type == OB_MESH)
- dm = CDDM_from_BMTessMesh(editData, ob->data);
+ dm = CDDM_from_BMEditMesh(editData, ob->data);
else
dm = derivedData;
@@ -7863,7 +7863,7 @@ static void shrinkwrapModifier_deformVerts(ModifierData *md, Object *ob, Derived
dm->release(dm);
}
-static void shrinkwrapModifier_deformVertsEM(ModifierData *md, Object *ob, BMTessMesh *editData, DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts)
+static void shrinkwrapModifier_deformVertsEM(ModifierData *md, Object *ob, BMEditMesh *editData, DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts)
{
DerivedMesh *dm = NULL;
CustomDataMask dataMask = shrinkwrapModifier_requiredDataMask(md);
@@ -7871,7 +7871,7 @@ static void shrinkwrapModifier_deformVertsEM(ModifierData *md, Object *ob, BMTes
if(dataMask)
{
if(derivedData) dm = CDDM_copy(derivedData);
- else if(ob->type==OB_MESH) dm = CDDM_from_BMTessMesh(editData, ob->data);
+ else if(ob->type==OB_MESH) dm = CDDM_from_BMEditMesh(editData, ob->data);
else if(ob->type==OB_LATTICE) dm = NULL;
else return;
@@ -7978,7 +7978,7 @@ static void simpledeformModifier_deformVerts(ModifierData *md, Object *ob, Deriv
}
-static void simpledeformModifier_deformVertsEM(ModifierData *md, Object *ob, BMTessMesh *editData, DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts)
+static void simpledeformModifier_deformVertsEM(ModifierData *md, Object *ob, BMEditMesh *editData, DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts)
{
DerivedMesh *dm = NULL;
CustomDataMask dataMask = simpledeformModifier_requiredDataMask(md);
@@ -7987,7 +7987,7 @@ static void simpledeformModifier_deformVertsEM(ModifierData *md, Object *ob, BMT
if(dataMask)
{
if(derivedData) dm = CDDM_copy(derivedData);
- else if(ob->type==OB_MESH) dm = CDDM_from_BMTessMesh(editData, ob->data);
+ else if(ob->type==OB_MESH) dm = CDDM_from_BMEditMesh(editData, ob->data);
else if(ob->type==OB_LATTICE) dm = NULL;
else return;
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index ccf7993796c..2c851a1115a 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -2297,7 +2297,7 @@ void object_handle_update(Scene *scene, Object *ob)
/* includes all keys and modifiers */
if(ob->type==OB_MESH) {
- BMTessMesh *em = ((Mesh*)ob->data)->edit_btmesh;
+ BMEditMesh *em = ((Mesh*)ob->data)->edit_btmesh;
// here was vieweditdatamask? XXX
if(ob==scene->obedit) {
diff --git a/source/blender/blenkernel/intern/shrinkwrap.c b/source/blender/blenkernel/intern/shrinkwrap.c
index 92d1f0d1a19..66cc92a19af 100644
--- a/source/blender/blenkernel/intern/shrinkwrap.c
+++ b/source/blender/blenkernel/intern/shrinkwrap.c
@@ -48,6 +48,8 @@
#include "BKE_displist.h"
#include "BKE_global.h"
#include "BKE_subsurf.h"
+#include "BKE_mesh.h"
+#include "BKE_tessmesh.h"
#include "BLI_arithb.h"
#include "BLI_kdtree.h"
@@ -96,14 +98,13 @@ typedef void ( *Shrinkwrap_ForeachVertexCallback) (DerivedMesh *target, float *c
static DerivedMesh *object_get_derived_final(struct Scene *scene, Object *ob, CustomDataMask dataMask)
{
Mesh *me= ob->data;
- EditMesh *em = EM_GetEditMesh(me);
+ BMEditMesh *em = me->edit_btmesh;
if (em)
{
DerivedMesh *final = NULL;
editbmesh_get_derived_cage_and_final(scene, ob, em, &final, dataMask);
- EM_EndEditMesh(me, em);
return final;
}
else