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-23 07:24:15 +0400
committerJoseph Eagar <joeedh@gmail.com>2009-05-23 07:24:15 +0400
commitf026266e185f90543138a856898f50b2295a12fc (patch)
treef674a1a1b328a423ec4bdcdc4a11f35e56669e7a /source/blender/editors/mesh
parentb7fe3258b66698f62f630d0b18431b54b65101ed (diff)
merge with 2.5 at r20307. note there were some python hacking necassary for this to work, so um hopefully there's not too much cruft from that.
[[Split portion of a mixed commit.]]
Diffstat (limited to 'source/blender/editors/mesh')
-rw-r--r--source/blender/editors/mesh/Makefile1
-rw-r--r--source/blender/editors/mesh/SConscript2
-rw-r--r--source/blender/editors/mesh/bmesh_tools.c20
-rw-r--r--source/blender/editors/mesh/bmeshutils.c2
-rw-r--r--source/blender/editors/mesh/bmeshutils_mods.c6
-rw-r--r--source/blender/editors/mesh/editdeform.c16
-rw-r--r--source/blender/editors/mesh/editmesh.c34
-rw-r--r--source/blender/editors/mesh/editmesh_add.c64
-rw-r--r--source/blender/editors/mesh/editmesh_lib.c6
-rw-r--r--source/blender/editors/mesh/editmesh_loop.c22
-rw-r--r--source/blender/editors/mesh/editmesh_mods.c155
-rw-r--r--source/blender/editors/mesh/editmesh_tools.c320
-rw-r--r--source/blender/editors/mesh/mesh_intern.h56
-rw-r--r--source/blender/editors/mesh/mesh_ops.c103
14 files changed, 452 insertions, 355 deletions
diff --git a/source/blender/editors/mesh/Makefile b/source/blender/editors/mesh/Makefile
index 60b1fa1c329..650771519cd 100644
--- a/source/blender/editors/mesh/Makefile
+++ b/source/blender/editors/mesh/Makefile
@@ -38,7 +38,6 @@ CFLAGS += $(LEVEL_1_C_WARNINGS)
CPPFLAGS += -I$(NAN_GLEW)/include
CPPFLAGS += -I$(OPENGL_HEADERS)
-CPPFLAGS += -I$(NAN_BMFONT)/include
CPPFLAGS += -I$(NAN_GUARDEDALLOC)/include
CPPFLAGS += -I$(NAN_ELBEEM)/include
diff --git a/source/blender/editors/mesh/SConscript b/source/blender/editors/mesh/SConscript
index bd6d355d84c..80536b5e431 100644
--- a/source/blender/editors/mesh/SConscript
+++ b/source/blender/editors/mesh/SConscript
@@ -5,7 +5,7 @@ sources = env.Glob('*.c')
incs = '../include ../../blenlib ../../blenkernel ../../makesdna ../../imbuf'
incs += ' ../../windowmanager #/intern/guardedalloc #/extern/glew/include'
-incs += ' #/intern/guardedalloc #intern/bmfont ../../gpu'
+incs += ' #/intern/guardedalloc ../../gpu'
incs += ' ../../makesrna ../../render/extern/include #/intern/elbeem/extern'
incs += ' ../../bmesh '
diff --git a/source/blender/editors/mesh/bmesh_tools.c b/source/blender/editors/mesh/bmesh_tools.c
index ec655862c28..dfcb4b06eb4 100644
--- a/source/blender/editors/mesh/bmesh_tools.c
+++ b/source/blender/editors/mesh/bmesh_tools.c
@@ -77,8 +77,6 @@
#include "WM_api.h"
#include "WM_types.h"
-#include "BMF_Api.h"
-
#include "ED_mesh.h"
#include "ED_view3d.h"
#include "ED_util.h"
@@ -102,9 +100,9 @@ static int subdivide_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
Scene *scene = CTX_data_scene(C);
+ BMEditMesh *em= ((Mesh *)obedit->data)->edit_btmesh;
- BM_esubdivideflag(obedit, ((Mesh *)obedit->data)->edit_btmesh->bm,
- 1, 0.0, scene->toolsettings->editbutflag, 1, 0);
+ BM_esubdivideflag(obedit, em->bm, 1, 0.0, scene->toolsettings->editbutflag, 1, 0);
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
@@ -218,11 +216,13 @@ void MESH_OT_subdivide_smooth(wmOperatorType *ot)
static int subdivs_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
- uiMenuItem *head;
+ uiPopupMenu *pup;
+ uiLayout *layout;
- head= uiPupMenuBegin("Subdivision Type", 0);
- uiMenuItemsEnumO(head, "MESH_OT_subdivs", "type");
- uiPupMenuEnd(C, head);
+ pup= uiPupMenuBegin(C, "Subdivision Type", 0);
+ layout= uiPupMenuLayout(pup);
+ uiItemsEnumO(layout, "MESH_OT_subdivs", "type");
+ uiPupMenuEnd(C, pup);
return OPERATOR_CANCELLED;
}
@@ -276,11 +276,9 @@ void MESH_OT_subdivs(wmOperatorType *ot)
/* this is temp, the ops are different, but they are called from subdivs, so all the possible props should be here as well*/
RNA_def_int(ot->srna, "number_cuts", 4, 1, 10, "Number of Cuts", "", 1, INT_MAX);
RNA_def_float(ot->srna, "random_factor", 5.0, 0.0f, FLT_MAX, "Random Factor", "", 0.0f, 1000.0f);
- RNA_def_float(ot->srna, "smoothness", 1.0f, 0.0f, 1000.0f, "Smoothness", "", 0.0f, FLT_MAX);
-
+ RNA_def_float(ot->srna, "smoothness", 1.0f, 0.0f, 1000.0f, "Smoothness", "", 0.0f, FLT_MAX);
}
-
/* individual face extrude */
/* will use vertex normals for extrusion directions, so *nor is unaffected */
short EDBM_Extrude_face_indiv(BMEditMesh *em, short flag, float *nor)
diff --git a/source/blender/editors/mesh/bmeshutils.c b/source/blender/editors/mesh/bmeshutils.c
index 2d15644cbde..1a5ea2e2b75 100644
--- a/source/blender/editors/mesh/bmeshutils.c
+++ b/source/blender/editors/mesh/bmeshutils.c
@@ -77,8 +77,6 @@
#include "WM_api.h"
#include "WM_types.h"
-#include "BMF_Api.h"
-
#include "ED_mesh.h"
#include "ED_view3d.h"
#include "ED_util.h"
diff --git a/source/blender/editors/mesh/bmeshutils_mods.c b/source/blender/editors/mesh/bmeshutils_mods.c
index e3dbfe7fbe0..5c0a25348c5 100644
--- a/source/blender/editors/mesh/bmeshutils_mods.c
+++ b/source/blender/editors/mesh/bmeshutils_mods.c
@@ -1030,7 +1030,7 @@ static int loop_multiselect(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
-void MESH_OT_select_loop_multi(wmOperatorType *ot)
+void MESH_OT_loop_multi_select(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Multi Select Loops";
@@ -1110,7 +1110,7 @@ static int mesh_select_loop_invoke(bContext *C, wmOperator *op, wmEvent *event)
return OPERATOR_FINISHED;
}
-void MESH_OT_select_loop(wmOperatorType *ot)
+void MESH_OT_loop_select(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Loop Select";
@@ -1211,7 +1211,7 @@ static int mesh_shortest_path_select_invoke(bContext *C, wmOperator *op, wmEvent
return OPERATOR_FINISHED;
}
-void MESH_OT_select_path_shortest(wmOperatorType *ot)
+void MESH_OT_select_shortest_path(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Shortest Path Select";
diff --git a/source/blender/editors/mesh/editdeform.c b/source/blender/editors/mesh/editdeform.c
index d6dd9522a6f..3019aabf371 100644
--- a/source/blender/editors/mesh/editdeform.c
+++ b/source/blender/editors/mesh/editdeform.c
@@ -94,7 +94,7 @@ void sel_verts_defgroup (Object *obedit, int select)
case OB_MESH:
{
Mesh *me= ob->data;
- EditMesh *em = EM_GetEditMesh(me);
+ EditMesh *em = BKE_mesh_get_editmesh(me);
for (eve=em->verts.first; eve; eve=eve->next){
dvert= CustomData_em_get(&em->vdata, eve->data, CD_MDEFORMVERT);
@@ -114,7 +114,7 @@ void sel_verts_defgroup (Object *obedit, int select)
if(select) EM_select_flush(em); // vertices to edges/faces
else EM_deselect_flush(em);
- EM_EndEditMesh(me, em);
+ BKE_mesh_end_editmesh(me, em);
}
break;
case OB_LATTICE:
@@ -398,7 +398,7 @@ void del_defgroup (Object *ob)
/* Make sure that any verts with higher indices are adjusted accordingly */
if(ob->type==OB_MESH) {
Mesh *me= ob->data;
- EditMesh *em = EM_GetEditMesh(me);
+ EditMesh *em = BKE_mesh_get_editmesh(me);
EditVert *eve;
MDeformVert *dvert;
@@ -410,7 +410,7 @@ void del_defgroup (Object *ob)
if (dvert->dw[i].def_nr > (ob->actdef-1))
dvert->dw[i].def_nr--;
}
- EM_EndEditMesh(me, em);
+ BKE_mesh_end_editmesh(me, em);
}
else if(ob->type==OB_LATTICE) {
Lattice *lt= def_get_lattice(ob);
@@ -724,7 +724,7 @@ void assign_verts_defgroup (Object *obedit, float weight)
case OB_MESH:
{
Mesh *me= ob->data;
- EditMesh *em = EM_GetEditMesh(me);
+ EditMesh *em = BKE_mesh_get_editmesh(me);
if (!CustomData_has_layer(&em->vdata, CD_MDEFORMVERT))
EM_add_data_layer(em, &em->vdata, CD_MDEFORMVERT);
@@ -764,7 +764,7 @@ void assign_verts_defgroup (Object *obedit, float weight)
}
}
}
- EM_EndEditMesh(me, em);
+ BKE_mesh_end_editmesh(me, em);
}
break;
case OB_LATTICE:
@@ -888,7 +888,7 @@ void remove_verts_defgroup (Object *obedit, int allverts)
case OB_MESH:
{
Mesh *me= ob->data;
- EditMesh *em = EM_GetEditMesh(me);
+ EditMesh *em = BKE_mesh_get_editmesh(me);
for (eve=em->verts.first; eve; eve=eve->next){
dvert= CustomData_em_get(&em->vdata, eve->data, CD_MDEFORMVERT);
@@ -918,7 +918,7 @@ void remove_verts_defgroup (Object *obedit, int allverts)
}
}
}
- EM_EndEditMesh(me, em);
+ BKE_mesh_end_editmesh(me, em);
}
break;
case OB_LATTICE:
diff --git a/source/blender/editors/mesh/editmesh.c b/source/blender/editors/mesh/editmesh.c
index ac4a8ecbb62..5cf0a0b1de6 100644
--- a/source/blender/editors/mesh/editmesh.c
+++ b/source/blender/editors/mesh/editmesh.c
@@ -1401,22 +1401,22 @@ static int mesh_separate_selected(Scene *scene, Base *editbase)
obedit= editbase->object;
me= obedit->data;
- em= EM_GetEditMesh(me);
+ em= BKE_mesh_get_editmesh(me);
if(me->key) {
error("Can't separate with vertex keys");
- EM_EndEditMesh(me, em);
+ BKE_mesh_end_editmesh(me, em);
return 0;
}
if(em->selected.first)
BLI_freelistN(&(em->selected)); /* clear the selection order */
- EM_selectmode_set(em); // enforce full consistant selection flags
+ EM_selectmode_set(em); // enforce full consistent selection flags
EM_stats_update(em);
if(em->totvertsel==0) {
- EM_EndEditMesh(me, em);
+ BKE_mesh_end_editmesh(me, em);
return 0;
}
@@ -1486,7 +1486,7 @@ static int mesh_separate_selected(Scene *scene, Base *editbase)
DAG_object_flush_update(scene, obedit, OB_RECALC_DATA);
DAG_object_flush_update(scene, basenew->object, OB_RECALC_DATA);
- EM_EndEditMesh(me, em);
+ BKE_mesh_end_editmesh(me, em);
return 1;
}
@@ -1495,7 +1495,7 @@ static int mesh_separate_selected(Scene *scene, Base *editbase)
static int mesh_separate_material(Scene *scene, Base *editbase)
{
Mesh *me= editbase->object->data;
- EditMesh *em= EM_GetEditMesh(me);
+ EditMesh *em= BKE_mesh_get_editmesh(me);
unsigned char curr_mat;
for (curr_mat = 1; curr_mat < editbase->object->totcol; ++curr_mat) {
@@ -1505,12 +1505,12 @@ static int mesh_separate_material(Scene *scene, Base *editbase)
editmesh_select_by_material(em, curr_mat);
/* and now separate */
if(0==mesh_separate_selected(scene, editbase)) {
- EM_EndEditMesh(me, em);
+ BKE_mesh_end_editmesh(me, em);
return 0;
}
}
- EM_EndEditMesh(me, em);
+ BKE_mesh_end_editmesh(me, em);
return 1;
}
@@ -1522,11 +1522,11 @@ static int mesh_separate_loose(Scene *scene, Base *editbase)
int doit= 1;
me= editbase->object->data;
- em= EM_GetEditMesh(me);
+ em= BKE_mesh_get_editmesh(me);
if(me->key) {
error("Can't separate with vertex keys");
- EM_EndEditMesh(me, em);
+ BKE_mesh_end_editmesh(me, em);
return 0;
}
@@ -1543,7 +1543,7 @@ static int mesh_separate_loose(Scene *scene, Base *editbase)
doit= mesh_separate_selected(scene, editbase);
}
- EM_EndEditMesh(me, em);
+ BKE_mesh_end_editmesh(me, em);
return 1;
}
@@ -1733,15 +1733,3 @@ void em_setup_viewcontext(bContext *C, ViewContext *vc)
vc->em= me->edit_btmesh;
}
}
-
-EditMesh *EM_GetEditMesh(Mesh *me)
-{
- return bmesh_to_editmesh(me->edit_btmesh->bm);
-}
-
-void EM_EndEditMesh(Mesh *me, EditMesh *em)
-{
- BM_Free_Mesh(me->edit_btmesh->bm);
- me->edit_btmesh->bm = editmesh_to_bmesh(em);
- TM_RecalcTesselation(me->edit_btmesh);
-}
diff --git a/source/blender/editors/mesh/editmesh_add.c b/source/blender/editors/mesh/editmesh_add.c
index 588771071fa..a1ea37dfea3 100644
--- a/source/blender/editors/mesh/editmesh_add.c
+++ b/source/blender/editors/mesh/editmesh_add.c
@@ -343,18 +343,18 @@ int make_fgon(EditMesh *em, wmOperator *op, int make)
static int make_fgon_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh(((Mesh *)obedit->data));
+ EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
if( make_fgon(em, op, 1) ) {
DAG_object_flush_update(CTX_data_scene(C), obedit, OB_RECALC_DATA);
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_CANCELLED;
}
@@ -375,18 +375,18 @@ void MESH_OT_fgon_make(struct wmOperatorType *ot)
static int clear_fgon_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh(((Mesh *)obedit->data));
+ EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
if( make_fgon(em, op, 0) ) {
DAG_object_flush_update(CTX_data_scene(C), obedit, OB_RECALC_DATA);
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_CANCELLED;
}
@@ -827,7 +827,7 @@ static void addedgeface_mesh(EditMesh *em, wmOperator *op)
static int addedgeface_mesh_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh(((Mesh *)obedit->data));
+ EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
addedgeface_mesh(em, op);
@@ -835,15 +835,15 @@ static int addedgeface_mesh_exec(bContext *C, wmOperator *op)
DAG_object_flush_update(CTX_data_scene(C), obedit, OB_RECALC_DATA);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
-void MESH_OT_add_edge_face(wmOperatorType *ot)
+void MESH_OT_edge_face_add(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Make Edge/Face";
- ot->idname= "MESH_OT_add_edge_face";
+ ot->idname= "MESH_OT_edge_face_add";
/* api callbacks */
ot->exec= addedgeface_mesh_exec;
@@ -1025,7 +1025,7 @@ static void make_prim(Object *obedit, int type, float mat[4][4], int tot, int se
* fill - end capping, and option to fill in circle
* cent[3] - center of the data.
* */
- EditMesh *em= EM_GetEditMesh(((Mesh *)obedit->data));
+ EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
EditVert *eve, *v1=NULL, *v2, *v3, *v4=NULL, *vtop, *vdown;
float phi, phid, vec[3];
float q[4], cmat[3][3], nor[3]= {0.0, 0.0, 0.0};
@@ -1307,7 +1307,7 @@ static void make_prim(Object *obedit, int type, float mat[4][4], int tot, int se
if(type!=0 && type!=13)
righthandfaces(em, 1); /* otherwise monkey has eyes in wrong direction */
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
}
@@ -1363,11 +1363,11 @@ static int add_primitive_plane_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
-void MESH_OT_add_primitive_plane(wmOperatorType *ot)
+void MESH_OT_primitive_plane_add(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Add Plane";
- ot->idname= "MESH_OT_add_primitive_plane";
+ ot->idname= "MESH_OT_primitive_plane_add";
/* api callbacks */
ot->exec= add_primitive_plane_exec;
@@ -1393,11 +1393,11 @@ static int add_primitive_cube_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
-void MESH_OT_add_primitive_cube(wmOperatorType *ot)
+void MESH_OT_primitive_cube_add(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Add Cube";
- ot->idname= "MESH_OT_add_primitive_cube";
+ ot->idname= "MESH_OT_primitive_cube_add";
/* api callbacks */
ot->exec= add_primitive_cube_exec;
@@ -1423,11 +1423,11 @@ static int add_primitive_circle_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
-void MESH_OT_add_primitive_circle(wmOperatorType *ot)
+void MESH_OT_primitive_circle_add(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Add Circle";
- ot->idname= "MESH_OT_add_primitive_circle";
+ ot->idname= "MESH_OT_primitive_circle_add";
/* api callbacks */
ot->exec= add_primitive_circle_exec;
@@ -1458,11 +1458,11 @@ static int add_primitive_cylinder_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
-void MESH_OT_add_primitive_cylinder(wmOperatorType *ot)
+void MESH_OT_primitive_cylinder_add(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Add Cylinder";
- ot->idname= "MESH_OT_add_primitive_cylinder";
+ ot->idname= "MESH_OT_primitive_cylinder_add";
/* api callbacks */
ot->exec= add_primitive_cylinder_exec;
@@ -1493,11 +1493,11 @@ static int add_primitive_tube_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
-void MESH_OT_add_primitive_tube(wmOperatorType *ot)
+void MESH_OT_primitive_tube_add(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Add Tube";
- ot->idname= "MESH_OT_add_primitive_tube";
+ ot->idname= "MESH_OT_primitive_tube_add";
/* api callbacks */
ot->exec= add_primitive_tube_exec;
@@ -1528,11 +1528,11 @@ static int add_primitive_cone_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
-void MESH_OT_add_primitive_cone(wmOperatorType *ot)
+void MESH_OT_primitive_cone_add(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Add Cone";
- ot->idname= "MESH_OT_add_primitive_cone";
+ ot->idname= "MESH_OT_primitive_cone_add";
/* api callbacks */
ot->exec= add_primitive_cone_exec;
@@ -1565,11 +1565,11 @@ static int add_primitive_grid_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
-void MESH_OT_add_primitive_grid(wmOperatorType *ot)
+void MESH_OT_primitive_grid_add(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Add Grid";
- ot->idname= "MESH_OT_add_primitive_grid";
+ ot->idname= "MESH_OT_primitive_grid_add";
/* api callbacks */
ot->exec= add_primitive_grid_exec;
@@ -1598,11 +1598,11 @@ static int add_primitive_monkey_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
-void MESH_OT_add_primitive_monkey(wmOperatorType *ot)
+void MESH_OT_primitive_monkey_add(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Add Monkey";
- ot->idname= "MESH_OT_add_primitive_monkey";
+ ot->idname= "MESH_OT_primitive_monkey_add";
/* api callbacks */
ot->exec= add_primitive_monkey_exec;
@@ -1628,11 +1628,11 @@ static int add_primitive_uvsphere_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
-void MESH_OT_add_primitive_uv_sphere(wmOperatorType *ot)
+void MESH_OT_primitive_uv_sphere_add(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Add UV Sphere";
- ot->idname= "MESH_OT_add_primitive_uv_sphere";
+ ot->idname= "MESH_OT_primitive_uv_sphere_add";
/* api callbacks */
ot->exec= add_primitive_uvsphere_exec;
@@ -1663,11 +1663,11 @@ static int add_primitive_icosphere_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
-void MESH_OT_add_primitive_ico_sphere(wmOperatorType *ot)
+void MESH_OT_primitive_ico_sphere_add(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Add Ico Sphere";
- ot->idname= "MESH_OT_add_primitive_ico_sphere";
+ ot->idname= "MESH_OT_primitive_ico_sphere_add";
/* api callbacks */
ot->exec= add_primitive_icosphere_exec;
diff --git a/source/blender/editors/mesh/editmesh_lib.c b/source/blender/editors/mesh/editmesh_lib.c
index ea6a5442072..98d69419fdb 100644
--- a/source/blender/editors/mesh/editmesh_lib.c
+++ b/source/blender/editors/mesh/editmesh_lib.c
@@ -550,7 +550,7 @@ void EM_select_flush(EditMesh *em)
EM_nfaces_selected(em);
}
-/* when vertices or edges can be selected, also make fgon consistant */
+/* when vertices or edges can be selected, also make fgon consistent */
static void check_fgons_selection(EditMesh *em)
{
EditFace *efa, *efan;
@@ -741,7 +741,7 @@ void EM_convertsel(EditMesh *em, short oldmode, short selectmode)
EM_nfaces_selected(em);
}
-/* when switching select mode, makes sure selection is consistant for editing */
+/* when switching select mode, makes sure selection is consistent for editing */
/* also for paranoia checks to make sure edge or face mode works */
void EM_selectmode_set(EditMesh *em)
{
@@ -1883,7 +1883,7 @@ void adduplicateflag(EditMesh *em, int flag)
EditFace *efa, *newfa, *act_efa = EM_get_actFace(em, 0);
EM_clear_flag_all(em, 128);
- EM_selectmode_set(em); // paranoia check, selection now is consistant
+ EM_selectmode_set(em); // paranoia check, selection now is consistent
/* vertices first */
for(eve= em->verts.last; eve; eve= eve->prev) {
diff --git a/source/blender/editors/mesh/editmesh_loop.c b/source/blender/editors/mesh/editmesh_loop.c
index 51c19261de8..7f1d56aee73 100644
--- a/source/blender/editors/mesh/editmesh_loop.c
+++ b/source/blender/editors/mesh/editmesh_loop.c
@@ -61,6 +61,7 @@ editmesh_loop: tools with own drawing subloops, select, knife, subdiv
#include "BKE_mesh.h"
#include "BKE_object.h"
#include "BKE_utildefines.h"
+#include "BKE_tessmesh.h"
#include "PIL_time.h"
@@ -784,8 +785,8 @@ static float bm_seg_intersect(BMEdge *e, CutCurve *c, int len, char mode,
static int knife_cut_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- BMesh *bm;
- EditMesh *em= EM_GetEditMesh(((Mesh *)obedit->data)), *em2;
+ BMEditMesh *em= (((Mesh *)obedit->data))->edit_btmesh;
+ BMesh *bm = em->bm;
ARegion *ar= CTX_wm_region(C);
BMVert *bv;
BMIter iter;
@@ -798,9 +799,8 @@ static int knife_cut_exec(bContext *C, wmOperator *op)
int len=0, isected, flag, i;
short numcuts=1, mode= RNA_int_get(op->ptr, "type");
- if (EM_nvertices_selected(em) < 2) {
+ if (bm->totvertsel < 2) {
error("No edges are selected to operate on");
- EM_EndEditMesh(obedit->data, em);
return OPERATOR_CANCELLED;;
}
@@ -814,12 +814,9 @@ static int knife_cut_exec(bContext *C, wmOperator *op)
RNA_END;
if(len<2) {
- EM_EndEditMesh(obedit->data, em);
return OPERATOR_CANCELLED;
}
- bm = editmesh_to_bmesh(em);
-
/*the floating point coordinates of verts in screen space will be stored in a hash table according to the vertices pointer*/
gh = BLI_ghash_new(BLI_ghashutil_ptrhash, BLI_ghashutil_ptrcmp);
for(bv=BMIter_New(&iter, bm, BM_VERTS_OF_MESH, NULL);bv;bv=BMIter_Step(&iter)){
@@ -869,17 +866,8 @@ static int knife_cut_exec(bContext *C, wmOperator *op)
//else if (mode==KNIFE_MULTICUT) esubdivideflag(obedit, em, SELECT, 0, B_KNIFE, numcuts, SUBDIV_SELECT_ORIG);
//else esubdivideflag(obedit, em, SELECT, 0, B_KNIFE|B_PERCENTSUBD, 1, SUBDIV_SELECT_ORIG);
- BLI_ghash_free(gh, NULL, (GHashValFreeFP)MEM_freeN);
-
- free_editMesh(em);
-
- em2 = bmesh_to_editmesh(bm);
- *em = *em2;
-
- MEM_freeN(em2);
- BM_Free_Mesh(bm);
+ BLI_ghash_free(gh, NULL, (GHashValFreeFP)WMEM_freeN);
- EM_EndEditMesh(obedit->data, em);
return OPERATOR_FINISHED;
}
diff --git a/source/blender/editors/mesh/editmesh_mods.c b/source/blender/editors/mesh/editmesh_mods.c
index d7f1d4b479d..8758eb9d914 100644
--- a/source/blender/editors/mesh/editmesh_mods.c
+++ b/source/blender/editors/mesh/editmesh_mods.c
@@ -490,7 +490,7 @@ static int similar_face_select_exec(bContext *C, wmOperator *op)
Scene *scene= CTX_data_scene(C);
Object *obedit= CTX_data_edit_object(C);
Mesh *me= obedit->data;
- EditMesh *em= EM_GetEditMesh(me);
+ EditMesh *em= BKE_mesh_get_editmesh(me);
int selcount = similar_face_select__internal(scene, em, RNA_int_get(op->ptr, "type"));
@@ -498,19 +498,19 @@ static int similar_face_select_exec(bContext *C, wmOperator *op)
/* here was an edge-mode only select flush case, has to be generalized */
EM_selectmode_flush(em);
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(me, em);
+ BKE_mesh_end_editmesh(me, em);
return OPERATOR_FINISHED;
}
- EM_EndEditMesh(me, em);
+ BKE_mesh_end_editmesh(me, em);
return OPERATOR_CANCELLED;
}
-void MESH_OT_select_face_similar(wmOperatorType *ot)
+void MESH_OT_faces_select_similar(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Similar Face Select";
- ot->idname= "MESH_OT_select_face_similar";
+ ot->idname= "MESH_OT_faces_select_similar";
/* api callbacks */
ot->invoke= WM_menu_invoke;
@@ -751,7 +751,7 @@ static int similar_edge_select_exec(bContext *C, wmOperator *op)
Scene *scene= CTX_data_scene(C);
Object *obedit= CTX_data_edit_object(C);
Mesh *me= obedit->data;
- EditMesh *em= EM_GetEditMesh(me);
+ EditMesh *em= BKE_mesh_get_editmesh(me);
int selcount = similar_edge_select__internal(scene, em, RNA_int_get(op->ptr, "type"));
@@ -759,19 +759,19 @@ static int similar_edge_select_exec(bContext *C, wmOperator *op)
/* here was an edge-mode only select flush case, has to be generalized */
EM_selectmode_flush(em);
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(me, em);
+ BKE_mesh_end_editmesh(me, em);
return OPERATOR_FINISHED;
}
- EM_EndEditMesh(me, em);
+ BKE_mesh_end_editmesh(me, em);
return OPERATOR_CANCELLED;
}
-void MESH_OT_select_edge_similar(wmOperatorType *ot)
+void MESH_OT_edges_select_similar(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Similar Edge Select";
- ot->idname= "MESH_OT_select_edge_similar";
+ ot->idname= "MESH_OT_edges_select_similar";
/* api callbacks */
ot->invoke= WM_menu_invoke;
@@ -806,7 +806,7 @@ static int similar_vert_select_exec(bContext *C, wmOperator *op)
Scene *scene= CTX_data_scene(C);
Object *obedit= CTX_data_edit_object(C);
Mesh *me= obedit->data;
- EditMesh *em= EM_GetEditMesh(me);
+ EditMesh *em= BKE_mesh_get_editmesh(me);
EditVert *eve, *base_eve=NULL;
unsigned int selcount=0; /* count how many new edges we select*/
@@ -833,7 +833,7 @@ static int similar_vert_select_exec(bContext *C, wmOperator *op)
}
if (!ok || !deselcount) { /* no data selected OR no more data to select*/
- EM_EndEditMesh(me, em);
+ BKE_mesh_end_editmesh(me, em);
return 0;
}
@@ -864,7 +864,7 @@ static int similar_vert_select_exec(bContext *C, wmOperator *op)
selcount++;
deselcount--;
if (!deselcount) {/*have we selected all posible faces?, if so return*/
- EM_EndEditMesh(me, em);
+ BKE_mesh_end_editmesh(me, em);
return selcount;
}
}
@@ -882,7 +882,7 @@ static int similar_vert_select_exec(bContext *C, wmOperator *op)
selcount++;
deselcount--;
if (!deselcount) {/*have we selected all posible faces?, if so return*/
- EM_EndEditMesh(me, em);
+ BKE_mesh_end_editmesh(me, em);
return selcount;
}
}
@@ -896,7 +896,7 @@ static int similar_vert_select_exec(bContext *C, wmOperator *op)
CD_MDEFORMVERT);
if (!base_dvert || base_dvert->totweight == 0) {
- EM_EndEditMesh(me, em);
+ BKE_mesh_end_editmesh(me, em);
return selcount;
}
@@ -914,7 +914,7 @@ static int similar_vert_select_exec(bContext *C, wmOperator *op)
selcount++;
deselcount--;
if (!deselcount) { /*have we selected all posible faces?, if so return*/
- EM_EndEditMesh(me, em);
+ BKE_mesh_end_editmesh(me, em);
return selcount;
}
break;
@@ -929,19 +929,19 @@ static int similar_vert_select_exec(bContext *C, wmOperator *op)
if(selcount) {
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(me, em);
+ BKE_mesh_end_editmesh(me, em);
return OPERATOR_FINISHED;
}
- EM_EndEditMesh(me, em);
+ BKE_mesh_end_editmesh(me, em);
return OPERATOR_CANCELLED;
}
-void MESH_OT_select_vertex_similar(wmOperatorType *ot)
+void MESH_OT_vertices_select_similar(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Similar Vertex Select";
- ot->idname= "MESH_OT_select_vertex_similar";
+ ot->idname= "MESH_OT_vertices_select_similar";
/* api callbacks */
ot->invoke= WM_menu_invoke;
@@ -1650,7 +1650,7 @@ static void edgering_select(EditMesh *em, EditEdge *startedge, int select)
static int loop_multiselect(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh(((Mesh *)obedit->data));
+ EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
EditEdge *eed;
EditEdge **edarray;
int edindex, edfirstcount;
@@ -1689,16 +1689,16 @@ static int loop_multiselect(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
#if 0 //moved to bmeshutils_mods.c
-void MESH_OT_select_loop_multi(wmOperatorType *ot)
+void MESH_OT_loop_multi_select(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Multi Select Loops";
- ot->idname= "MESH_OT_select_loop_multi";
+ ot->idname= "MESH_OT_loop_multi_select";
/* api callbacks */
ot->exec= loop_multiselect;
@@ -1991,7 +1991,7 @@ void selectconnected_mesh_all(EditMesh *em)
static int select_linked_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh(obedit->data);
+ EditMesh *em= BKE_mesh_get_editmesh(obedit->data);
if( RNA_boolean_get(op->ptr, "limit") ) {
ViewContext vc;
@@ -2003,7 +2003,7 @@ static int select_linked_exec(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
@@ -2132,13 +2132,13 @@ void EM_hide_mesh(EditMesh *em, int swap)
static int hide_mesh_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh(((Mesh *)obedit->data));
+ EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
EM_hide_mesh(em, RNA_boolean_get(op->ptr, "unselected"));
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
@@ -2198,13 +2198,13 @@ void EM_reveal_mesh(EditMesh *em)
static int reveal_mesh_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh(((Mesh *)obedit->data));
+ EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
EM_reveal_mesh(em);
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
@@ -2258,7 +2258,7 @@ static int select_sharp_edges_exec(bContext *C, wmOperator *op)
* small enough, select the edge
*/
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh(((Mesh *)obedit->data));
+ EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
EditEdge *eed;
EditFace *efa;
EditFace **efa1;
@@ -2270,7 +2270,7 @@ static int select_sharp_edges_exec(bContext *C, wmOperator *op)
if(em->selectmode==SCE_SELECT_FACE) {
BKE_report(op->reports, RPT_ERROR, "Doesn't work in face selection mode");
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_CANCELLED;
}
@@ -2350,15 +2350,15 @@ static int select_sharp_edges_exec(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit); //TODO is this needed ?
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
-void MESH_OT_select_sharp_edges(wmOperatorType *ot)
+void MESH_OT_edges_select_sharp(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Select Sharp Edges";
- ot->idname= "MESH_OT_select_sharp_edges";
+ ot->idname= "MESH_OT_edges_select_sharp";
/* api callbacks */
ot->exec= select_sharp_edges_exec;
@@ -2511,21 +2511,21 @@ static void select_linked_flat_faces(EditMesh *em, wmOperator *op, float sharpne
static int select_linked_flat_faces_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh(((Mesh *)obedit->data));
+ EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
select_linked_flat_faces(em, op, RNA_float_get(op->ptr, "sharpness"));
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
-void MESH_OT_select_linked_flat_faces(wmOperatorType *ot)
+void MESH_OT_faces_select_linked_flat(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Select Linked Flat Faces";
- ot->idname= "MESH_OT_select_linked_flat_faces";
+ ot->idname= "MESH_OT_faces_select_linked_flat";
/* api callbacks */
ot->exec= select_linked_flat_faces_exec;
@@ -2611,13 +2611,13 @@ void select_non_manifold(EditMesh *em, wmOperator *op )
static int select_non_manifold_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh(((Mesh *)obedit->data));
+ EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
select_non_manifold(em, op);
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
@@ -2674,13 +2674,13 @@ void EM_select_swap(EditMesh *em) /* exported for UV */
static int select_invert_mesh_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh(((Mesh *)obedit->data));
+ EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
EM_select_swap(em);
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
@@ -2711,12 +2711,12 @@ void EM_toggle_select_all(EditMesh *em) /* exported for UV */
static int toggle_select_all_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh(((Mesh *)obedit->data));
+ EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
EM_toggle_select_all(em);
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
@@ -2797,7 +2797,7 @@ void EM_select_more(EditMesh *em)
static int select_more(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh(((Mesh *)obedit->data)) ;
+ EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data)) ;
EM_select_more(em);
@@ -2805,7 +2805,7 @@ static int select_more(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
@@ -2887,14 +2887,14 @@ void EM_select_less(EditMesh *em)
static int select_less(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh(((Mesh *)obedit->data));
+ EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
EM_select_less(em);
// if (EM_texFaceCheck(em))
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
@@ -2957,13 +2957,13 @@ static void selectrandom_mesh(EditMesh *em, float perc) /* randomly selects a us
static int mesh_select_random_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh(((Mesh *)obedit->data));
+ EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
selectrandom_mesh(em, RNA_float_get(op->ptr,"percent"));
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
@@ -3047,13 +3047,13 @@ static int mesh_selection_type_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh(((Mesh *)obedit->data));
+ EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
mesh_selection_type(CTX_data_scene(C), em, RNA_enum_get(op->ptr,"type"));
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
@@ -3081,7 +3081,8 @@ void MESH_OT_selection_type(wmOperatorType *ot)
static int editmesh_mark_seam(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh(((Mesh *)obedit->data));
+
+ EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
Mesh *me= ((Mesh *)obedit->data);
EditEdge *eed;
int clear = RNA_boolean_get(op->ptr, "clear");
@@ -3112,7 +3113,8 @@ static int editmesh_mark_seam(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
@@ -3135,7 +3137,8 @@ void MESH_OT_mark_seam(wmOperatorType *ot)
static int editmesh_mark_sharp(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh(((Mesh *)obedit->data));
+
+ EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
Mesh *me= ((Mesh *)obedit->data);
int set = RNA_boolean_get(op->ptr, "set");
EditEdge *eed;
@@ -3161,7 +3164,8 @@ static int editmesh_mark_sharp(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
@@ -3556,7 +3560,8 @@ void righthandfaces(EditMesh *em, int select) /* makes faces righthand turning *
static int righthandfaces_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh(((Mesh *)obedit->data));
+
+ EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
/* 'standard' behaviour - check if selected, then apply relevant selection */
@@ -3565,15 +3570,15 @@ static int righthandfaces_exec(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit); //TODO is this needed ?
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
-void MESH_OT_consistant_normals(wmOperatorType *ot)
+void MESH_OT_normals_make_consistent(wmOperatorType *ot)
{
/* identifiers */
- ot->name= "Make Normals Consistant";
- ot->idname= "MESH_OT_consistant_normals";
+ ot->name= "Make Normals Consistent";
+ ot->idname= "MESH_OT_normals_make_consistent";
/* api callbacks */
ot->exec= righthandfaces_exec;
@@ -3767,7 +3772,7 @@ static int smooth_vertex(bContext *C, wmOperator *op)
Scene *scene= CTX_data_scene(C);
Object *obedit= CTX_data_edit_object(C);
Mesh *me= obedit->data;
- EditMesh *em= EM_GetEditMesh(me);
+ EditMesh *em= (EditMesh *)me;
EditVert *eve, *eve_mir = NULL;
EditEdge *eed;
@@ -3776,8 +3781,9 @@ static int smooth_vertex(bContext *C, wmOperator *op)
int teller=0;
ModifierData *md= obedit->modifiers.first;
+
if(em==NULL) {
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_CANCELLED;
}
@@ -3787,8 +3793,9 @@ static int smooth_vertex(bContext *C, wmOperator *op)
if(eve->f & SELECT) teller++;
eve= eve->next;
}
+
if(teller==0) {
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_CANCELLED;
}
@@ -3903,16 +3910,16 @@ static int smooth_vertex(bContext *C, wmOperator *op)
// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
#endif
return OPERATOR_FINISHED;
}
-void MESH_OT_smooth_vertex(wmOperatorType *ot)
+void MESH_OT_vertices_smooth(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Smooth Vertex";
- ot->idname= "MESH_OT_smooth_vertex";
+ ot->idname= "MESH_OT_vertices_smooth";
/* api callbacks */
ot->exec= smooth_vertex;
@@ -4029,21 +4036,21 @@ static int vertices_to_sphere_exec(bContext *C, wmOperator *op)
Object *obedit= CTX_data_edit_object(C);
View3D *v3d = CTX_wm_view3d(C);
Scene *scene = CTX_data_scene(C);
- EditMesh *em= EM_GetEditMesh(((Mesh *)obedit->data));
+ EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
vertices_to_sphere(scene, v3d, obedit, em, RNA_float_get(op->ptr,"percent"));
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
-void MESH_OT_vertices_to_sphere(wmOperatorType *ot)
+void MESH_OT_vertices_transform_to_sphere(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Vertices to Sphere";
- ot->idname= "MESH_OT_vertices_to_sphere";
+ ot->idname= "MESH_OT_vertices_transform_to_sphere";
/* api callbacks */
ot->exec= vertices_to_sphere_exec;
@@ -4079,7 +4086,7 @@ void flipface(EditMesh *em, EditFace *efa)
static int flip_editnormals(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh(((Mesh *)obedit->data));
+ EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
EditFace *efa;
efa= em->faces.first;
@@ -4093,7 +4100,7 @@ static int flip_editnormals(bContext *C, wmOperator *op)
/* update vertex normals too */
recalc_editnormals(em);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
diff --git a/source/blender/editors/mesh/editmesh_tools.c b/source/blender/editors/mesh/editmesh_tools.c
index 139fa29ddf9..766615f0c7c 100644
--- a/source/blender/editors/mesh/editmesh_tools.c
+++ b/source/blender/editors/mesh/editmesh_tools.c
@@ -84,8 +84,6 @@ editmesh_tool.c: UI called tools for editmesh, geometry changes here, otherwise
#include "WM_api.h"
#include "WM_types.h"
-#include "BMF_Api.h"
-
#include "ED_mesh.h"
#include "ED_view3d.h"
#include "ED_util.h"
@@ -490,7 +488,7 @@ static int removedoublesflag_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
Scene *scene = CTX_data_scene(C);
- EditMesh *em= EM_GetEditMesh(((Mesh *)obedit->data));
+ EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
char msg[100];
int cnt = removedoublesflag(em,1,0,scene->toolsettings->doublimit);
@@ -503,7 +501,7 @@ static int removedoublesflag_exec(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
@@ -704,10 +702,65 @@ void extrude_mesh(Object *obedit, EditMesh *em, wmOperator *op)
}
+#if 0
+//need to see if this really had new stuff I should merge over
+<<<<<<< .working
+=======
+// XXX should be a menu item
+static int mesh_extrude_invoke(bContext *C, wmOperator *op, wmEvent *event)
+{
+ Object *obedit= CTX_data_edit_object(C);
+ EditMesh *em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
+
+ extrude_mesh(obedit,em, op);
+
+ RNA_int_set(op->ptr, "mode", TFM_TRANSLATION);
+ WM_operator_name_call(C, "TFM_OT_transform", WM_OP_INVOKE_REGION_WIN, op->ptr);
+
+ WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
+
+ BKE_mesh_end_editmesh(obedit->data, em);
+ return OPERATOR_FINISHED;
+}
+
+/* extrude without transform */
+static int mesh_extrude_exec(bContext *C, wmOperator *op)
+{
+ Object *obedit= CTX_data_edit_object(C);
+ EditMesh *em= BKE_mesh_get_editmesh(obedit->data);
+
+ extrude_mesh(obedit,em, op);
+
+ WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
+
+ BKE_mesh_end_editmesh(obedit->data, em);
+ return OPERATOR_FINISHED;
+}
+
+
+void MESH_OT_extrude(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Extrude Mesh";
+ ot->idname= "MESH_OT_extrude";
+
+ /* api callbacks */
+ ot->invoke= mesh_extrude_invoke;
+ ot->exec= mesh_extrude_exec;
+ ot->poll= ED_operator_editmesh;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ /* to give to transform */
+ RNA_def_int(ot->srna, "mode", TFM_TRANSLATION, 0, INT_MAX, "Mode", "", 0, INT_MAX);
+}
+#endif
+
static int split_mesh(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh((Mesh *)obedit->data);
+ EditMesh *em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
WM_cursor_wait(1);
@@ -722,7 +775,7 @@ static int split_mesh(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
@@ -740,6 +793,71 @@ void MESH_OT_split(wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
}
+#if 0
+//this also showed up in a merge, need to check if it
+//needs changes ported over to new extrude code too
+static int extrude_repeat_mesh(bContext *C, wmOperator *op)
+{
+ Object *obedit= CTX_data_edit_object(C);
+ EditMesh *em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
+
+ RegionView3D *rv3d = CTX_wm_region_view3d(C);
+
+ int steps = RNA_int_get(op->ptr,"steps");
+
+ float offs = RNA_float_get(op->ptr,"offset");
+
+ float dvec[3], tmat[3][3], bmat[3][3], nor[3]= {0.0, 0.0, 0.0};
+ short a;
+
+ /* dvec */
+ dvec[0]= rv3d->persinv[2][0];
+ dvec[1]= rv3d->persinv[2][1];
+ dvec[2]= rv3d->persinv[2][2];
+ Normalize(dvec);
+ dvec[0]*= offs;
+ dvec[1]*= offs;
+ dvec[2]*= offs;
+
+ /* base correction */
+ Mat3CpyMat4(bmat, obedit->obmat);
+ Mat3Inv(tmat, bmat);
+ Mat3MulVecfl(tmat, dvec);
+
+ for(a=0; a<steps; a++) {
+ extrudeflag(obedit, em, SELECT, nor);
+ translateflag(em, SELECT, dvec);
+ }
+
+ recalc_editnormals(em);
+
+ EM_fgon_flags(em);
+
+ WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
+
+// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA);
+ BKE_mesh_end_editmesh(obedit->data, em);
+ return OPERATOR_FINISHED;
+}
+
+void MESH_OT_extrude_repeat(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Extrude Repeat Mesh";
+ ot->idname= "MESH_OT_extrude_repeat";
+
+ /* api callbacks */
+ ot->exec= extrude_repeat_mesh;
+ ot->poll= ED_operator_editmesh;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ /* props */
+ RNA_def_float(ot->srna, "offset", 2.0f, 0.0f, 100.0f, "Offset", "", 0.0f, FLT_MAX);
+ RNA_def_int(ot->srna, "steps", 10, 0, 180, "Steps", "", 0, INT_MAX);
+}
+#endif
/* ************************** spin operator ******************** */
static int spin_mesh(bContext *C, float *dvec, int steps, float degr, int dupli )
@@ -747,7 +865,7 @@ static int spin_mesh(bContext *C, float *dvec, int steps, float degr, int dupli
Object *obedit= CTX_data_edit_object(C);
View3D *v3d = CTX_wm_view3d(C);
Scene *scene = CTX_data_scene(C);
- EditMesh *em= EM_GetEditMesh((Mesh *)obedit->data);
+ EditMesh *em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
RegionView3D *rv3d= CTX_wm_region_view3d(C);
EditVert *eve,*nextve;
float nor[3]= {0.0f, 0.0f, 0.0f};
@@ -830,7 +948,7 @@ static int spin_mesh(bContext *C, float *dvec, int steps, float degr, int dupli
DAG_object_flush_update(scene, obedit, OB_RECALC_DATA);
}
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return ok;
}
@@ -871,7 +989,7 @@ void MESH_OT_spin(wmOperatorType *ot)
static int screw_mesh_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh((Mesh *)obedit->data);
+ EditMesh *em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
EditVert *eve,*v1=0,*v2=0;
EditEdge *eed;
float dvec[3], nor[3];
@@ -907,7 +1025,7 @@ static int screw_mesh_exec(bContext *C, wmOperator *op)
}
if(v1==NULL || v2==NULL) {
BKE_report(op->reports, RPT_ERROR, "You have to select a string of connected vertices too");
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_CANCELLED;
}
@@ -926,16 +1044,16 @@ static int screw_mesh_exec(bContext *C, wmOperator *op)
if(spin_mesh(C, dvec, turns*steps, 360.0f*turns, 0)) {
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
else {
BKE_report(op->reports, RPT_ERROR, "No valid vertices are selected");
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_CANCELLED;
}
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
}
void MESH_OT_screw(wmOperatorType *ot)
@@ -1012,10 +1130,10 @@ static int delete_mesh(Object *obedit, wmOperator *op, int event)
int count;
char *str="Erase";
- if(event<1) return;
+ if(event<1) return OPERATOR_CANCELLED;
if (event != 7 && event != 5)
- em= EM_GetEditMesh((Mesh *)obedit->data);
+ em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
if(event==10 ) {
str= "Erase Vertices";
@@ -1024,7 +1142,7 @@ static int delete_mesh(Object *obedit, wmOperator *op, int event)
erase_vertices(em, &em->verts);
EM_fgon_flags(em); // redo flags and indices for fgons
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
}
else if(event==7) {
if (!EDBM_CallOpf(bem, op, "dissolveverts verts=%hv",BM_SELECT))
@@ -1032,14 +1150,14 @@ static int delete_mesh(Object *obedit, wmOperator *op, int event)
}
else if(event==6) {
if(!EdgeLoopDelete(em, op)) {
- EM_EndEditMesh(obedit->data, em);
- return;
+ BKE_mesh_end_editmesh(obedit->data, em);
+ return OPERATOR_CANCELLED;
}
str= "Erase Edge Loop";
EM_fgon_flags(em); // redo flags and indices for fgons
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
}
else if(event==4) {
str= "Erase Edges & Faces";
@@ -1084,7 +1202,7 @@ static int delete_mesh(Object *obedit, wmOperator *op, int event)
}
EM_fgon_flags(em); // redo flags and indices for fgons
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
}
else if(event==1) {
str= "Erase Edges";
@@ -1131,14 +1249,14 @@ static int delete_mesh(Object *obedit, wmOperator *op, int event)
}
EM_fgon_flags(em); // redo flags and indices for fgons
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
}
else if(event==2) {
str="Erase Faces";
delfaceflag(em, SELECT);
EM_fgon_flags(em); // redo flags and indices for fgons
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
}
else if(event==3) {
str= "Erase All";
@@ -1148,7 +1266,7 @@ static int delete_mesh(Object *obedit, wmOperator *op, int event)
if(em->selected.first) BLI_freelistN(&(em->selected));
EM_fgon_flags(em); // redo flags and indices for fgons
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
}
else if(event==5) {
if (!EDBM_CallOpf(bem, op, "del geom=%hf context=%d",
@@ -1156,7 +1274,8 @@ static int delete_mesh(Object *obedit, wmOperator *op, int event)
return OPERATOR_CANCELLED;
str= "Erase Only Faces";
}
-
+
+ return OPERATOR_FINISHED;
// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA);
}
@@ -2515,11 +2634,13 @@ void esubdivideflag(Object *obedit, EditMesh *em, int flag, float rad, int beaut
}
}
}
- sort[hold]->f &= ~SELECT;
- sort[hold]->f2 |= EDGENEW;
- length[hold] = -1;
- }
- }
+ if (hold > -1) {
+ sort[hold]->f &= ~SELECT;
+ sort[hold]->f2 |= EDGENEW;
+ length[hold] = -1;
+ }
+ }
+ }
// Beauty Long Edges
else {
@@ -2536,13 +2657,15 @@ void esubdivideflag(Object *obedit, EditMesh *em, int flag, float rad, int beaut
}
}
}
- sort[hold]->f &= ~SELECT;
- sort[hold]->f2 |= EDGENEW;
- length[hold] = -1;
- }
- }
+ if (hold > -1) {
+ sort[hold]->f &= ~SELECT;
+ sort[hold]->f2 |= EDGENEW;
+ length[hold] = -1;
+ }
+ }
+ }
}
- }
+ }
}
gh = BLI_ghash_new(BLI_ghashutil_ptrhash, BLI_ghashutil_ptrcmp);
@@ -3167,11 +3290,9 @@ void join_triangles(EditMesh *em)
if(v1 && v2 && v3 && v4){
/*test if simple island first. This mimics 2.42 behaviour and the tests are less restrictive.*/
if(efaa[0]->tmp.l == 1 && efaa[1]->tmp.l == 1){
- if( convex(v1->co, v2->co, v3->co, v4->co) ){
- eed->f1 |= T2QJOIN;
- efaa[0]->f1 = 1; //mark for join
- efaa[1]->f1 = 1; //mark for join
- }
+ eed->f1 |= T2QJOIN;
+ efaa[0]->f1 = 1; //mark for join
+ efaa[1]->f1 = 1; //mark for join
}
else{
@@ -3415,10 +3536,6 @@ static void edge_rotate(EditMesh *em, wmOperator *op, EditEdge *eed,int dir)
if(numshared > 1)
return;
- /* coplaner faces only please */
- if(Inpf(face[0]->n,face[1]->n) <= 0.000001)
- return;
-
/* we want to construct an array of vertex indicis in both faces, starting at
the last vertex of the edge being rotated.
- first we find the two vertices that lie on the rotating edge
@@ -3549,7 +3666,7 @@ static void edge_rotate(EditMesh *em, wmOperator *op, EditEdge *eed,int dir)
static int edge_rotate_selected(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh((Mesh *)obedit->data);
+ EditMesh *em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
int dir = RNA_int_get(op->ptr,"dir"); // dir == 2 when clockwise and ==1 for counter CW.
EditEdge *eed;
@@ -3588,7 +3705,7 @@ static int edge_rotate_selected(bContext *C, wmOperator *op)
else
{
BKE_report(op->reports, RPT_ERROR, "Select one edge or two adjacent faces");
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_CANCELLED;
}
}
@@ -3604,7 +3721,7 @@ static int edge_rotate_selected(bContext *C, wmOperator *op)
else
{
BKE_report(op->reports, RPT_ERROR, "Select one edge or two adjacent faces");
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_CANCELLED;
}
@@ -3616,7 +3733,7 @@ static int edge_rotate_selected(bContext *C, wmOperator *op)
// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
@@ -3745,7 +3862,7 @@ useless:
GHash *vertgh;
SlideVert *tempsv;
- float perc = 0, percp = 0,vertdist; // XXX, projectMat[4][4], viewMat[4][4];
+ float perc = 0, percp = 0,vertdist; // XXX, projectMat[4][4];
float shiftlabda= 0.0f,len = 0.0f;
int i = 0,j, numsel, numadded=0, timesthrough = 0, vertsel=0, prop=1, cancel = 0,flip=0;
int wasshift = 0;
@@ -3765,7 +3882,7 @@ useless:
// initNumInput(&num);
-// view3d_get_object_project_mat(curarea, obedit, projectMat, viewMat);
+// view3d_get_object_project_mat(curarea, obedit, projectMat);
mvalo[0] = -1; mvalo[1] = -1;
numsel =0;
@@ -4672,11 +4789,11 @@ static int mesh_rip_invoke(bContext *C, wmOperator *op, wmEvent *event)
ARegion *ar= CTX_wm_region(C);
RegionView3D *rv3d= ar->regiondata;
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh((Mesh *)obedit->data);
+ EditMesh *em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
EditVert *eve, *nextve;
EditEdge *eed, *seed= NULL;
EditFace *efa, *sefa= NULL;
- float projectMat[4][4], vec[3], dist, mindist, viewMat[4][4];
+ float projectMat[4][4], vec[3], dist, mindist;
short doit= 1, *mval= event->mval; // XXX ,propmode,prop;
@@ -4688,7 +4805,7 @@ static int mesh_rip_invoke(bContext *C, wmOperator *op, wmEvent *event)
/* select flush... vertices are important */
EM_selectmode_set(em);
- view3d_get_object_project_mat(rv3d, obedit, projectMat, viewMat);
+ view3d_get_object_project_mat(rv3d, obedit, projectMat);
/* find best face, exclude triangles and break on face select or faces with 2 edges select */
mindist= 1000000.0f;
@@ -4716,12 +4833,12 @@ static int mesh_rip_invoke(bContext *C, wmOperator *op, wmEvent *event)
if(efa) {
BKE_report(op->reports, RPT_ERROR, "Can't perform ripping with faces selected this way");
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_CANCELLED;
}
if(sefa==NULL) {
BKE_report(op->reports, RPT_ERROR, "No proper selection or faces included");
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_CANCELLED;
}
@@ -4786,7 +4903,7 @@ static int mesh_rip_invoke(bContext *C, wmOperator *op, wmEvent *event)
if(seed==NULL) { // never happens?
BKE_report(op->reports, RPT_ERROR, "No proper edge found to start");
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_CANCELLED;
}
@@ -4876,7 +4993,7 @@ static int mesh_rip_invoke(bContext *C, wmOperator *op, wmEvent *event)
// scene->prop_mode = propmode;
// XXX scene->proportional = prop;
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
#endif
return OPERATOR_FINISHED;
}
@@ -5818,7 +5935,7 @@ void pathselect(EditMesh *em, wmOperator *op)
static int region_to_loop(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh((Mesh *)obedit->data);
+ EditMesh *em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
EditEdge *eed;
EditFace *efa;
@@ -5851,7 +5968,7 @@ static int region_to_loop(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
@@ -5996,7 +6113,7 @@ static int loop_bisect(EditMesh *em, Collection *edgecollection){
static int loop_to_region(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh((Mesh *)obedit->data);
+ EditMesh *em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
EditFace *efa;
@@ -6028,7 +6145,7 @@ static int loop_to_region(bContext *C, wmOperator *op)
// if (EM_texFaceCheck())
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
@@ -6053,7 +6170,7 @@ void MESH_OT_loop_to_region(wmOperatorType *ot)
static int mesh_rotate_uvs(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh((Mesh *)obedit->data);
+ EditMesh *em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
EditFace *efa;
short change = 0, ccw;
@@ -6063,7 +6180,7 @@ static int mesh_rotate_uvs(bContext *C, wmOperator *op)
if (!EM_texFaceCheck(em)) {
BKE_report(op->reports, RPT_ERROR, "mesh has no uv/image layers");
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_CANCELLED;
}
@@ -6120,14 +6237,14 @@ static int mesh_rotate_uvs(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
}
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
static int mesh_mirror_uvs(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh((Mesh *)obedit->data);
+ EditMesh *em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
EditFace *efa;
short change = 0, altaxis;
@@ -6137,7 +6254,7 @@ static int mesh_mirror_uvs(bContext *C, wmOperator *op)
if (!EM_texFaceCheck(em)) {
BKE_report(op->reports, RPT_ERROR, "mesh has no uv/image layers");
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_CANCELLED;
}
@@ -6209,14 +6326,14 @@ static int mesh_mirror_uvs(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
}
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
static int mesh_rotate_colors(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh((Mesh *)obedit->data);
+ EditMesh *em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
EditFace *efa;
short change = 0, ccw;
@@ -6225,7 +6342,7 @@ static int mesh_rotate_colors(bContext *C, wmOperator *op)
if (!EM_vertColorCheck(em)) {
BKE_report(op->reports, RPT_ERROR, "mesh has no color layers");
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_CANCELLED;
}
@@ -6265,7 +6382,7 @@ static int mesh_rotate_colors(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
}
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
@@ -6273,7 +6390,7 @@ static int mesh_rotate_colors(bContext *C, wmOperator *op)
static int mesh_mirror_colors(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh((Mesh *)obedit->data);
+ EditMesh *em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
EditFace *efa;
short change = 0, altaxis;
@@ -6282,7 +6399,7 @@ static int mesh_mirror_colors(bContext *C, wmOperator *op)
if (!EM_vertColorCheck(em)) {
BKE_report(op->reports, RPT_ERROR, "Mesh has no color layers");
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_CANCELLED;
}
@@ -6321,15 +6438,15 @@ static int mesh_mirror_colors(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
}
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
-void MESH_OT_rotate_uvs(wmOperatorType *ot)
+void MESH_OT_uvs_rotate(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Rotate UVs";
- ot->idname= "MESH_OT_rotate_uvs";
+ ot->idname= "MESH_OT_uvs_rotate";
/* api callbacks */
ot->exec= mesh_rotate_uvs;
@@ -6339,11 +6456,11 @@ void MESH_OT_rotate_uvs(wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
}
-void MESH_OT_mirror_uvs(wmOperatorType *ot)
+void MESH_OT_uvs_mirror(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Mirror UVs";
- ot->idname= "MESH_OT_mirror_uvs";
+ ot->idname= "MESH_OT_uvs_mirror";
/* api callbacks */
ot->exec= mesh_mirror_uvs;
@@ -6353,11 +6470,11 @@ void MESH_OT_mirror_uvs(wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
}
-void MESH_OT_rotate_colors(wmOperatorType *ot)
+void MESH_OT_colors_rotate(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Rotate Colors";
- ot->idname= "MESH_OT_rotate_colors";
+ ot->idname= "MESH_OT_colors_rotate";
/* api callbacks */
ot->exec= mesh_rotate_colors;
@@ -6367,11 +6484,11 @@ void MESH_OT_rotate_colors(wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
}
-void MESH_OT_mirror_colors(wmOperatorType *ot)
+void MESH_OT_colors_mirror(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Mirror Colors";
- ot->idname= "MESH_OT_mirror_colors";
+ ot->idname= "MESH_OT_colors_mirror";
/* api callbacks */
ot->exec= mesh_mirror_colors;
@@ -6380,6 +6497,7 @@ void MESH_OT_mirror_colors(wmOperatorType *ot)
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
}
+
/* ************************************* */
/* note; the EM_selectmode_set() calls here illustrate how badly constructed it all is... from before the
@@ -6630,14 +6748,14 @@ static void fill_mesh(EditMesh *em)
static int fill_mesh_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh((Mesh *)obedit->data);
+ EditMesh *em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
fill_mesh(em);
DAG_object_flush_update(CTX_data_scene(C), obedit, OB_RECALC_DATA);
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
@@ -6659,13 +6777,13 @@ void MESH_OT_fill(wmOperatorType *ot)
static int beauty_fill_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh((Mesh *)obedit->data);
+ EditMesh *em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
beauty_fill(em);
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
@@ -6683,7 +6801,7 @@ void MESH_OT_beauty_fill(wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
}
-static int convert_quads_to_tris_exec(bContext *C, wmOperator *op)
+static int quads_convert_to_tris_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
BMEditMesh *em= ((Mesh *)obedit->data)->edit_btmesh;
@@ -6697,41 +6815,41 @@ static int convert_quads_to_tris_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
-void MESH_OT_convert_quads_to_tris(wmOperatorType *ot)
+void MESH_OT_quads_convert_to_tris(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Quads to Tris";
- ot->idname= "MESH_OT_convert_quads_to_tris";
+ ot->idname= "MESH_OT_quads_convert_to_tris";
/* api callbacks */
- ot->exec= convert_quads_to_tris_exec;
+ ot->exec= quads_convert_to_tris_exec;
ot->poll= ED_operator_editmesh;
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
}
-static int convert_tris_to_quads_exec(bContext *C, wmOperator *op)
+static int tris_convert_to_quads_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh((Mesh *)obedit->data);
+ EditMesh *em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
join_triangles(em);
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
-void MESH_OT_convert_tris_to_quads(wmOperatorType *ot)
+void MESH_OT_tris_convert_to_quads(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Tris to Quads";
- ot->idname= "MESH_OT_convert_tris_to_quads";
+ ot->idname= "MESH_OT_tris_convert_to_quads";
/* api callbacks */
- ot->exec= convert_tris_to_quads_exec;
+ ot->exec= tris_convert_to_quads_exec;
ot->poll= ED_operator_editmesh;
/* flags */
@@ -6741,13 +6859,13 @@ void MESH_OT_convert_tris_to_quads(wmOperatorType *ot)
static int edge_flip_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh((Mesh *)obedit->data);
+ EditMesh *em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
edge_flip(em);
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
@@ -6768,13 +6886,13 @@ void MESH_OT_edge_flip(wmOperatorType *ot)
static int mesh_faces_shade_smooth_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh((Mesh *)obedit->data);
+ EditMesh *em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
mesh_set_smooth_faces(em,1);
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
@@ -6795,13 +6913,13 @@ void MESH_OT_faces_shade_smooth(wmOperatorType *ot)
static int mesh_faces_shade_solid_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh((Mesh *)obedit->data);
+ EditMesh *em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
mesh_set_smooth_faces(em,0);
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
- EM_EndEditMesh(obedit->data, em);
+ BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
}
diff --git a/source/blender/editors/mesh/mesh_intern.h b/source/blender/editors/mesh/mesh_intern.h
index 4f58ee5fea0..7e4d2fd6f06 100644
--- a/source/blender/editors/mesh/mesh_intern.h
+++ b/source/blender/editors/mesh/mesh_intern.h
@@ -111,18 +111,18 @@ void em_setup_viewcontext(struct bContext *C, struct ViewContext *vc);
void MESH_OT_separate(struct wmOperatorType *ot);
/* ******************* editmesh_add.c */
-void MESH_OT_add_primitive_plane(struct wmOperatorType *ot);
-void MESH_OT_add_primitive_cube(struct wmOperatorType *ot);
-void MESH_OT_add_primitive_circle(struct wmOperatorType *ot);
-void MESH_OT_add_primitive_cylinder(struct wmOperatorType *ot);
-void MESH_OT_add_primitive_tube(struct wmOperatorType *ot);
-void MESH_OT_add_primitive_cone(struct wmOperatorType *ot);
-void MESH_OT_add_primitive_grid(struct wmOperatorType *ot);
-void MESH_OT_add_primitive_monkey(struct wmOperatorType *ot);
-void MESH_OT_add_primitive_uv_sphere(struct wmOperatorType *ot);
-void MESH_OT_add_primitive_ico_sphere(struct wmOperatorType *ot);
+void MESH_OT_primitive_plane_add(struct wmOperatorType *ot);
+void MESH_OT_primitive_cube_add(struct wmOperatorType *ot);
+void MESH_OT_primitive_circle_add(struct wmOperatorType *ot);
+void MESH_OT_primitive_cylinder_add(struct wmOperatorType *ot);
+void MESH_OT_primitive_tube_add(struct wmOperatorType *ot);
+void MESH_OT_primitive_cone_add(struct wmOperatorType *ot);
+void MESH_OT_primitive_grid_add(struct wmOperatorType *ot);
+void MESH_OT_primitive_monkey_add(struct wmOperatorType *ot);
+void MESH_OT_primitive_uv_sphere_add(struct wmOperatorType *ot);
+void MESH_OT_primitive_ico_sphere_add(struct wmOperatorType *ot);
void MESH_OT_dupli_extrude_cursor(struct wmOperatorType *ot);
-void MESH_OT_add_edge_face(struct wmOperatorType *ot);
+void MESH_OT_edge_face_add(struct wmOperatorType *ot);
void MESH_OT_fgon_make(struct wmOperatorType *ot);
void MESH_OT_fgon_clear(struct wmOperatorType *ot);
@@ -183,7 +183,7 @@ extern struct EditFace *EM_face_from_faces(EditMesh *em, struct EditFace *efa1,
void MESH_OT_knife_cut(struct wmOperatorType *ot);
/* ******************* editmesh_mods.c */
-void MESH_OT_select_loop(struct wmOperatorType *ot);
+void MESH_OT_loop_select(struct wmOperatorType *ot);
void MESH_OT_select_all_toggle(struct wmOperatorType *ot);
void MESH_OT_bmesh_test(struct wmOperatorType *ot);
void MESH_OT_select_more(struct wmOperatorType *ot);
@@ -194,20 +194,20 @@ void MESH_OT_select_linked(struct wmOperatorType *ot);
void MESH_OT_select_linked_pick(struct wmOperatorType *ot);
void MESH_OT_hide(struct wmOperatorType *ot);
void MESH_OT_reveal(struct wmOperatorType *ot);
-void MESH_OT_consistant_normals(struct wmOperatorType *ot);
-void MESH_OT_select_linked_flat_faces(struct wmOperatorType *ot);
-void MESH_OT_select_sharp_edges(struct wmOperatorType *ot);
-void MESH_OT_select_path_shortest(struct wmOperatorType *ot);
-void MESH_OT_select_vertex_similar(struct wmOperatorType *ot);
-void MESH_OT_select_edge_similar(struct wmOperatorType *ot);
-void MESH_OT_select_face_similar(struct wmOperatorType *ot);
+void MESH_OT_normals_make_consistent(struct wmOperatorType *ot);
+void MESH_OT_faces_select_linked_flat(struct wmOperatorType *ot);
+void MESH_OT_edges_select_sharp(struct wmOperatorType *ot);
+void MESH_OT_select_shortest_path(struct wmOperatorType *ot);
+void MESH_OT_vertices_select_similar(struct wmOperatorType *ot);
+void MESH_OT_edges_select_similar(struct wmOperatorType *ot);
+void MESH_OT_faces_select_similar(struct wmOperatorType *ot);
void MESH_OT_select_random(struct wmOperatorType *ot);
-void MESH_OT_vertices_to_sphere(struct wmOperatorType *ot);
+void MESH_OT_vertices_transform_to_sphere(struct wmOperatorType *ot);
void MESH_OT_selection_type(struct wmOperatorType *ot);
-void MESH_OT_select_loop_multi(struct wmOperatorType *ot);
+void MESH_OT_loop_multi_select(struct wmOperatorType *ot);
void MESH_OT_mark_seam(struct wmOperatorType *ot);
void MESH_OT_mark_sharp(struct wmOperatorType *ot);
-void MESH_OT_smooth_vertex(struct wmOperatorType *ot);
+void MESH_OT_vertices_smooth(struct wmOperatorType *ot);
void MESH_OT_flip_editnormals(struct wmOperatorType *ot);
extern EditEdge *findnearestedge(struct ViewContext *vc, int *dist);
@@ -254,8 +254,8 @@ void MESH_OT_screw(struct wmOperatorType *ot);
void MESH_OT_fill(struct wmOperatorType *ot);
void MESH_OT_beauty_fill(struct wmOperatorType *ot);
-void MESH_OT_convert_quads_to_tris(struct wmOperatorType *ot);
-void MESH_OT_convert_tris_to_quads(struct wmOperatorType *ot);
+void MESH_OT_quads_convert_to_tris(struct wmOperatorType *ot);
+void MESH_OT_tris_convert_to_quads(struct wmOperatorType *ot);
void MESH_OT_edge_flip(struct wmOperatorType *ot);
void MESH_OT_faces_shade_smooth(struct wmOperatorType *ot);
void MESH_OT_faces_shade_solid(struct wmOperatorType *ot);
@@ -265,10 +265,10 @@ void MESH_OT_edge_rotate(struct wmOperatorType *ot);
void MESH_OT_loop_to_region(struct wmOperatorType *ot);
void MESH_OT_region_to_loop(struct wmOperatorType *ot);
-void MESH_OT_rotate_uvs(struct wmOperatorType *ot);
-void MESH_OT_mirror_uvs(struct wmOperatorType *ot);
-void MESH_OT_rotate_colors(struct wmOperatorType *ot);
-void MESH_OT_mirror_colors(struct wmOperatorType *ot);
+void MESH_OT_uvs_rotate(struct wmOperatorType *ot);
+void MESH_OT_uvs_mirror(struct wmOperatorType *ot);
+void MESH_OT_colors_rotate(struct wmOperatorType *ot);
+void MESH_OT_colors_mirror(struct wmOperatorType *ot);
void MESH_OT_delete(struct wmOperatorType *ot);
void MESH_OT_rip(struct wmOperatorType *ot);
diff --git a/source/blender/editors/mesh/mesh_ops.c b/source/blender/editors/mesh/mesh_ops.c
index f5e3f12bc6d..e61deb1d554 100644
--- a/source/blender/editors/mesh/mesh_ops.c
+++ b/source/blender/editors/mesh/mesh_ops.c
@@ -45,6 +45,7 @@
#include "BKE_context.h"
#include "BKE_global.h"
+#include "BKE_mesh.h"
#include "BKE_utildefines.h"
#include "BKE_mesh.h"
@@ -66,11 +67,11 @@
static int mesh_add_duplicate_exec(bContext *C, wmOperator *op)
{
Object *ob= CTX_data_edit_object(C);
- EditMesh *em= EM_GetEditMesh(ob->data);
+ EditMesh *em= BKE_mesh_get_editmesh(ob->data);
adduplicateflag(em, SELECT);
- EM_EndEditMesh(ob->data, em);
+ BKE_mesh_end_editmesh(ob->data, em);
return OPERATOR_FINISHED;
}
@@ -119,24 +120,24 @@ void ED_operatortypes_mesh(void)
WM_operatortype_append(MESH_OT_selection_type);
WM_operatortype_append(MESH_OT_hide);
WM_operatortype_append(MESH_OT_reveal);
- WM_operatortype_append(MESH_OT_consistant_normals);
+ WM_operatortype_append(MESH_OT_normals_make_consistent);
WM_operatortype_append(MESH_OT_subdivide);
WM_operatortype_append(MESH_OT_subdivide_multi);
WM_operatortype_append(MESH_OT_subdivide_multi_fractal);
WM_operatortype_append(MESH_OT_subdivide_smooth);
WM_operatortype_append(MESH_OT_subdivs);
- WM_operatortype_append(MESH_OT_select_linked_flat_faces);
- WM_operatortype_append(MESH_OT_select_sharp_edges);
- WM_operatortype_append(MESH_OT_add_primitive_plane);
- WM_operatortype_append(MESH_OT_add_primitive_cube);
- WM_operatortype_append(MESH_OT_add_primitive_circle);
- WM_operatortype_append(MESH_OT_add_primitive_cylinder);
- WM_operatortype_append(MESH_OT_add_primitive_tube);
- WM_operatortype_append(MESH_OT_add_primitive_cone);
- WM_operatortype_append(MESH_OT_add_primitive_grid);
- WM_operatortype_append(MESH_OT_add_primitive_monkey);
- WM_operatortype_append(MESH_OT_add_primitive_uv_sphere);
- WM_operatortype_append(MESH_OT_add_primitive_ico_sphere);
+ WM_operatortype_append(MESH_OT_faces_select_linked_flat);
+ WM_operatortype_append(MESH_OT_edges_select_sharp);
+ WM_operatortype_append(MESH_OT_primitive_plane_add);
+ WM_operatortype_append(MESH_OT_primitive_cube_add);
+ WM_operatortype_append(MESH_OT_primitive_circle_add);
+ WM_operatortype_append(MESH_OT_primitive_cylinder_add);
+ WM_operatortype_append(MESH_OT_primitive_tube_add);
+ WM_operatortype_append(MESH_OT_primitive_cone_add);
+ WM_operatortype_append(MESH_OT_primitive_grid_add);
+ WM_operatortype_append(MESH_OT_primitive_monkey_add);
+ WM_operatortype_append(MESH_OT_primitive_uv_sphere_add);
+ WM_operatortype_append(MESH_OT_primitive_ico_sphere_add);
WM_operatortype_append(MESH_OT_fgon_clear);
WM_operatortype_append(MESH_OT_fgon_make);
WM_operatortype_append(MESH_OT_duplicate_add);
@@ -145,22 +146,22 @@ void ED_operatortypes_mesh(void)
WM_operatortype_append(MESH_OT_spin);
WM_operatortype_append(MESH_OT_screw);
- WM_operatortype_append(MESH_OT_vertices_to_sphere);
+ WM_operatortype_append(MESH_OT_vertices_transform_to_sphere);
WM_operatortype_append(MESH_OT_split);
WM_operatortype_append(MESH_OT_extrude_repeat);
WM_operatortype_append(MESH_OT_edge_rotate);
WM_operatortype_append(MESH_OT_loop_to_region);
WM_operatortype_append(MESH_OT_region_to_loop);
- WM_operatortype_append(MESH_OT_rotate_uvs);
- WM_operatortype_append(MESH_OT_mirror_uvs);
- WM_operatortype_append(MESH_OT_rotate_colors);
- WM_operatortype_append(MESH_OT_mirror_colors);
+ WM_operatortype_append(MESH_OT_uvs_rotate);
+ WM_operatortype_append(MESH_OT_uvs_mirror);
+ WM_operatortype_append(MESH_OT_colors_rotate);
+ WM_operatortype_append(MESH_OT_colors_mirror);
WM_operatortype_append(MESH_OT_fill);
WM_operatortype_append(MESH_OT_beauty_fill);
- WM_operatortype_append(MESH_OT_convert_quads_to_tris);
- WM_operatortype_append(MESH_OT_convert_tris_to_quads);
+ WM_operatortype_append(MESH_OT_quads_convert_to_tris);
+ WM_operatortype_append(MESH_OT_tris_convert_to_quads);
WM_operatortype_append(MESH_OT_edge_flip);
WM_operatortype_append(MESH_OT_faces_shade_smooth);
WM_operatortype_append(MESH_OT_faces_shade_solid);
@@ -169,16 +170,16 @@ void ED_operatortypes_mesh(void)
WM_operatortype_append(MESH_OT_separate);
WM_operatortype_append(MESH_OT_dupli_extrude_cursor);
- WM_operatortype_append(MESH_OT_select_loop);
- WM_operatortype_append(MESH_OT_add_edge_face);
- WM_operatortype_append(MESH_OT_select_path_shortest);
- WM_operatortype_append(MESH_OT_select_vertex_similar);
- WM_operatortype_append(MESH_OT_select_edge_similar);
- WM_operatortype_append(MESH_OT_select_face_similar);
- WM_operatortype_append(MESH_OT_select_loop_multi);
+ WM_operatortype_append(MESH_OT_loop_select);
+ WM_operatortype_append(MESH_OT_edge_face_add);
+ WM_operatortype_append(MESH_OT_select_shortest_path);
+ WM_operatortype_append(MESH_OT_vertices_select_similar);
+ WM_operatortype_append(MESH_OT_edges_select_similar);
+ WM_operatortype_append(MESH_OT_faces_select_similar);
+ WM_operatortype_append(MESH_OT_loop_multi_select);
WM_operatortype_append(MESH_OT_mark_seam);
WM_operatortype_append(MESH_OT_mark_sharp);
- WM_operatortype_append(MESH_OT_smooth_vertex);
+ WM_operatortype_append(MESH_OT_vertices_smooth);
WM_operatortype_append(MESH_OT_flip_editnormals);
WM_operatortype_append(MESH_OT_knife_cut);
@@ -195,16 +196,16 @@ void ED_keymap_mesh(wmWindowManager *wm)
/* selecting */
/* standard mouse selection goes via space_view3d */
- WM_keymap_add_item(keymap, "MESH_OT_select_loop", SELECTMOUSE, KM_PRESS, KM_ALT, 0);
- kmi= WM_keymap_add_item(keymap, "MESH_OT_select_loop", SELECTMOUSE, KM_PRESS, KM_SHIFT|KM_ALT, 0);
+ WM_keymap_add_item(keymap, "MESH_OT_loop_select", SELECTMOUSE, KM_PRESS, KM_ALT, 0);
+ kmi= WM_keymap_add_item(keymap, "MESH_OT_loop_select", SELECTMOUSE, KM_PRESS, KM_SHIFT|KM_ALT, 0);
RNA_boolean_set(kmi->ptr, "extend", 1);
- kmi= WM_keymap_add_item(keymap, "MESH_OT_select_loop", SELECTMOUSE, KM_PRESS, KM_ALT|KM_CTRL, 0);
+ kmi= WM_keymap_add_item(keymap, "MESH_OT_loop_select", SELECTMOUSE, KM_PRESS, KM_ALT|KM_CTRL, 0);
RNA_boolean_set(kmi->ptr, "ring", 1);
- kmi= WM_keymap_add_item(keymap, "MESH_OT_select_loop", SELECTMOUSE, KM_PRESS, KM_SHIFT|KM_ALT|KM_CTRL, 0);
+ kmi= WM_keymap_add_item(keymap, "MESH_OT_loop_select", SELECTMOUSE, KM_PRESS, KM_SHIFT|KM_ALT|KM_CTRL, 0);
RNA_boolean_set(kmi->ptr, "extend", 1);
RNA_boolean_set(kmi->ptr, "ring", 1);
- WM_keymap_add_item(keymap, "MESH_OT_select_path_shortest", SELECTMOUSE, KM_PRESS, KM_CTRL, 0);
+ WM_keymap_add_item(keymap, "MESH_OT_select_shortest_path", SELECTMOUSE, KM_PRESS, KM_CTRL, 0);
WM_keymap_add_item(keymap, "MESH_OT_select_all_toggle", AKEY, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "MESH_OT_select_more", PADPLUSKEY, KM_PRESS, KM_CTRL, 0);
@@ -216,11 +217,11 @@ void ED_keymap_mesh(wmWindowManager *wm)
WM_keymap_add_item(keymap, "MESH_OT_select_linked_pick", LKEY, KM_PRESS, 0, 0);
RNA_boolean_set(WM_keymap_add_item(keymap, "MESH_OT_select_linked_pick", LKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "deselect", 1);
- RNA_float_set(WM_keymap_add_item(keymap, "MESH_OT_select_linked_flat_faces", FKEY, KM_PRESS, (KM_CTRL|KM_SHIFT|KM_ALT), 0)->ptr,"sharpness",135.0);
- RNA_float_set(WM_keymap_add_item(keymap, "MESH_OT_select_sharp_edges", SKEY, KM_PRESS, (KM_CTRL|KM_SHIFT|KM_ALT), 0)->ptr,"sharpness",135.0);
+ RNA_float_set(WM_keymap_add_item(keymap, "MESH_OT_faces_select_linked_flat", FKEY, KM_PRESS, (KM_CTRL|KM_SHIFT|KM_ALT), 0)->ptr,"sharpness",135.0);
+ RNA_float_set(WM_keymap_add_item(keymap, "MESH_OT_edges_select_sharp", SKEY, KM_PRESS, (KM_CTRL|KM_SHIFT|KM_ALT), 0)->ptr,"sharpness",135.0);
WM_keymap_add_item(keymap, "MESH_OT_select_random", SPACEKEY, KM_PRESS, 0, 0);
- WM_keymap_add_item(keymap, "MESH_OT_vertices_to_sphere", SKEY, KM_PRESS, KM_CTRL|KM_SHIFT , 0);
+ WM_keymap_add_item(keymap, "MESH_OT_vertices_transform_to_sphere", SKEY, KM_PRESS, KM_CTRL|KM_SHIFT , 0);
WM_keymap_add_item(keymap, "MESH_OT_mark_seam", ONEKEY, KM_PRESS, KM_CTRL , 0);
RNA_boolean_set(WM_keymap_add_item(keymap, "MESH_OT_mark_seam", ONEKEY, KM_PRESS, KM_ALT , 0)->ptr,"clear",1);
@@ -229,9 +230,9 @@ void ED_keymap_mesh(wmWindowManager *wm)
RNA_boolean_set(WM_keymap_add_item(keymap, "MESH_OT_mark_sharp", TWOKEY, KM_PRESS, KM_ALT , 0)->ptr,"set",1);
/* temp hotkeys! */
- WM_keymap_add_item(keymap, "MESH_OT_select_vertex_similar", GKEY, KM_PRESS, KM_SHIFT, 0);
- WM_keymap_add_item(keymap, "MESH_OT_select_edge_similar", GKEY, KM_PRESS, KM_SHIFT2|KM_CTRL, 0);
- WM_keymap_add_item(keymap, "MESH_OT_select_face_similar", GKEY, KM_PRESS, KM_SHIFT|KM_CTRL2, 0);
+ WM_keymap_add_item(keymap, "MESH_OT_vertices_select_similar", GKEY, KM_PRESS, KM_SHIFT, 0);
+ WM_keymap_add_item(keymap, "MESH_OT_edges_select_similar", GKEY, KM_PRESS, KM_SHIFT2|KM_CTRL, 0);
+ WM_keymap_add_item(keymap, "MESH_OT_faces_select_similar", GKEY, KM_PRESS, KM_SHIFT|KM_CTRL2, 0);
/* selection mode */
WM_keymap_add_item(keymap, "MESH_OT_selection_type", TABKEY, KM_PRESS, KM_CTRL, 0);
@@ -242,9 +243,9 @@ void ED_keymap_mesh(wmWindowManager *wm)
WM_keymap_add_item(keymap, "MESH_OT_reveal", HKEY, KM_PRESS, KM_ALT, 0);
/* tools */
- WM_keymap_add_item(keymap, "MESH_OT_consistant_normals", NKEY, KM_PRESS, KM_CTRL, 0);
- RNA_boolean_set(WM_keymap_add_item(keymap, "MESH_OT_consistant_normals", NKEY, KM_PRESS, KM_SHIFT|KM_CTRL, 0)->ptr, "inside", 1);
- WM_keymap_add_item(keymap, "MESH_OT_smooth_vertex", THREEKEY, KM_PRESS, KM_CTRL , 0);
+ WM_keymap_add_item(keymap, "MESH_OT_normals_make_consistent", NKEY, KM_PRESS, KM_CTRL, 0);
+ RNA_boolean_set(WM_keymap_add_item(keymap, "MESH_OT_normals_make_consistent", NKEY, KM_PRESS, KM_SHIFT|KM_CTRL, 0)->ptr, "inside", 1);
+ WM_keymap_add_item(keymap, "MESH_OT_vertices_smooth", THREEKEY, KM_PRESS, KM_CTRL , 0);
WM_keymap_add_item(keymap, "MESH_OT_flip_editnormals", THREEKEY, KM_PRESS, KM_ALT , 0);
WM_keymap_add_item(keymap, "MESH_OT_subdivs", WKEY, KM_PRESS, 0, 0); // this is the menu
@@ -260,8 +261,8 @@ void ED_keymap_mesh(wmWindowManager *wm)
WM_keymap_add_item(keymap, "VIEW3D_OT_editmesh_face_toolbox", FKEY, KM_PRESS, KM_CTRL, 0); /* operators below are in this toolbox */
WM_keymap_add_item(keymap, "MESH_OT_fill", FKEY, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "MESH_OT_beauty_fill", FKEY, KM_PRESS, KM_ALT, 0);
- WM_keymap_add_item(keymap, "MESH_OT_convert_quads_to_tris", TKEY, KM_PRESS, KM_CTRL, 0);
- WM_keymap_add_item(keymap, "MESH_OT_convert_tris_to_quads", JKEY, KM_PRESS, KM_ALT, 0);
+ WM_keymap_add_item(keymap, "MESH_OT_quads_convert_to_tris", TKEY, KM_PRESS, KM_CTRL, 0);
+ WM_keymap_add_item(keymap, "MESH_OT_tris_convert_to_quads", JKEY, KM_PRESS, KM_ALT, 0);
WM_keymap_add_item(keymap, "MESH_OT_split", FOURKEY, KM_PRESS, KM_CTRL, 0);
WM_keymap_add_item(keymap, "MESH_OT_extrude_repeat", FOURKEY, KM_PRESS, KM_ALT, 0);
@@ -270,15 +271,15 @@ void ED_keymap_mesh(wmWindowManager *wm)
WM_keymap_add_item(keymap, "MESH_OT_loop_to_region",SIXKEY, KM_PRESS, KM_CTRL, 0);
WM_keymap_add_item(keymap, "MESH_OT_region_to_loop",SIXKEY, KM_PRESS, KM_ALT, 0);
- WM_keymap_add_item(keymap, "MESH_OT_rotate_uvs",SEVENKEY, KM_PRESS, KM_CTRL, 0);
- WM_keymap_add_item(keymap, "MESH_OT_mirror_uvs",SEVENKEY, KM_PRESS, KM_ALT, 0);
- WM_keymap_add_item(keymap, "MESH_OT_rotate_colors",EIGHTKEY, KM_PRESS, KM_CTRL, 0);
- WM_keymap_add_item(keymap, "MESH_OT_mirror_colors",EIGHTKEY, KM_PRESS, KM_ALT, 0);
+ WM_keymap_add_item(keymap, "MESH_OT_uvs_rotate",SEVENKEY, KM_PRESS, KM_CTRL, 0);
+ WM_keymap_add_item(keymap, "MESH_OT_uvs_mirror",SEVENKEY, KM_PRESS, KM_ALT, 0);
+ WM_keymap_add_item(keymap, "MESH_OT_colors_rotate",EIGHTKEY, KM_PRESS, KM_CTRL, 0);
+ WM_keymap_add_item(keymap, "MESH_OT_colors_mirror",EIGHTKEY, KM_PRESS, KM_ALT, 0);
WM_keymap_add_item(keymap, "MESH_OT_rip",VKEY, KM_PRESS, 0, 0);
/* add/remove */
- WM_keymap_add_item(keymap, "MESH_OT_add_edge_face", FKEY, KM_PRESS, 0, 0);
+ WM_keymap_add_item(keymap, "MESH_OT_edge_face_add", FKEY, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "MESH_OT_duplicate_add", DKEY, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "OBJECT_OT_mesh_add", AKEY, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "MESH_OT_separate", PKEY, KM_PRESS, KM_SHIFT, 0);