[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18843] branches/blender2.5/blender/source /blender: 2.5: UV Editor, more operators.
Brecht Van Lommel
brecht at blender.org
Sat Feb 7 02:27:47 CET 2009
Revision: 18843
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18843
Author: blendix
Date: 2009-02-07 02:27:46 +0100 (Sat, 07 Feb 2009)
Log Message:
-----------
2.5: UV Editor, more operators.
Border Select
Circle Select
Pin
Select Pinned
Unwrap
Minimize Stretch
Pack Islands
Average Islands Scale
Snap Cursor
Snap Selection
Modified Paths:
--------------
branches/blender2.5/blender/source/blender/editors/include/ED_mesh.h
branches/blender2.5/blender/source/blender/editors/include/ED_screen.h
branches/blender2.5/blender/source/blender/editors/include/UI_interface.h
branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c
branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c
branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c
branches/blender2.5/blender/source/blender/editors/space_image/image_header.c
branches/blender2.5/blender/source/blender/editors/space_image/space_image.c
branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c
branches/blender2.5/blender/source/blender/editors/transform/transform.c
branches/blender2.5/blender/source/blender/editors/uvedit/uvedit_intern.h
branches/blender2.5/blender/source/blender/editors/uvedit/uvedit_ops.c
branches/blender2.5/blender/source/blender/editors/uvedit/uvedit_unwrap_ops.c
branches/blender2.5/blender/source/blender/windowmanager/WM_types.h
Modified: branches/blender2.5/blender/source/blender/editors/include/ED_mesh.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_mesh.h 2009-02-06 21:18:36 UTC (rev 18842)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_mesh.h 2009-02-07 01:27:46 UTC (rev 18843)
@@ -112,6 +112,8 @@
void EM_select_edge(struct EditEdge *eed, int sel);
void EM_select_face(struct EditFace *efa, int sel);
void EM_select_face_fgon(struct EditMesh *em, struct EditFace *efa, int val);
+void EM_select_swap(struct EditMesh *em);
+void EM_toggle_select_all(struct EditMesh *em);
void EM_selectmode_flush(struct EditMesh *em);
void EM_deselect_flush(struct EditMesh *em);
void EM_selectmode_set(struct EditMesh *em);
Modified: branches/blender2.5/blender/source/blender/editors/include/ED_screen.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_screen.h 2009-02-06 21:18:36 UTC (rev 18842)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_screen.h 2009-02-07 01:27:46 UTC (rev 18843)
@@ -114,6 +114,7 @@
int ED_operator_editarmature(struct bContext *C);
int ED_operator_editcurve(struct bContext *C);
int ED_operator_uvedit(struct bContext *C);
+int ED_operator_uvmap(struct bContext *C);
int ED_operator_posemode(struct bContext *C);
Modified: branches/blender2.5/blender/source/blender/editors/include/UI_interface.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/UI_interface.h 2009-02-06 21:18:36 UTC (rev 18842)
+++ branches/blender2.5/blender/source/blender/editors/include/UI_interface.h 2009-02-07 01:27:46 UTC (rev 18843)
@@ -212,7 +212,7 @@
void uiMenuItemVal(uiMenuItem *head, const char *name, int icon, int argval);
void uiMenuItemEnumO(uiMenuItem *head, int icon, char *opname, char *propname, int value);
-void uiMenuItemBooleanO(uiMenuItem *head, int icon, char *opname, char *propname, int value);
+void uiMenuItemBooleanO(uiMenuItem *head, const char *name, int icon, char *opname, char *propname, int value);
void uiMenuItemsEnumO(uiMenuItem *head, char *opname, char *propname);
void uiMenuItemIntO(uiMenuItem *head, const char *name, int icon, char *opname, char *propname, int value);
void uiMenuItemFloatO(uiMenuItem *head, const char *name, int icon, char *opname, char *propname, float value);
Modified: branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c 2009-02-06 21:18:36 UTC (rev 18842)
+++ branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c 2009-02-07 01:27:46 UTC (rev 18843)
@@ -2035,9 +2035,9 @@
}
/* single operator item with property */
-void uiMenuItemBooleanO(uiMenuItem *head, int icon, char *opname, char *propname, int value)
+void uiMenuItemBooleanO(uiMenuItem *head, const char *name, int icon, char *opname, char *propname, int value)
{
- uiMenuItem *item= ui_menu_add_item(head, "", icon, 0);
+ uiMenuItem *item= ui_menu_add_item(head, name, icon, 0);
item->opname= opname; // static!
item->propname= propname; // static!
Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c 2009-02-06 21:18:36 UTC (rev 18842)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c 2009-02-07 01:27:46 UTC (rev 18843)
@@ -3354,7 +3354,7 @@
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
}
-static void selectswap_mesh(EditMesh *em) /* UI level */
+void EM_select_swap(EditMesh *em) /* exported for UV */
{
EditVert *eve;
EditEdge *eed;
@@ -3395,7 +3395,7 @@
Object *obedit= CTX_data_edit_object(C);
EditMesh *em= ((Mesh *)obedit->data)->edit_mesh;
- selectswap_mesh(em);
+ EM_select_swap(em);
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
return OPERATOR_FINISHED;
@@ -3417,21 +3417,23 @@
/* ******************** (de)select all operator **************** */
+void EM_toggle_select_all(EditMesh *em) /* exported for UV */
+{
+ if(EM_nvertices_selected(em))
+ EM_clear_flag_all(em, SELECT);
+ else
+ EM_set_flag_all(em, SELECT);
+}
+
static int toggle_select_all_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
EditMesh *em= ((Mesh *)obedit->data)->edit_mesh;
- if( EM_nvertices_selected(em) ) {
- EM_clear_flag_all(em, SELECT);
- }
- else {
- EM_set_flag_all(em, SELECT);
- }
-
-// if (EM_texFaceCheck())
+ EM_toggle_select_all(em);
WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
+
return OPERATOR_FINISHED;
}
Modified: branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c 2009-02-06 21:18:36 UTC (rev 18842)
+++ branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c 2009-02-07 01:27:46 UTC (rev 18843)
@@ -210,6 +210,20 @@
return 0;
}
+int ED_operator_uvmap(bContext *C)
+{
+ Object *obedit= CTX_data_edit_object(C);
+ EditMesh *em= NULL;
+
+ if(obedit && obedit->type==OB_MESH)
+ em= ((Mesh *)obedit->data)->edit_mesh;
+
+ if(em && (em->faces.first))
+ return 1;
+
+ return 0;
+}
+
int ED_operator_editcurve(bContext *C)
{
Object *obedit= CTX_data_edit_object(C);
Modified: branches/blender2.5/blender/source/blender/editors/space_image/image_header.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_image/image_header.c 2009-02-06 21:18:36 UTC (rev 18842)
+++ branches/blender2.5/blender/source/blender/editors/space_image/image_header.c 2009-02-07 01:27:46 UTC (rev 18843)
@@ -160,39 +160,21 @@
else uiMenuItemO(head, 0, "SCREEN_OT_screen_full_area"); // "Maximize Window", Ctr DownArrow
}
-#if 0
-static void do_selectmenu(bContext *C, void *arg, int event)
-{
- switch(event)
- {
- case 0: /* Border Select */
- borderselect_sima(UV_SELECT_ALL);
- break;
- case 8: /* Border Select Pinned */
- borderselect_sima(UV_SELECT_PINNED);
- break;
- case 7: /* Pinned UVs */
- select_pinned_tface_uv();
- break;
- }
-}
-#endif
-
static void image_selectmenu(bContext *C, uiMenuItem *head, void *arg_unused)
{
- uiMenuItemO(head, 0, "UV_OT_border_select"); // Border Select|B
- uiMenuItemO(head, 0, "UV_OT_border_select_pinned"); // Border Select Pinned|Shift B
+ uiMenuItemO(head, 0, "UV_OT_border_select");
+ uiMenuItemBooleanO(head, "Border Select Pinned", 0, "UV_OT_border_select", "pinned", 1); // Border Select Pinned|Shift B
uiMenuSeparator(head);
uiMenuItemO(head, 0, "UV_OT_de_select_all");
uiMenuItemO(head, 0, "UV_OT_select_invert");
- uiMenuItemO(head, 0, "UV_OT_unlink_selection"); // Unlink Selection|Alt L
+ uiMenuItemO(head, 0, "UV_OT_unlink_selection");
uiMenuSeparator(head);
- uiMenuItemO(head, 0, "UV_OT_select_pinned"); // Select Pinned|Shift P
- uiMenuItemO(head, 0, "UV_OT_select_linked"); // Select Linked|Ctrl L
+ uiMenuItemO(head, 0, "UV_OT_select_pinned");
+ uiMenuItemO(head, 0, "UV_OT_select_linked");
}
#if 0
@@ -376,59 +358,12 @@
uiMenuItemO(head, 0, "UV_OT_scale"); // Scale|S
}
-#if 0
-static void do_image_uvs_mirrormenu(void *arg, int event)
-{
- float mat[3][3];
-
- Mat3One(mat);
-
- switch(event) {
- case 0: /* X axis */
- initTransform(TFM_MIRROR, CTX_NO_PET|CTX_AUTOCONFIRM);
- BIF_setSingleAxisConstraint(mat[0], " on global X axis");
- Transform();
- break;
- case 1: /* Y axis */
- initTransform(TFM_MIRROR, CTX_NO_PET|CTX_AUTOCONFIRM);
- BIF_setSingleAxisConstraint(mat[1], " on global Y axis");
- Transform();
- break;
- }
-
- BIF_undo_push("Mirror UV");
-}
-#endif
-
static void image_uvs_mirrormenu(bContext *C, uiMenuItem *head, void *arg_unused)
{
uiMenuItemEnumO(head, 0, "UV_OT_mirror", "axis", 'x'); // "X Axis", M, 1
uiMenuItemEnumO(head, 0, "UV_OT_mirror", "axis", 'y'); // "Y Axis", M, 2
}
-#if 0
-static void do_image_uvs_weldalignmenu(void *arg, int event)
-{
- switch(event) {
- case 0: /* Weld */
- weld_align_tface_uv('w');
- break;
- case 1: /* Align Auto */
- weld_align_tface_uv('a');
- break;
- case 2: /* Align X */
- weld_align_tface_uv('x');
- break;
- case 3: /* Align Y */
- weld_align_tface_uv('y');
- break;
- }
-
- if(event==0) BIF_undo_push("Weld UV");
- else if(ELEM3(event, 1, 2, 3)) BIF_undo_push("Align UV");
-}
-#endif
-
static void image_uvs_weldalignmenu(bContext *C, uiMenuItem *head, void *arg_unused)
{
uiMenuItemO(head, 0, "UV_OT_weld"); // W, 1
@@ -474,32 +409,9 @@
static void do_uvsmenu(bContext *C, void *arg, int event)
{
switch(event) {
- case 2: /* UVs Clipped to Image Size */
- if(sima->flag & SI_CLIP_UV) sima->flag &= ~SI_CLIP_UV;
- else sima->flag |= SI_CLIP_UV;
- break;
- case 5: /* Proportional Edit (toggle) */
- if(G.scene->proportional)
- G.scene->proportional= 0;
- else
- G.scene->proportional= 1;
- break;
- case 7: /* UVs Snap to Pixel */
- sima->flag ^= SI_PIXELSNAP;
- break;
- case 8:
- pin_tface_uv(1);
- break;
- case 9:
- pin_tface_uv(0);
- break;
case 10:
unwrap_lscm(0);
break;
- case 11:
- if(sima->flag & SI_LIVE_UNWRAP) sima->flag &= ~SI_LIVE_UNWRAP;
- else sima->flag |= SI_LIVE_UNWRAP;
- break;
case 12:
minimize_stretch_tface_uv();
break;
@@ -536,15 +448,15 @@
uiMenuSeparator(head);
uiMenuItemBooleanR(head, &uvptr, "live_unwrap");
- uiMenuItemO(head, 0, "UV_OT_unwrap"); // Unwrap|E
- uiMenuItemO(head, 0, "UV_OT_unpin"); // Unpin|Alt P
- uiMenuItemO(head, 0, "UV_OT_pin"); // Pin|P
+ uiMenuItemO(head, 0, "UV_OT_unwrap");
+ uiMenuItemBooleanO(head, "Unpin", 0, "UV_OT_pin", "clear", 1);
+ uiMenuItemO(head, 0, "UV_OT_pin");
uiMenuSeparator(head);
- uiMenuItemO(head, 0, "UV_OT_pack_islands"); // Pack Islands|Ctr P
- uiMenuItemO(head, 0, "UV_OT_average_islands"); // Average Islands Scale|Ctrl A
- uiMenuItemO(head, 0, "UV_OT_minimize_stretch"); // Minimize Stretch...|Ctrl V
+ uiMenuItemO(head, 0, "UV_OT_pack_islands");
+ uiMenuItemO(head, 0, "UV_OT_average_islands_scale");
+ uiMenuItemO(head, 0, "UV_OT_minimize_stretch");
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list