[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18745] branches/blender2.5/blender/source /blender: Animato:
Revision: 18745 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18745 Author: aligorith Date: 2009-01-30 09:10:31 +0100 (Fri, 30 Jan 2009) Log Message: --- Animato: * Drivers view in Graph Editor now displays drivers only, instead of displaying normal Animation data. * 'Materials' channel is now only shown under an Object when there are Materials with animation data... * Hid more debug prints behind debug flag. These should be removed... Modified Paths: -- branches/blender2.5/blender/source/blender/blenkernel/intern/constraint.c branches/blender2.5/blender/source/blender/blenkernel/intern/fcurve.c branches/blender2.5/blender/source/blender/blenkernel/intern/key.c branches/blender2.5/blender/source/blender/editors/animation/anim_channels.c branches/blender2.5/blender/source/blender/editors/animation/anim_filter.c branches/blender2.5/blender/source/blender/editors/animation/anim_ipo_utils.c branches/blender2.5/blender/source/blender/editors/include/ED_anim_api.h branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_draw.c branches/blender2.5/blender/source/blender/editors/space_ipo/space_ipo.c branches/blender2.5/blender/source/blender/makesdna/DNA_anim_types.h Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/constraint.c === --- branches/blender2.5/blender/source/blender/blenkernel/intern/constraint.c 2009-01-30 03:35:05 UTC (rev 18744) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/constraint.c 2009-01-30 08:10:31 UTC (rev 18745) @@ -1886,6 +1886,7 @@ printf("do Action Constraint %s - Ob %s Pchan %s \n", con->name, cob->ob->id.name+2, (cob->pchan)?cob->pchan->name:NULL); /* Get the appropriate information from the action */ + // XXX probably we might need some special filtering methods to make this more efficient if (cob->type == CONSTRAINT_OBTYPE_BONE) { Object workob; bPose *pose; Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/fcurve.c === --- branches/blender2.5/blender/source/blender/blenkernel/intern/fcurve.c 2009-01-30 03:35:05 UTC (rev 18744) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/fcurve.c 2009-01-30 08:10:31 UTC (rev 18745) @@ -20,6 +20,7 @@ #include "BKE_fcurve.h" #include "BKE_curve.h" +#include "BKE_global.h" #include "BKE_idprop.h" #include "BKE_utildefines.h" @@ -489,6 +490,7 @@ /* error check for missing pointer... */ if (id == NULL) { printf("Error: driver doesn't have any valid target to use \n"); + if (G.f & G_DEBUG) printf("\tpath = %s [%d] \n", path, index); driver->flag |= DRIVER_FLAG_INVALID; return 0.0f; } Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/key.c === --- branches/blender2.5/blender/source/blender/blenkernel/intern/key.c 2009-01-30 03:35:05 UTC (rev 18744) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/key.c 2009-01-30 08:10:31 UTC (rev 18745) @@ -646,7 +646,7 @@ if(key->from==NULL) return; - printf("do_rel_key() \n"); + if (G.f & G_DEBUG) printf("do_rel_key() \n"); if( GS(key->from->name)==ID_ME ) { ofs[0]= sizeof(MVert); @@ -683,14 +683,14 @@ if(kb!=key->refkey) { float icuval= kb->curval; - printf("\tdo rel key %s : %s = %f \n", key->id.name+2, kb->name, icuval); + if (G.f & G_DEBUG) printf("\tdo rel key %s : %s = %f \n", key->id.name+2, kb->name, icuval); /* only with value, and no difference allowed */ if(!(kb->flag & KEYBLOCK_MUTE) && icuval!=0.0f && kb->totelem==tot) { KeyBlock *refb; float weight, *weights= kb->weights; - printf("\t\tnot skipped \n"); + if (G.f & G_DEBUG) printf("\t\tnot skipped \n"); poin= basispoin; from= kb->data; @@ -762,7 +762,7 @@ if(key->from==0) return; - printf("do_key() \n"); + if (G.f & G_DEBUG) printf("do_key() \n"); if( GS(key->from->name)==ID_ME ) { ofs[0]= sizeof(MVert); @@ -1024,10 +1024,10 @@ /* prevent python from screwing this up? anyhoo, the from pointer coul
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18746] branches/blender2.5/blender/source /blender/editors/space_outliner: Outliner: Updated the tree-building code to work for Animato
Revision: 18746 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18746 Author: aligorith Date: 2009-01-30 11:08:58 +0100 (Fri, 30 Jan 2009) Log Message: --- Outliner: Updated the tree-building code to work for Animato * Note to Icon Designers - we need a new icon for 'Animation data' I think. Currently I'm using the old IPO icon... * Should F-Curves get shown in the Outliner? Modified Paths: -- branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c branches/blender2.5/blender/source/blender/editors/space_outliner/outliner_intern.h Modified: branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c === --- branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c 2009-01-30 08:10:31 UTC (rev 18745) +++ branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c 2009-01-30 10:08:58 UTC (rev 18746) @@ -33,6 +33,7 @@ #include "MEM_guardedalloc.h" +#include "DNA_anim_types.h" #include "DNA_action_types.h" #include "DNA_armature_types.h" #include "DNA_constraint_types.h" @@ -590,6 +591,7 @@ te->index= index; // for data arays if(ELEM3(type, TSE_SEQUENCE, TSE_SEQ_STRIP, TSE_SEQUENCE_DUP)); else if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)); + else if(type==TSE_ANIM_DATA); else { te->name= id->name+2; // default, can be overridden by Library or non-ID data te->idcode= GS(id->name); @@ -612,6 +614,8 @@ { Object *ob= (Object *)id; + outliner_add_element(soops, &te->subtree, ob->adt, te, TSE_ANIM_DATA, 0); + if(ob->proxy && ob->id.lib==NULL) outliner_add_element(soops, &te->subtree, ob->proxy, te, TSE_PROXY, 0); @@ -696,9 +700,6 @@ } } - outliner_add_element(soops, &te->subtree, ob->ipo, te, 0, 0); - outliner_add_element(soops, &te->subtree, ob->action, te, 0, 0); - for(a=0; atotcol; a++) outliner_add_element(soops, &te->subtree, ob->mat[a], te, 0, a); @@ -778,27 +779,16 @@ } if(ob->dup_group) - outliner_add_element(soops, &te->subtree, ob->dup_group, te, 0, 0); - - if(ob->nlastrips.first) { - bActionStrip *strip; - TreeElement *ten; - TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_NLA, 0); - int a= 0; - - tenla->name= "NLA strips"; - for (strip=ob->nlastrips.first; strip; strip=strip->next, a++) { - ten= outliner_add_element(soops, &tenla->subtree, strip->act, tenla, TSE_NLA_ACTION, a); - if(ten) ten->directdata= strip; - } - } + outliner_add_element(soops, &te->subtree, ob->dup_group, te, 0, 0); } break; case ID_ME: { Mesh *me= (Mesh *)id; - outliner_add_element(soops, &te->subtree, me->ipo, te, 0, 0); + + //outliner_add_element(soops, &te->subtree, me->adt, te, TSE_ANIM_DATA, 0); + outliner_add_element(soops, &te->subtree, me->key, te, 0, 0); for(a=0; atotcol; a++) outliner_add_element(soops, &te->subtree, me->mat[a], te, 0, a); @@ -809,6 +799,9 @@ case ID_CU: { Curve *cu= (Curve *)id; + + outliner_add_element(soops, &te->subtree, cu->adt, te, TSE_ANIM_DATA, 0); + for(a=0; atotcol; a+
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18747] branches/blender2.5/blender/source /blender: 2.5: UI & Menus
Revision: 18747 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18747 Author: blendix Date: 2009-01-30 13:18:08 +0100 (Fri, 30 Jan 2009) Log Message: --- 2.5: UI & Menus * Cleaned up UI_interface.h a bit, and added some comments to organize things a bit and indicate what should be used when. * uiMenu* functions can now be used to create menus for headers too, this is done with a uiDefMenuBut, which takes a pointer to a uiMenuCreateFunc, that will then call uiMenu* functions. * Renamed uiMenuBegin/End to uiPupMenuBegin/End, as these are specific to making popup menus. Will convert the other conformation popup menu functions to use this too so we can remove some code. * Extended uiMenu functions, now there is is also: BooleanO, FloatO, BooleanR, EnumR, LevelEnumR, Separator. * Converted image window headers to use uiMenu functions, simplifies menu code further here. Did not remove the uiDefMenu functions as they are used in sequencer/view3d in some places now (will fix). * Also tried to simplify and fix bounds computation a bit better for popup menus. It tried to find out in advance what the size of the menu was but this is difficult with keymap strings in there, now uiPopupBoundsBlock can figure this out afterwards and ensure the popup is within the window bounds. Will convert some other functions to use this too. Modified Paths: -- branches/blender2.5/blender/source/blender/editors/include/ED_util.h branches/blender2.5/blender/source/blender/editors/include/UI_interface.h branches/blender2.5/blender/source/blender/editors/interface/interface.c branches/blender2.5/blender/source/blender/editors/interface/interface_draw.c branches/blender2.5/blender/source/blender/editors/interface/interface_handlers.c branches/blender2.5/blender/source/blender/editors/interface/interface_intern.h branches/blender2.5/blender/source/blender/editors/interface/interface_panel.c branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c branches/blender2.5/blender/source/blender/editors/object/object_edit.c branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c branches/blender2.5/blender/source/blender/editors/space_action/action_header.c branches/blender2.5/blender/source/blender/editors/space_buttons/buttons_header.c branches/blender2.5/blender/source/blender/editors/space_file/file_header.c branches/blender2.5/blender/source/blender/editors/space_image/image_header.c branches/blender2.5/blender/source/blender/editors/space_info/info_header.c branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_header.c branches/blender2.5/blender/source/blender/editors/space_nla/nla_header.c branches/blender2.5/blender/source/blender/editors/space_node/node_draw.c branches/blender2.5/blender/source/blender/editors/space_node/node_header.c branches/blender2.5/blender/source/blender/editors/space_outliner/outliner_header.c branches/blender2.5/blender/source/blender/editors/space_script/script_header.c branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_header.c branches/blender2.5/blender/source/blender/editors/space_sound/sound_header.c branches/blender2.5/blender/source/blender/editors/space_text/text_header.c branches/blender2.5/blender/source/blender/editors/space_time/time_header.c branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c branches/blender2.5/blender/source/blender/editors/transform/transform_ops.c branches/blender2.5/blender/source/blender/editors/util/editmode_undo.c branches/blender2.5/blender/source/blender/render/intern/source/occlusion.c branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c Modified: branches/blender2.5/blender/source/blender/editors/include/ED_util.h === --- branches/blender2.5/blender/source/blender/editors/include/ED_util.h 2009-01-30 10:08:58 UTC (rev 18746) +++ branches/blender2.5/blender/source/blender/editors/include/ED_util.h 2009-01-30 12:18:08 UTC (rev 18747) @@ -30,7 +30,7 @@ struct Object; struct bContext; -struct uiMenuBlockHandle; +struct ARegion; struct uiBlock; struct wmOperatorType; @@ -55,7 +55,7 @@ void *undo_editmode_get_prev (struct Object *ob); -struct uiBlock *editmode_undohistorymenu(struct bContext *C, struct uiMenuBlockHandle *handle, void *arg_unused); +struct uiBlock *editmode_undohistorymenu(struct bContext *C, struct ARegion *ar, void *arg_unused); void undo_editmode_menu (
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18748] branches/blender2.5/blender/source /blender/editors/interface/interface_handlers.c: 2.5: fix mistake in last commit, was crashing menus.
Revision: 18748 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18748 Author: blendix Date: 2009-01-30 13:49:01 +0100 (Fri, 30 Jan 2009) Log Message: --- 2.5: fix mistake in last commit, was crashing menus. Modified Paths: -- branches/blender2.5/blender/source/blender/editors/interface/interface_handlers.c Modified: branches/blender2.5/blender/source/blender/editors/interface/interface_handlers.c === --- branches/blender2.5/blender/source/blender/editors/interface/interface_handlers.c 2009-01-30 12:18:08 UTC (rev 18747) +++ branches/blender2.5/blender/source/blender/editors/interface/interface_handlers.c 2009-01-30 12:49:01 UTC (rev 18748) @@ -1431,6 +1431,7 @@ static void ui_blockopen_begin(bContext *C, uiBut *but, uiHandleButtonData *data) { uiBlockCreateFunc func= NULL; + uiBlockHandleCreateFunc handlefunc= NULL; uiMenuCreateFunc menufunc= NULL; void *arg= NULL; @@ -1449,15 +1450,15 @@ data->value= data->origvalue; but->editval= &data->value; - func= ui_block_func_MENU; + handlefunc= ui_block_func_MENU; arg= but; break; case ICONROW: - func= ui_block_func_ICONROW; + handlefunc= ui_block_func_ICONROW; arg= but; break; case ICONTEXTROW: - func= ui_block_func_ICONTEXTROW; + handlefunc= ui_block_func_ICONTEXTROW; arg= but; break; case COL: @@ -1465,13 +1466,13 @@ VECCOPY(data->vec, data->origvec); but->editvec= data->vec; - func= ui_block_func_COL; + handlefunc= ui_block_func_COL; arg= but; break; } - if(func) { - data->menu= ui_popup_block_create(C, data->region, but, func, NULL, arg); + if(func || handlefunc) { + data->menu= ui_popup_block_create(C, data->region, but, func, handlefunc, arg); if(but->block->handle) data->menu->popup= but->block->handle->popup; } ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18749] branches/blender2.5/blender/source /blender/editors/space_image: 2.5: Added simple toolbox menu in image window as a test,
Revision: 18749 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18749 Author: blendix Date: 2009-01-30 13:58:00 +0100 (Fri, 30 Jan 2009) Log Message: --- 2.5: Added simple toolbox menu in image window as a test, can uses same menus as header now since code doesn't depend on being in the header anymore. Modified Paths: -- branches/blender2.5/blender/source/blender/editors/space_image/image_header.c branches/blender2.5/blender/source/blender/editors/space_image/image_intern.h branches/blender2.5/blender/source/blender/editors/space_image/image_ops.c branches/blender2.5/blender/source/blender/editors/space_image/space_image.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-01-30 12:49:01 UTC (rev 18748) +++ branches/blender2.5/blender/source/blender/editors/space_image/image_header.c 2009-01-30 12:58:00 UTC (rev 18749) @@ -1117,3 +1117,38 @@ uiDrawBlock(C, block); } +/** toolbox operator */ + +static int toolbox_invoke(bContext *C, wmOperator *op, wmEvent *event) +{ + SpaceImage *sima= (SpaceImage*)CTX_wm_space_data(C); + Object *obedit= CTX_data_edit_object(C); + uiMenuItem *head; + int show_uvedit; + + show_uvedit= get_space_image_show_uvedit(sima, obedit); + + head= uiPupMenuBegin("Toolbox"); + + uiMenuLevel(head, "View", image_viewmenu); + if(show_uvedit) uiMenuLevel(head, "Select", image_selectmenu); + uiMenuLevel(head, "Image", image_imagemenu); + if(show_uvedit) uiMenuLevel(head, "UVs", image_uvsmenu); + + uiPupMenuEnd(C, head); + + return OPERATOR_CANCELLED; +} + +void IMAGE_OT_toolbox(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Toolbox"; + ot->idname= "IMAGE_OT_toolbox"; + + /* api callbacks */ + ot->invoke= toolbox_invoke; + ot->poll= space_image_main_area_poll; +} + + Modified: branches/blender2.5/blender/source/blender/editors/space_image/image_intern.h === --- branches/blender2.5/blender/source/blender/editors/space_image/image_intern.h 2009-01-30 12:49:01 UTC (rev 18748) +++ branches/blender2.5/blender/source/blender/editors/space_image/image_intern.h 2009-01-30 12:58:00 UTC (rev 18749) @@ -57,10 +57,14 @@ /* image_header.c */ void image_header_buttons(const struct bContext *C, struct ARegion *ar); +void IMAGE_OT_toolbox(struct wmOperatorType *ot); + /* image_draw.c */ void draw_image_main(struct SpaceImage *sima, struct ARegion *ar, struct Scene *scene); /* image_ops.c */ +int space_image_main_area_poll(struct bContext *C); + void IMAGE_OT_view_all(struct wmOperatorType *ot); void IMAGE_OT_view_pan(struct wmOperatorType *ot); void IMAGE_OT_view_selected(struct wmOperatorType *ot); Modified: branches/blender2.5/blender/source/blender/editors/space_image/image_ops.c === --- branches/blender2.5/blender/source/blender/editors/space_image/image_ops.c 2009-01-30 12:49:01 UTC (rev 18748) +++ branches/blender2.5/blender/source/blender/editors/space_image/image_ops.c 2009-01-30 12:58:00 UTC (rev 18749) @@ -144,7 +144,7 @@ sima_zoom_set(sima, ar, sima->zoom*zoomfac); } -static int space_image_main_area_poll(bContext *C) +int space_image_main_area_poll(bContext *C) { SpaceLink *slink= CTX_wm_space_data(C); ARegion *ar= CTX_wm_region(C); Modified: branches/blender2.5/blender/source/blender/editors/space_image/space_image.c === --- branches/blender2.5/blender/source/blender/editors/space_image/space_image.c 2009-01-30 12:49:01 UTC (rev 18748) +++ branches/blender2.5/blender/source/blender/editors/space_image/space_image.c 2009-01-30 12:58:00 UTC (rev 18749) @@ -146,6 +146,8 @@ WM_operatortype_append(IMAGE_OT_view_zoom_in); WM_operatortype_append(IMAGE_OT_view_zoom_out); WM_operatortype_append(IMAGE_OT_view_zoom_ratio); + + WM_operatortype_append(IMAGE_OT_toolbox); } void image_keymap(struct wmWindowManager *wm) @@ -169,6 +171,8 @@ RNA_float_set(WM_keymap_add_item(keymap, "IMAGE_OT_view_zoom_ratio", PAD2, KM_PRESS, 0, 0)->ptr, "ratio", 0.5f); RNA_float_set(WM_keymap_add_item(keymap, "IMAGE_OT_view_zoom_ratio", PAD4, KM_PRESS, 0, 0)->ptr, "ratio", 0.25f); RNA_float_set(WM_keymap_add_item(keymap, "IMAGE_OT_view_zoom_ratio", PAD8, KM_PRESS, 0, 0)->ptr, "ratio", 0.125f); + + WM_keymap_add_item(keymap, "IMAGE_OT_toolbox", SPACEKEY, KM_PRESS, 0, 0); } static void image_refresh(const bContext
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18750] branches/blender2.5/blender/source /blender/blenkernel/intern/library.c: 2.5
Revision: 18750 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18750 Author: ton Date: 2009-01-30 15:23:31 +0100 (Fri, 30 Jan 2009) Log Message: --- 2.5 Animsys: added integrated copy of animdata in copy_libblock(). -> by default animdata-copy should relink ID data like Action, and put a facility to really duplicate it in other code. (single_user_animdata or so) Modified Paths: -- branches/blender2.5/blender/source/blender/blenkernel/intern/library.c Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/library.c === --- branches/blender2.5/blender/source/blender/blenkernel/intern/library.c 2009-01-30 12:58:00 UTC (rev 18749) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/library.c 2009-01-30 14:23:31 UTC (rev 18750) @@ -83,8 +83,9 @@ #include "BLI_blenlib.h" #include "BLI_dynstr.h" +#include "BKE_animsys.h" +#include "BKE_context.h" #include "BKE_library.h" -#include "BKE_context.h" #include "BKE_main.h" #include "BKE_global.h" #include "BKE_sound.h" @@ -401,6 +402,45 @@ /* from blendef: */ #define GS(a) (*((short *)(a))) +/* by spec, animdata is first item after ID */ +/* we still read ->adt itself, to ensure compiler warns when it doesnt exist */ +static void id_copy_animdata(ID *id) +{ + switch(GS(id->name)) { + case ID_OB: + ((Object *)id)->adt= BKE_copy_animdata(((Object *)id)->adt); + break; + case ID_CU: + ((Curve *)id)->adt= BKE_copy_animdata(((Curve *)id)->adt); + break; + case ID_CA: + ((Camera *)id)->adt= BKE_copy_animdata(((Camera *)id)->adt); + break; + case ID_KE: + ((Key *)id)->adt= BKE_copy_animdata(((Key *)id)->adt); + break; + case ID_LA: + ((Lamp *)id)->adt= BKE_copy_animdata(((Lamp *)id)->adt); + break; + case ID_MA: + ((Material *)id)->adt= BKE_copy_animdata(((Material *)id)->adt); + break; + case ID_NT: + ((bNodeTree *)id)->adt= BKE_copy_animdata(((bNodeTree *)id)->adt); + break; + case ID_SCE: + ((Scene *)id)->adt= BKE_copy_animdata(((Scene *)id)->adt); + break; + case ID_TE: + ((Tex *)id)->adt= BKE_copy_animdata(((Tex *)id)->adt); + break; + case ID_WO: + ((World *)id)->adt= BKE_copy_animdata(((World *)id)->adt); + break; + } + +} + /* used everywhere in blenkernel and text.c */ void *copy_libblock(void *rt) { @@ -429,6 +469,8 @@ idn->flag |= LIB_NEW; if (id->properties) idn->properties = IDP_CopyProperty(id->properties); + id_copy_animdata(id); + return idn; } ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18751] branches/blender2.5/blender/source /blender/editors: 2.5
Revision: 18751 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18751 Author: ton Date: 2009-01-30 16:01:14 +0100 (Fri, 30 Jan 2009) Log Message: --- 2.5 Edit mesh: Separate options back. Use SHIFT+P for it, PKEY has been stolen! :) Modified Paths: -- branches/blender2.5/blender/source/blender/editors/include/ED_object.h branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c branches/blender2.5/blender/source/blender/editors/object/object_edit.c Modified: branches/blender2.5/blender/source/blender/editors/include/ED_object.h === --- branches/blender2.5/blender/source/blender/editors/include/ED_object.h 2009-01-30 14:23:31 UTC (rev 18750) +++ branches/blender2.5/blender/source/blender/editors/include/ED_object.h 2009-01-30 15:01:14 UTC (rev 18751) @@ -40,6 +40,7 @@ struct Mesh; struct Curve; +/* object_edit.c */ void ED_operatortypes_object(void); void ED_keymap_object(struct wmWindowManager *wm); @@ -51,6 +52,8 @@ void ED_base_object_free_and_unlink(struct Scene *scene, struct Base *base); void ED_object_apply_obmat(struct Object *ob); + /* single object duplicate, if dupflag==0, fully linked, else it uses U.dupflag */ +Base *ED_object_add_duplicate(struct Scene *scene, struct Base *base, int usedupflag); /* bitflags for enter/exit editmode */ Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c === --- branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c 2009-01-30 14:23:31 UTC (rev 18750) +++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c 2009-01-30 15:01:14 UTC (rev 18751) @@ -79,8 +79,15 @@ #include "ED_mesh.h" #include "ED_object.h" #include "ED_util.h" +#include "ED_screen.h" #include "ED_view3d.h" +#include "RNA_access.h" +#include "RNA_define.h" + +#include "WM_api.h" +#include "WM_types.h" + /* own include */ #include "mesh_intern.h" @@ -94,7 +101,6 @@ /* XXX */ static void BIF_undo_push() {} static void error() {} -static int pupmenu() {return 0;} /* * HASH * */ @@ -581,6 +587,7 @@ { EditEdge *eed; + if(em->hashedgetab) MEM_freeN(em->hashedgetab); em->hashedgetab= NULL; for(eed=em->edges.first; eed; eed= eed->next) { @@ -1424,353 +1431,199 @@ BIF_undo_push("Undo all changes"); } -/* *** (partial exit editmode) */ +/* *** Operator: separate parts */ +static EnumPropertyItem prop_separate_types[] = { + {0, "SELECTED", "Selection", ""}, + {1, "MATERIAL", "By Material", ""}, + {2, "LOOSE", "By loose parts", ""}, + {0, NULL, NULL, NULL} +}; - - -void separate_mesh(Scene *scene, Object *obedit) +/* return 1: success */ +static int mesh_separate_selected(Scene *scene, Base *editbase) { - EditMesh *em, emcopy; + EditMesh *em, *emnew; EditVert *eve, *v1; EditEdge *eed, *e1; - EditFace *efa, *vl1; - Object *oldob; - Mesh *me, *men; - Base *base, *oldbase; - ListBase edve, eded, edvl; + EditFace *efa, *f1; + Object *obedit; + Mesh *me, *menew; + Base *basenew; - if(obedit==NULL) return; - + if(editbase==NULL) return 0; + + obedit= editbase->object; me= obedit->data; em= me->edit_mesh; if(me->key) { error("Can't separate with vertex keys"); - return; + return 0; } - if(em->selected.first) BLI_freelistN(&(em->selected)); /* clear the selection order */ + if(em->selected.first) + BLI_freelistN(&(em->selected)); /* clear the selection order */ EM_selectmode_set(em); // enforce full consistant selection flags - /* we are going to abuse the system as follows: -* 1. add a duplicate object: this will be the new one, we remember old pointer -* 2: then do a split if needed. -* 3. put apart: all NOT selected verts, edges, faces -* 4. call load_editMesh(): this will be the new object -* 5. freelist and get back old verts, edges, facs + EM_stats_update(em); + + if(em->totvertsel==0) return 0; + + /* we are going to work as follows: +* 1. add a linked duplicate object: this will be the new one, we remember old pointer +* 2. give new object empty mesh and put in editmode +* 3: do a split if needed on current editmesh. +* 4. copy over: all NOT selected verts, edges, faces +* 5. call
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18752] branches/bmesh/blender: merge with 2.5 at r18751
Revision: 18752 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18752 Author: joeedh Date: 2009-01-30 16:48:38 +0100 (Fri, 30 Jan 2009) Log Message: --- merge with 2.5 at r18751 Modified Paths: -- branches/bmesh/blender/projectfiles_vc9/blender/editors/ED_editors.vcproj branches/bmesh/blender/projectfiles_vc9/blender/windowmanager/windowmanager.vcproj branches/bmesh/blender/source/Makefile branches/bmesh/blender/source/blender/CMakeLists.txt branches/bmesh/blender/source/blender/Makefile branches/bmesh/blender/source/blender/SConscript branches/bmesh/blender/source/blender/blenkernel/BKE_action.h branches/bmesh/blender/source/blender/blenkernel/BKE_fcurve.h branches/bmesh/blender/source/blender/blenkernel/BKE_idprop.h branches/bmesh/blender/source/blender/blenkernel/BKE_image.h branches/bmesh/blender/source/blender/blenkernel/BKE_node.h branches/bmesh/blender/source/blender/blenkernel/BKE_sculpt.h branches/bmesh/blender/source/blender/blenkernel/BKE_sequence.h branches/bmesh/blender/source/blender/blenkernel/intern/action.c branches/bmesh/blender/source/blender/blenkernel/intern/anim_sys.c branches/bmesh/blender/source/blender/blenkernel/intern/armature.c branches/bmesh/blender/source/blender/blenkernel/intern/blender.c branches/bmesh/blender/source/blender/blenkernel/intern/brush.c branches/bmesh/blender/source/blender/blenkernel/intern/constraint.c branches/bmesh/blender/source/blender/blenkernel/intern/depsgraph.c branches/bmesh/blender/source/blender/blenkernel/intern/fcurve.c branches/bmesh/blender/source/blender/blenkernel/intern/idprop.c branches/bmesh/blender/source/blender/blenkernel/intern/image.c branches/bmesh/blender/source/blender/blenkernel/intern/ipo.c branches/bmesh/blender/source/blender/blenkernel/intern/key.c branches/bmesh/blender/source/blender/blenkernel/intern/library.c branches/bmesh/blender/source/blender/blenkernel/intern/node.c branches/bmesh/blender/source/blender/blenkernel/intern/object.c branches/bmesh/blender/source/blender/blenkernel/intern/scene.c branches/bmesh/blender/source/blender/blenkernel/intern/sequence.c branches/bmesh/blender/source/blender/blenlib/intern/bpath.c branches/bmesh/blender/source/blender/blenloader/intern/readfile.c branches/bmesh/blender/source/blender/editors/CMakeLists.txt branches/bmesh/blender/source/blender/editors/animation/anim_channels.c branches/bmesh/blender/source/blender/editors/animation/anim_deps.c branches/bmesh/blender/source/blender/editors/animation/anim_filter.c branches/bmesh/blender/source/blender/editors/animation/anim_ipo_utils.c branches/bmesh/blender/source/blender/editors/animation/anim_markers.c branches/bmesh/blender/source/blender/editors/animation/keyframes_edit.c branches/bmesh/blender/source/blender/editors/animation/keyframes_general.c branches/bmesh/blender/source/blender/editors/animation/keyframing.c branches/bmesh/blender/source/blender/editors/curve/curve_ops.c branches/bmesh/blender/source/blender/editors/curve/editcurve.c branches/bmesh/blender/source/blender/editors/include/ED_anim_api.h branches/bmesh/blender/source/blender/editors/include/ED_curve.h branches/bmesh/blender/source/blender/editors/include/ED_keyframes_edit.h branches/bmesh/blender/source/blender/editors/include/ED_object.h branches/bmesh/blender/source/blender/editors/include/ED_util.h branches/bmesh/blender/source/blender/editors/include/ED_uvedit.h branches/bmesh/blender/source/blender/editors/include/UI_interface.h branches/bmesh/blender/source/blender/editors/include/UI_text.h branches/bmesh/blender/source/blender/editors/interface/Makefile branches/bmesh/blender/source/blender/editors/interface/SConscript branches/bmesh/blender/source/blender/editors/interface/interface.c branches/bmesh/blender/source/blender/editors/interface/interface_draw.c branches/bmesh/blender/source/blender/editors/interface/interface_handlers.c branches/bmesh/blender/source/blender/editors/interface/interface_intern.h branches/bmesh/blender/source/blender/editors/interface/interface_panel.c branches/bmesh/blender/source/blender/editors/interface/interface_regions.c branches/bmesh/blender/source/blender/editors/interface/text.c branches/bmesh/blender/source/blender/editors/interface/view2d.c branches/bmesh/blender/source/blender/editors/mesh/editmesh.c branches/bmesh/blender/source/blender/editors/mesh/editmesh_add.c branches/bmesh/blender/source/blender/editors/mesh/editmesh_mods.c branches/bmesh/blender/source/blender/editors/mesh/editmesh_tools.c branches/bmesh/blender/source/blender/editors/mesh/mesh_intern.h branches/bmesh/blender/source/blender/editors/mesh/mesh_ops.c branches/bmesh/blender/source/blender/editor
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18753] branches/blender2.5/blender/source /blender: 2.5: Fix for windows editmode tab crashes.
Revision: 18753 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18753 Author: blendix Date: 2009-01-30 17:45:25 +0100 (Fri, 30 Jan 2009) Log Message: --- 2.5: Fix for windows editmode tab crashes. This was due to use of function pointers in the context callbacks. Apparently MSVC decides that some of these functions are the same and makes them into a single function with the same address. I couldn't figure out if this was a compiler bug or according to the C spec. Regardless, that means this method can't be used, so now it uses separate CTX_DATA_DEFINES. Modified Paths: -- branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h branches/blender2.5/blender/source/blender/blenkernel/BKE_screen.h branches/blender2.5/blender/source/blender/blenkernel/intern/context.c branches/blender2.5/blender/source/blender/editors/screen/screen_context.c branches/blender2.5/blender/source/blender/editors/screen/screen_intern.h branches/blender2.5/blender/source/blender/editors/space_image/space_image.c branches/blender2.5/blender/source/blender/editors/space_node/space_node.c branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h === --- branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h 2009-01-30 15:48:38 UTC (rev 18752) +++ branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h 2009-01-30 16:45:25 UTC (rev 18753) @@ -59,13 +59,35 @@ struct bContext; typedef struct bContext bContext; -typedef void bContextDataMember; - struct bContextDataResult; typedef struct bContextDataResult bContextDataResult; +enum { + CTX_DATA_MAIN, + CTX_DATA_SCENE, + CTX_DATA_TOOL_SETTINGS, + + CTX_DATA_SELECTED_OBJECTS, + CTX_DATA_SELECTED_BASES, + CTX_DATA_SELECTED_EDITABLE_OBJECTS, + CTX_DATA_SELECTED_EDITABLE_BASES, + CTX_DATA_VISIBLE_OBJECTS, + CTX_DATA_VISIBLE_BASES, + + CTX_DATA_ACTIVE_OBJECT, + CTX_DATA_ACTIVE_BASE, + CTX_DATA_EDIT_OBJECT, + + CTX_DATA_EDIT_IMAGE, + CTX_DATA_EDIT_IMAGE_BUFFER, + + CTX_DATA_SELECTED_NODES +}; + +typedef int bContextDataMember; + typedef int (*bContextDataCallback)(const bContext *C, - const bContextDataMember *member, bContextDataResult *result); + bContextDataMember member, bContextDataResult *result); /* Context */ Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_screen.h === --- branches/blender2.5/blender/source/blender/blenkernel/BKE_screen.h 2009-01-30 15:48:38 UTC (rev 18752) +++ branches/blender2.5/blender/source/blender/blenkernel/BKE_screen.h 2009-01-30 16:45:25 UTC (rev 18753) @@ -77,7 +77,7 @@ void(*keymap)(struct wmWindowManager *); /* return context data */ - int (*context)(const struct bContext *, const void *, struct bContextDataResult *); + int (*context)(const struct bContext *, int, struct bContextDataResult *); /* region type definitions */ ListBaseregiontypes; @@ -117,7 +117,7 @@ void(*cursor)(struct wmWindow *, struct ScrArea *, struct ARegion *ar); /* return context data */ - int (*context)(const struct bContext *, const void *, struct bContextDataResult *); + int (*context)(const struct bContext *, int, struct bContextDataResult *); /* custom drawing callbacks */ ListBasedrawcalls; Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/context.c === --- branches/blender2.5/blender/source/blender/blenkernel/intern/context.c 2009-01-30 15:48:38 UTC (rev 18752) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/context.c 2009-01-30 16:45:25 UTC (rev 18753) @@ -239,18 +239,12 @@ /* data context utility functions */ -struct bContextDataMember { - StructRNA *rna; - const char *name; - int collection; -}; - struct bContextDataResult { void *pointer; ListBase list; }; -static int ctx_data_get(bContext *C, const bContextDataMember *member, bContextDataResult *result) +static int ctx_data_get(bContext *C, bContextDataMember member, bContextDataResult *result) { int done= 0, recursion= C->data.recursion; @@ -284,7 +278,7 @@ return done; } -static void *ctx_data_pointer_get(const bContext *C, const bContextDataMember *member) +static void *ctx_data_pointer_get(const bContext *C, bContextDataMember member) {
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18754] branches/blender2.5/blender/source /blender: 2.5
Revision: 18754 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18754 Author: ton Date: 2009-01-30 19:18:41 +0100 (Fri, 30 Jan 2009) Log Message: --- 2.5 - Edit mesh: Add ctrl+click add vertex or extrude. I've made it not move the 3d cursor in that case. Also found out tweak events conflicted with existing keymap definitions; on tweak failure (= no mousemove) it now passes on the mouse event as 'mouse down' for the remaining keymaps to check. These then actually respond to mouse-up instead of down... The location in the keymaps where tweaks get generated remains important. Examples: 1 - 'select' mouse-handler, operator return pass-through 2 - tweak handler checks, and makes tweak event 3 - grabber responds to tweak event 1 - ctrl+mouse tweak handler checks, makes tweak event, or passes event on 2 - if tweak event, it runs lasso 3 - else when passed on, ctrl+click extrude happens In the first case, select works on mouse-down, immediate. In the second case, extrude happens on mouse-release, even though the keymap defined mouse-press. This will make designing nice balanced keymaps still not simple; especially because you can't tell operators to pass on the key... although we can add the convention that select-mouse operators always pass on to enable tweaks. Still a good reason to wait with custom keymaps when this is fully settled! Modified Paths: -- branches/blender2.5/blender/source/blender/editors/animation/anim_markers.c branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c branches/blender2.5/blender/source/blender/editors/space_action/action_ops.c branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_ops.c branches/blender2.5/blender/source/blender/editors/space_node/node_ops.c branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_ops.c branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_select.c branches/blender2.5/blender/source/blender/editors/uvedit/uvedit_ops.c branches/blender2.5/blender/source/blender/makesdna/DNA_windowmanager_types.h branches/blender2.5/blender/source/blender/windowmanager/WM_api.h branches/blender2.5/blender/source/blender/windowmanager/WM_types.h branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c branches/blender2.5/blender/source/blender/windowmanager/intern/wm_keymap.c branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c Modified: branches/blender2.5/blender/source/blender/editors/animation/anim_markers.c === --- branches/blender2.5/blender/source/blender/editors/animation/anim_markers.c 2009-01-30 16:45:25 UTC (rev 18753) +++ branches/blender2.5/blender/source/blender/editors/animation/anim_markers.c 2009-01-30 18:18:41 UTC (rev 18754) @@ -857,10 +857,10 @@ ListBase *keymap= WM_keymap_listbase(wm, "Markers", 0, 0); WM_keymap_verify_item(keymap, "MARKER_OT_add", MKEY, KM_PRESS, 0, 0); - WM_keymap_verify_item(keymap, "MARKER_OT_move", EVT_TWEAK_R, KM_ANY, 0, 0); + WM_keymap_verify_item(keymap, "MARKER_OT_move", EVT_TWEAK_S, KM_ANY, 0, 0); WM_keymap_verify_item(keymap, "MARKER_OT_duplicate", DKEY, KM_PRESS, KM_SHIFT, 0); - WM_keymap_verify_item(keymap, "MARKER_OT_mouseselect", RIGHTMOUSE, KM_PRESS, 0, 0); - WM_keymap_verify_item(keymap, "MARKER_OT_mouseselect_extend", RIGHTMOUSE, KM_PRESS, KM_SHIFT, 0); + WM_keymap_verify_item(keymap, "MARKER_OT_mouseselect", SELECTMOUSE, KM_PRESS, 0, 0); + WM_keymap_verify_item(keymap, "MARKER_OT_mouseselect_extend", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0); WM_keymap_verify_item(keymap, "MARKER_OT_border_select", BKEY, KM_PRESS, 0, 0); WM_keymap_verify_item(keymap, "MARKER_OT_select_all", AKEY, KM_PRESS, 0, 0); WM_keymap_verify_item(keymap, "MARKER_OT_delete", XKEY, KM_PRESS, 0, 0); @@ -868,6 +868,6 @@ WM_keymap_add_item(keymap, "MARKER_OT_move", GKEY, KM_PRESS, 0, 0); /* generates event, needs to be after select to work */ - WM_keymap_verify_item(keymap, "WM_OT_tweak_gesture", RIGHTMOUSE, KM_PRESS, 0, 0); + WM_keymap_tweak(keymap, SELECTMOUSE, KM_PRESS, 0, 0); } Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c === --- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c 2009-01-30 16:45:25 UTC (rev 18753) +++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c 2009-01-30 18:18:41 UTC (re
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18755] branches/blender2.5/blender/source /blender/editors: Update the view3d depth buffer cache after rotating, moving, or scaling the view (for scu
Revision: 18755 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18755 Author: nicholasbishop Date: 2009-01-30 19:27:25 +0100 (Fri, 30 Jan 2009) Log Message: --- Update the view3d depth buffer cache after rotating, moving, or scaling the view (for sculptmode) Modified Paths: -- branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_view.c Modified: branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h === --- branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h 2009-01-30 18:18:41 UTC (rev 18754) +++ branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h 2009-01-30 18:27:25 UTC (rev 18755) @@ -72,7 +72,7 @@ /* Depth buffer */ float read_cached_depth(struct ViewContext *vc, int x, int y); -void request_depth_update(struct ViewContext *vc); +void request_depth_update(struct RegionView3D *rv3d); /* Projection */ #define IS_CLIPPED12000 Modified: branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c === --- branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c 2009-01-30 18:18:41 UTC (rev 18754) +++ branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c 2009-01-30 18:27:25 UTC (rev 18755) @@ -1522,8 +1522,6 @@ { PointerRNA itemptr; Sculpt *sd = CTX_data_tool_settings(C)->sculpt; - Object *ob= CTX_data_active_object(C); - ARegion *ar = CTX_wm_region(C); float center[3]; int mouse[2] = {event->x, event->y}; @@ -1547,7 +1545,7 @@ /* Finished */ if(event->type == LEFTMOUSE && event->val == 0) { - request_depth_update(&sd->session->cache->vc); + request_depth_update(sd->session->cache->vc.rv3d); sculpt_cache_free(sd->session->cache); Modified: branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c === --- branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c 2009-01-30 18:18:41 UTC (rev 18754) +++ branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c 2009-01-30 18:27:25 UTC (rev 18755) @@ -503,6 +503,7 @@ default: if(event->type==vod->origkey && event->val==0) { + request_depth_update(CTX_wm_region_view3d(C)); MEM_freeN(vod); op->customdata= NULL; @@ -598,6 +599,7 @@ default: if(event->type==vod->origkey && event->val==0) { + request_depth_update(CTX_wm_region_view3d(C)); MEM_freeN(vod); op->customdata= NULL; @@ -753,6 +755,7 @@ default: if(event->type==vod->origkey && event->val==0) { + request_depth_update(CTX_wm_region_view3d(C)); MEM_freeN(vod); op->customdata= NULL; @@ -789,6 +792,7 @@ if(rv3d->viewlock) view3d_boxview_sync(CTX_wm_area(C), CTX_wm_region(C)); + request_depth_update(CTX_wm_region_view3d(C)); ED_region_tag_redraw(CTX_wm_region(C)); return OPERATOR_FINISHED; Modified: branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_view.c === --- branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_view.c 2009-01-30 18:18:41 UTC (rev 18754) +++ branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_view.c 2009-01-30 18:27:25 UTC (rev 18755) @@ -525,10 +525,10 @@ return 1; } -void request_depth_update(ViewContext *vc) +void request_depth_update(RegionView3D *rv3d) { - if(vc->rv3d->depths) - vc->rv3d->depths->damaged= 1; + if(rv3d->depths) + rv3d->depths->damaged= 1; } void view3d_get_object_project_mat(RegionView3D *rv3d, Object *ob, float pmat[4][4], float vmat[4][4]) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18756] branches/blender2.5/blender/source /blender/editors/mesh: 2.5
Revision: 18756 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18756 Author: ton Date: 2009-01-30 19:53:54 +0100 (Fri, 30 Jan 2009) Log Message: --- 2.5 Edit Mesh Loop select back; the versions with ALT+Select (edgeloop) or with ALT+CTRL+Select ('ring'). Hold shift for extend. Modified Paths: -- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c === --- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c 2009-01-30 18:27:25 UTC (rev 18755) +++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c 2009-01-30 18:53:54 UTC (rev 18756) @@ -1921,37 +1921,53 @@ /* * MAIN MOUSE SELECTION ** */ -/* just to have the functions nice together */ -static void mouse_mesh_loop(ViewContext *vc) +/* * loop select (non modal) ** */ + +static EnumPropertyItem prop_select_types[] = { + {0, "LOOP_EXCLUSIVE", "Loop Exclusive", ""}, + {1, "LOOP_EXTEND", "Loop Extend", ""}, + {2, "RING_EXCLUSIVE", "Ring Exclusive", ""}, + {3, "RING_EXTEND", "Ring Extend", ""}, + {0, NULL, NULL, NULL} +}; + + +static void mouse_mesh_loop(bContext *C, short mval[2], short extend, short ring) { - EditMesh *em= vc->em; + ViewContext vc; + EditMesh *em; EditEdge *eed; int select= 1; int dist= 50; - int shift= 0, alt= 0, ctrl= 0; // XXX - eed= findnearestedge(vc, &dist); + em_setup_viewcontext(C, &vc); + vc.mval[0]= mval[0]; + vc.mval[1]= mval[1]; + em= vc.em; + + eed= findnearestedge(&vc, &dist); if(eed) { - if (vc->scene->toolsettings->edge_mode == EDGE_MODE_SELECT) { - if(shift==0) EM_clear_flag_all(em, SELECT); + /* XXX: should toolsettings do this? */ + if (vc.scene->toolsettings->edge_mode == EDGE_MODE_SELECT) { + if(extend==0) EM_clear_flag_all(em, SELECT); if((eed->f & SELECT)==0) select=1; - else if(shift) select=0; + else if(extend) select=0; if(em->selectmode & SCE_SELECT_FACE) { faceloop_select(em, eed, select); } else if(em->selectmode & SCE_SELECT_EDGE) { - if((alt && ctrl)) + if(ring) edgering_select(em, eed, select); - else if(alt) + else edgeloop_select(em, eed, select); } else if(em->selectmode & SCE_SELECT_VERTEX) { - if((alt && ctrl)) + if(ring) edgering_select(em, eed, select); - else if(alt) + else edgeloop_select(em, eed, select); } @@ -1960,18 +1976,18 @@ } else { - int act = (edgetag_context_check(vc->scene, eed)==0); + int act = (edgetag_context_check(vc.scene, eed)==0); int path = 0; - if (alt && ctrl && em->selected.last) { + if (ring && em->selected.last) { EditSelection *ese = em->selected.last; if(ese && ese->type == EDITEDGE) { EditEdge *eed_act; eed_act = (EditEdge*)ese->data; if (eed_act != eed) { - /* If shift is pressed we need to use the last active edge, (if it exists) */ - if (edgetag_shortest_path(vc->scene, em, eed_act, eed)) { + /* If extend, we need to use the last active edge, (if it exists) */ + if (edgetag_shortest_path(vc.scene, em, eed_act, eed)) { EM_remove_selection(em, eed_act, EDITEDGE); EM_select_edge(eed_act, 0); path = 1; @@ -1980,7 +1996,7 @
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18757] branches/blender2.5/blender/source /blender/editors/mesh: 2.5
Revision: 18757 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18757 Author: ton Date: 2009-01-30 20:14:50 +0100 (Fri, 30 Jan 2009) Log Message: --- 2.5 Edit Mesh: Fkey back, add edge-face or fill 'edge net' Make fgon will be different operator. Modified Paths: -- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c === --- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c 2009-01-30 18:53:54 UTC (rev 18756) +++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c 2009-01-30 19:14:50 UTC (rev 18757) @@ -77,7 +77,6 @@ /* XXX */ static void BIF_undo_push() {} static void error() {} -static int pupmenu() {return 0;} #define add_numbut(a, b, c, d, e, f, g) {} /* XXX */ @@ -265,7 +264,7 @@ /* ** */ /* selected faces get hidden edges */ -static void make_fgon(EditMesh *em, int make) +void make_fgon(EditMesh *em, int make) { EditFace *efa; EditEdge *eed; @@ -631,7 +630,7 @@ // XXX DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); } -void addedgeface_mesh(EditMesh *em) +static void addedgeface_mesh(EditMesh *em) { EditVert *eve, *neweve[4]; EditEdge *eed; @@ -662,19 +661,7 @@ return; } else if(amount > 4) { - - /* Python Menu removed XXX */ - int ret; - - /* facemenu, will add python items */ - char facemenu[4096]= "Make Faces%t|Auto%x1|Make FGon%x2|Clear FGon%x3"; - - ret= pupmenu(facemenu); - - if(ret==1) addfaces_from_edgenet(em); - else if(ret==2) make_fgon(em, 1); - else if(ret==3) make_fgon(em, 0); - + addfaces_from_edgenet(em); return; } else if(amount<2) { @@ -757,13 +744,39 @@ fix_new_face(em, efa); recalc_editnormals(em); - BIF_undo_push("Add face"); } + } + +static int addedgeface_mesh_exec(bContext *C, wmOperator *op) +{ + Object *obedit= CTX_data_edit_object(C); + EditMesh *em= ((Mesh *)obedit->data)->edit_mesh; -// XXX DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); + addedgeface_mesh(em); + + ED_undo_push(C, "Make Edge/Face"); // Note this will become depricated + WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit); + + DAG_object_flush_update(CTX_data_scene(C), obedit, OB_RECALC_DATA); + + return OPERATOR_FINISHED; } +void MESH_OT_add_edge_face(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Make Edge/Face"; + ot->idname= "MESH_OT_add_edge_face"; + + /* api callbacks */ + ot->exec= addedgeface_mesh_exec; + ot->poll= ED_operator_editmesh; +} + + +/* primitives *** */ + // HACK: these can also be found in cmoview.tga.c, but are here so that they can be found by linker // this hack is only used so that scons+mingw + split-sources hack works // --- start copied code Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c === --- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c 2009-01-30 18:53:54 UTC (rev 18756) +++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c 2009-01-30 19:14:50 UTC (rev 18757) @@ -110,7 +110,6 @@ /* local prototypes ---*/ static void free_tagged_edges_faces(EditMesh *em, EditEdge *eed, EditFace *efa); int EdgeLoopDelete(EditMesh *em); -void addedgeface_mesh(EditMesh *em); /* qsort routines */ @@ -6648,30 +6647,6 @@ ot->poll= ED_operator_editmesh; } -static int addedgeface_mesh_exec(bContext *C, wmOperator *op) -{ - Object *obedit= CTX_data_edit_object(C); - EditMesh *em= ((Mesh *)obedit->data)->edit_mesh; - - addedgeface_mesh(em); - - ED_undo_push(C, "Make Edge/Face"); // Note this will become depricated - WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit); - - return OPERATOR_FINISHED; -} - -void MESH_OT_addedgeface_mesh(wmOperatorType *ot) -{ - /* identifiers */ - ot->name= "Make Edge/Face"; - ot->idname= "MESH_OT_addedgeface_mesh"; -
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18758] branches/blender2.5/blender/source /blender: Sculpt:
Revision: 18758 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18758 Author: nicholasbishop Date: 2009-01-30 21:35:37 +0100 (Fri, 30 Jan 2009) Log Message: --- Sculpt: * Brought back axis locking * Fixed flipping stroke add/sub with shift key at start of stroke * Fixed a crash in stroke exec Modified Paths: -- branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h Modified: branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c === --- branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c 2009-01-30 19:14:50 UTC (rev 18757) +++ branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c 2009-01-30 20:35:37 UTC (rev 18758) @@ -275,11 +275,12 @@ static void sculpt_axislock(Sculpt *sd, float *co) { - if (sd->flags & (SCULPT_LOCK_X|SCULPT_LOCK_Y|SCULPT_LOCK_Z)) return; - /* XXX: if(G.vd->twmode == V3D_MANIP_LOCAL) { */ - if(0) { + if(sd->flags == (SCULPT_LOCK_X|SCULPT_LOCK_Y|SCULPT_LOCK_Z)) + return; + + if(sd->session->cache->vc.v3d->twmode == V3D_MANIP_LOCAL) { float mat[3][3], imat[3][3]; - /* XXX: Mat3CpyMat4(mat, OBACT->obmat); */ + Mat3CpyMat4(mat, sd->session->cache->vc.obact->obmat); Mat3Inv(imat, mat); Mat3MulVecfl(mat, co); if (sd->flags & SCULPT_LOCK_X) co[0] = 0.0; @@ -1576,10 +1577,9 @@ } RNA_END; + sculpt_flush_update(C); sculpt_cache_free(sd->session->cache); - sculpt_flush_update(C); - sculpt_undo_push(C, sd); return OPERATOR_FINISHED; Modified: branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c === --- branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c 2009-01-30 19:14:50 UTC (rev 18757) +++ branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c 2009-01-30 20:35:37 UTC (rev 18758) @@ -99,7 +99,8 @@ WM_keymap_verify_item(keymap, "VIEW3D_OT_vpaint", LEFTMOUSE, KM_PRESS, 0, 0); WM_keymap_verify_item(keymap, "VIEW3D_OT_wpaint", LEFTMOUSE, KM_PRESS, 0, 0); - WM_keymap_verify_item(keymap, "SCULPT_OT_brush_stroke", LEFTMOUSE, KM_PRESS, 0, 0); + WM_keymap_add_item(keymap, "SCULPT_OT_brush_stroke", LEFTMOUSE, KM_PRESS, 0, 0); + WM_keymap_add_item(keymap, "SCULPT_OT_brush_stroke", LEFTMOUSE, KM_PRESS, KM_SHIFT, 0); WM_keymap_verify_item(keymap, "VIEW3D_OT_cursor3d", ACTIONMOUSE, KM_PRESS, 0, 0); Modified: branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h === --- branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h 2009-01-30 19:14:50 UTC (rev 18757) +++ branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h 2009-01-30 20:35:37 UTC (rev 18758) @@ -812,16 +812,18 @@ #define FFMPEG_MULTIPLEX_AUDIO 1 #define FFMPEG_AUTOSPLIT_OUTPUT 2 -/* SculptData.flags */ -#define SCULPT_SYMM_X1 -#define SCULPT_SYMM_Y2 -#define SCULPT_SYMM_Z4 -#define SCULPT_INPUT_SMOOTH 8 -#define SCULPT_DRAW_FAST16 -#define SCULPT_DRAW_BRUSH 32 -#define SCULPT_LOCK_X 64 -#define SCULPT_LOCK_Y 128 -#define SCULPT_LOCK_Z 256 +/* Sculpt.flags */ +typedef enum SculptFlags { + SCULPT_SYMM_X = 1, + SCULPT_SYMM_Y = 2, + SCULPT_SYMM_Z = 4, + SCULPT_INPUT_SMOOTH = 8, + SCULPT_DRAW_FAST = 16, + SCULPT_DRAW_BRUSH = 32, + SCULPT_LOCK_X = 64, + SCULPT_LOCK_Y = 128, + SCULPT_LOCK_Z = 256 +} SculptFlags; /* toolsettings->imagepaint_flag */ #define IMAGEPAINT_DRAWING 1 ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18759] trunk/blender/intern/ghost/intern/ GHOST_SystemX11.cpp: Fix revision: 18690, bug #17850
Revision: 18759 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18759 Author: bdiego Date: 2009-01-30 22:01:18 +0100 (Fri, 30 Jan 2009) Log Message: --- Fix revision: 18690, bug #17850 The problem was that Qt convert the text to the type STRING or UTF8, that is why Blender can't get the text, now should be work fine. Modified Paths: -- trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp Modified: trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp === --- trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp 2009-01-30 20:35:37 UTC (rev 18758) +++ trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp 2009-01-30 21:01:18 UTC (rev 18759) @@ -981,11 +981,11 @@ ) const { //Flag //0 = Regular clipboard 1 = selection - static Atom Primary_atom, clip_String, compound_text; + static Atom Primary_atom, clip_String, compound_text, a_text, a_string; Atom rtype; Window m_window, owner; unsigned char *data, *tmp_data; - int bits; + int bits, count; unsigned long len, bytes; XEvent xevent; @@ -996,6 +996,8 @@ clip_String = XInternAtom(m_display, "_BLENDER_STRING", False); compound_text = XInternAtom(m_display, "COMPOUND_TEXT", False); + a_text= XInternAtom(m_display, "TEXT", False); + a_string= XInternAtom(m_display, "STRING", False); //lets check the owner and if it is us then return the static buffer if(flag == 0) { @@ -1029,23 +1031,46 @@ XFlush(m_display); //This needs to change so we do not wait for ever or check owner first + count= 1; while(1) { XNextEvent(m_display, &xevent); - if(xevent.type == SelectionNotify) { - if (xevent.xselection.property ) { /* eric4 on linux gives zero Atom xevent.xselection.property value, closes blender instantly */ + if(xevent.type == SelectionNotify) { + if (xevent.xselection.property == None) { + /* Ok, the client can't convert the property +* to some that we can handle, try other types.. +*/ + if (count == 1) { + XConvertSelection(m_display, Primary_atom, a_text, clip_String, m_window, CurrentTime); + count++; + } + else if (count == 2) { + XConvertSelection(m_display, Primary_atom, a_string, clip_String, m_window, CurrentTime); + count++; + } + else { + /* Ok, the owner of the selection can't +* convert the data to something that we can +* handle. +*/ + return(NULL); + } + } + else { if(XGetWindowProperty(m_display, m_window, xevent.xselection.property , 0L, 4096L, False, AnyPropertyType, &rtype, &bits, &len, &bytes, &data) == Success) { if (data) { - tmp_data = (unsigned char*) malloc(strlen((char*)data)+1); - strcpy((char*)tmp_data, (char*)data); + if (bits == 8 && (rtype == compound_text || rtype == a_text || rtype == a_string)) { + tmp_data = (unsigned char*) malloc(strlen((char*)data)+1); + strcpy((char*)tmp_data, (char*)data); + } + else + tmp_data= NULL; + XFree(data); return (GHOST_TUns8*)tmp_data; } } + return(NULL); } - else { - fprintf(stderr, "error: cut buffer had a zero xevent.xselection.property, FIXME\n"); // XXX fix this problem! - } - return NULL; } } } ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mai
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18760] branches/blender2.5/blender/source /blender/editors/mesh: delete menu is back DKEY.
Revision: 18760 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18760 Author: shul Date: 2009-01-31 03:31:58 +0100 (Sat, 31 Jan 2009) Log Message: --- delete menu is back DKEY. seperating may be needed to delete_mesh Modified Paths: -- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c === --- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c 2009-01-30 21:01:18 UTC (rev 18759) +++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c 2009-01-31 02:31:58 UTC (rev 18760) @@ -965,16 +965,15 @@ } } -void delete_mesh(Object *obedit, EditMesh *em) +void delete_mesh(Object *obedit, EditMesh *em, int event) { EditFace *efa, *nextvl; EditVert *eve,*nextve; EditEdge *eed,*nexted; - short event; int count; char *str="Erase"; - event= pupmenu("Erase %t|Vertices%x10|Edges%x1|Faces%x2|All%x3|Edges & Faces%x4|Only Faces%x5|Edge Loop%x6"); + if(event<1) return; if(event==10 ) { @@ -1106,7 +1105,61 @@ BIF_undo_push(str); } +static int delete_mesh_exec(bContext *C, wmOperator *op) +{ + Object *obedit= CTX_data_edit_object(C); + EditMesh *em= ((Mesh *)obedit->data)->edit_mesh; + + delete_mesh(obedit,em,RNA_int_get(op->ptr, "event")); + + ED_undo_push(C, "Delete Mesh"); // Note this will become depricated + WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit); + + return OPERATOR_FINISHED; +} +static int delete_mesh_invoke(bContext *C, wmOperator *op, wmEvent *event) +{ + int items; + char *menu, *p; + + items = 6; + + menu= MEM_callocN(items * OP_MAX_TYPENAME, "string"); + + p= menu + sprintf(menu, "%s %%t", "Erase"); + p+= sprintf(p, "|%s %%x%d", "Vertices", 10); + p+= sprintf(p, "|%s %%x%d", "Edges", 1); + p+= sprintf(p, "|%s %%x%d", "Faces", 2); + p+= sprintf(p, "|%s %%x%d", "All", 3); + p+= sprintf(p, "|%s %%x%d", "Edges & Faces", 4); + p+= sprintf(p, "|%s %%x%d", "Only Faces", 5); + p+= sprintf(p, "|%s %%x%d", "Edge Loop", 6); + + + uiPupMenuOperator(C, 20, op, "event", menu); + MEM_freeN(menu); + + return OPERATOR_RUNNING_MODAL; +} + + +void MESH_OT_delete_mesh(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "delete mesh"; + ot->idname= "MESH_OT_delete_mesh"; + + /* api callbacks */ + ot->invoke= delete_mesh_invoke; + ot->exec= delete_mesh_exec; + + ot->poll= ED_operator_editmesh; + + /*props */ + RNA_def_int(ot->srna, "event", 0, 0, INT_MAX, "event", "", 0, 1000); +} + /* Got this from scanfill.c. You will need to juggle around the * callbacks for the scanfill.c code a bit for this to work. */ void fill_mesh(EditMesh *em) Modified: branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h === --- branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h 2009-01-30 21:01:18 UTC (rev 18759) +++ branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h 2009-01-31 02:31:58 UTC (rev 18760) @@ -232,5 +232,7 @@ void MESH_OT_mesh_set_smooth_faces(struct wmOperatorType *ot); void MESH_OT_mesh_set_solid_faces(struct wmOperatorType *ot); +void MESH_OT_delete_mesh(struct wmOperatorType *ot); + #endif // MESH_INTERN_H Modified: branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c === --- branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c 2009-01-30 21:01:18 UTC (rev 18759) +++ branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c 2009-01-31 02:31:58 UTC (rev 18760) @@ -137,6 +137,9 @@ WM_operatortype_append(MESH_OT_removedoublesflag); WM_operatortype_append(MESH_OT_extrude_mesh); WM_operatortype_append(MESH_OT_edit_faces); + + WM_operatortype_append(MESH_OT_delete_mesh); + WM_operatortype_append(MESH_OT_separate); WM_operatortype_append(MESH_OT_dupli_extrude_cursor); WM_operatortype_append(MESH_OT_loop_select); @@ -186,6 +189,14 @@ WM_keymap_add_item(keymap, "MESH_OT_extrude_mesh", EKEY, KM_PRESS, 0, 0); WM_keymap_add_item(keymap, "MESH_OT_edit_faces", PKEY, KM_PRESS, KM_CTRL, 0); + + WM_keymap_add_item(keymap, "MESH_OT_delete_mesh", DKEY, KM_PRESS, 0, 0); + + + + +
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18761] branches/blender2.5/blender/source /blender/editors/mesh/mesh_ops.c: delete menu is back with XKEY.
Revision: 18761 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18761 Author: shul Date: 2009-01-31 03:37:50 +0100 (Sat, 31 Jan 2009) Log Message: --- delete menu is back with XKEY. Modified Paths: -- branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c Modified: branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c === --- branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c 2009-01-31 02:31:58 UTC (rev 18760) +++ branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c 2009-01-31 02:37:50 UTC (rev 18761) @@ -190,7 +190,7 @@ WM_keymap_add_item(keymap, "MESH_OT_edit_faces", PKEY, KM_PRESS, KM_CTRL, 0); - WM_keymap_add_item(keymap, "MESH_OT_delete_mesh", DKEY, KM_PRESS, 0, 0); + WM_keymap_add_item(keymap, "MESH_OT_delete_mesh", XKEY, KM_PRESS, 0, 0); ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18762] branches/blender2.5/blender/source /blender/editors/mesh: make and clear fgon MKEY and shift+MKEY.
Revision: 18762 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18762 Author: shul Date: 2009-01-31 04:23:41 +0100 (Sat, 31 Jan 2009) Log Message: --- make and clear fgon MKEY and shift+MKEY. ton: please check, it doesn't do what it should right now Modified Paths: -- branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c Modified: branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h === --- branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h 2009-01-31 02:37:50 UTC (rev 18761) +++ branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h 2009-01-31 03:23:41 UTC (rev 18762) @@ -109,6 +109,9 @@ void MESH_OT_dupli_extrude_cursor(struct wmOperatorType *ot); void MESH_OT_add_edge_face(struct wmOperatorType *ot); +void MESH_OT_make_fgon(struct wmOperatorType *ot); +void MESH_OT_clear_fgon(struct wmOperatorType *ot); + /* *** editmesh_lib.c */ void EM_stats_update(EditMesh *em); Modified: branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c === --- branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c 2009-01-31 02:37:50 UTC (rev 18761) +++ branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c 2009-01-31 03:23:41 UTC (rev 18762) @@ -133,6 +133,8 @@ 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_clear_fgon); + WM_operatortype_append(MESH_OT_make_fgon); WM_operatortype_append(MESH_OT_add_duplicate); WM_operatortype_append(MESH_OT_removedoublesflag); WM_operatortype_append(MESH_OT_extrude_mesh); @@ -191,12 +193,7 @@ WM_keymap_add_item(keymap, "MESH_OT_delete_mesh", XKEY, KM_PRESS, 0, 0); - - - - - /* add */ WM_keymap_add_item(keymap, "MESH_OT_add_edge_face", FKEY, KM_PRESS, 0, 0); WM_keymap_add_item(keymap, "MESH_OT_add_duplicate", DKEY, KM_PRESS, KM_SHIFT, 0); @@ -204,6 +201,9 @@ WM_keymap_add_item(keymap, "MESH_OT_separate", PKEY, KM_PRESS, KM_SHIFT, 0); WM_keymap_add_item(keymap, "MESH_OT_dupli_extrude_cursor", LEFTMOUSE, KM_PRESS, KM_CTRL, 0); + WM_keymap_add_item(keymap, "MESH_OT_make_fgon",MKEY, KM_PRESS, 0, 0); + WM_keymap_add_item(keymap, "MESH_OT_clear_fgon",MKEY, KM_PRESS, KM_SHIFT, 0); + } ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs