Revision eb00687 by Ton Roosendaal February 2, 2009, 19:31 (GMT) |
2.5 Editmesh ops: - MESH_OT_select_multi_loop (based on selection it makes loops) - MESH_OT_select_linked added boolean 'limit' for linked limited by seams - MESH_OT_select_linked_pick same as above The 'limit' option used to work only for facemode, with a toolsettings option. So it had no own hotkey... i made it work for edges & vertices too, need to find hotkey later. |
Revision c290302 by Ton Roosendaal February 2, 2009, 16:30 (GMT) |
2.5 Bugfix: mouse key checks should use KM_PRESS checks now. Interface toggle button didnt work for that reason. :) |
Revision a18f623 by Ton Roosendaal February 2, 2009, 15:39 (GMT) |
2.5 Small bugfix, key-release event should be only set after a tweak fails. Such keymap items better not respond to any key-release! |
Revision 8fd6f64 by Ton Roosendaal February 2, 2009, 14:13 (GMT) |
2.5 Sanitized the 'tweak' event. Original idea was to have WM event system generating it automatically. However, I first tested it via a handler and operator, to check what kind of configurations would be useful. It appeared to not work nice, also because that inserting a tweak operator in a keymap is confusing. Now 'tweaks' are generated automatically, and can be catched by keymaps as any event. The current definition of tweak is: - if Left/Middle/Rightmouse pressed if event wasn't handled by window queue (modal handlers) start checking mousepositions - while mousepositions are checked - escape on any event other than mouse - on mouse events: - add tweak event if mousemove > 10 pixels - stop checking for tweak if mousebutton released - Tweak events have a define indicating mousebutton used EVT_TWEAK_L, EVT_TWEAK_M, EVT_TWEAK_R - In keymap definitions you can use _S or _A to map to action or select mouse userdef. - Event value in keymap should be KM_ANY for all tweaks, or use one of the eight directions: EVT_GESTURE_E, _SE, _S, _SW, _W, _NW, _N, _NE - And of course you can add modifier checks in keymaps for it. - Because tweaks are a result of mouse events, the handlers get both to evaluate. That means that RMB-select + tweak will work correctly. In case you don't want both to be handled, for example the CTRL+LMB 'extrude' and CTRL+LMB-tweak 'lasso select', you will need to set the first acting on a EVT_RELEASE, this event only gets passed on when tweak fails. The current system allows all options, configurable, we had in 2.48, and many more! A diagram of what's possible is on the todo. :) Also in this commit: lasso select editmesh failed with 'zbuffer occluded select'. Also circle-select failed. |
Revision c67952a by Joshua Leung February 2, 2009, 11:51 (GMT) |
Animato RNA wrapping: It's about time that the RNA wrapping for various parts of the animation system were cleaned up for my recent changes. I've moved some code around (and/or deleted a file or two) in the process. |
Revision a6156d2 by Joseph Eagar February 2, 2009, 03:25 (GMT) |
Begin port of edge subdivide (with multicut) to bmesh. Basic infrastructure is in place, and subdivision patterns for quads are implemented. Properly handling of the (many) flags and options related to edge subdivide isn't complete, but I've made a good start. Goal is eventual 100% api compatibility with old esubdivide function, with some of the uglier design aspects refactored after some of the tools that rely on them are redone. Some notes: Customdata interpolation wasn't working right. I thought maybe the weights were off, so I swapped them, which surprising made it work. It's still not completely identical to old edge subdivide though. |
Revision 7c48f19 by Remigiusz Fiedler February 2, 2009, 00:31 (GMT) |
patch for paths_svg2obj.py by author jms: This patch solves some major problems of the svg script : - reading of the inkscape svg format - parsing of the scientific numbers - redundant arc data in the same path for only one command "a" - blending of curves after several files import and at the end a more correct management of the current point. |
Revision 9c2e457 by Ton Roosendaal February 1, 2009, 19:53 (GMT) |
2.5 Committed two posemode operators. Hide/Unhide. For people who want to check on adding operators, only check the changes in armature directory, rest is to get things to work, and a small bugfix :) |
Revision a00aa16 by Ton Roosendaal February 1, 2009, 18:07 (GMT) |
2.5 Hrmf, I try to make a local operator-only commit possible, but I keep finding other small todos :) - added two more standard poll callbacks for pose and armature - fixed operator naming in editmesh_mods.c |
Revision df68580 by Ton Roosendaal February 1, 2009, 17:33 (GMT) |
2.5 Preparing for volunteer to work on operatorifying armature code. Just new C file and calls to assign operators and keymaps. |
Revision 494575f by Campbell Barton February 1, 2009, 14:24 (GMT) |
sculpt operator was setting default array value from stack variables that were then freed, making sculpt defaults use invalid memory. Since these values defaulted to zero, a NULL default array will do, but for new operators that need to be initialized from an array, only static arrays should be used. |
Revision dafc620 by Andrea Weikert February 1, 2009, 13:52 (GMT) |
2.5 filebrowser small fix for selection of bookmarks/favorite folders |
Revision 3783d7f by Andrea Weikert February 1, 2009, 13:40 (GMT) |
2.5 MSVC9 projectfiles updates: * project blenfont added |
Revision 6aab3e7 by Ton Roosendaal February 1, 2009, 13:24 (GMT) |
2.5 Paint mode (VPaint WPaint) was too easy to enter, I made the operators having a more designated poll() to check stuff. Now CTRL+TAB hotkeys will work in editmode for select type, and outside editmode for wpaint or posemode. Also fixed select type operator to so it works for facemode. |
Revision dce3c08 by Campbell Barton February 1, 2009, 12:40 (GMT) |
made some mesh operator names and values more consistent with object mode + other minor changes. - percentage -> percent, and always a float. - renamed selectconnected to select_linked - removed _mesh prefix for MESH_OT_* operators. - renamed select_swap -> select_invert (matching object and sequencer operators) |
Revision 00e2d76 by Ton Roosendaal February 1, 2009, 12:00 (GMT) |
2.5 Moved 'redo last operator' stuff to WM level, with a WM_operator_repeat() Code in screen_ops was not checking all operator stuff correctly, so repeat menu (F3 now) crashed in cases. |
Revision b3c3af2 by Campbell Barton February 1, 2009, 04:22 (GMT) |
- Converted mesh face popup menu to use brecht's toolbox function (like the image view toolbox) Rather then having a hard coded popup menu with events that call other operators exec functions, operator names are given to the toolbox where it displays the operator name and shortcut. This means the real operator is registered rather then the one that called it. Im not sure about the location for the operator though, at the moment its called VIEW3D_OT_editmesh_face_toolbox() in view3d_header.c since the image editor toolbox is in the header file too. In a way it makes sense because this menu should eventually be in the header. - Change shortcut to Ctrl+F as it is in 2.4x - Added a number of operators that were not being registered - MESH_OT_fill_mesh, beauty_fill, convert_quads_to_tris, convert_tris_to_quads, edge_flip, mesh_set_smooth_faces, mesh_set_solid_faces - Renamed redundant MESH_OT_mesh_set_smooth_faces() to MESH_OT_faces_shade_smooth(), same for solid. |
Revision beb22ec by Campbell Barton February 1, 2009, 03:12 (GMT) |
missed renaming the operator keymap strip and exec function, also made some functions static |
Revision 2755d48 by Campbell Barton February 1, 2009, 02:37 (GMT) |
- Change 2 operators from using int properties into enums. - Renamed MESH_OT_mesh_selection_mode_menu to MESH_OT_mesh_selection_type since the operator doesnt have to be accessed from a menu. Shaul, you might want to look over this, using enums means WM_menu_invoke can be used instead of writing an invoke function for each operator. Added error messages to WM_menu_invoke if no enum "type" property is found. |
Revision 75f7f1f by Shaul Kedem February 1, 2009, 01:04 (GMT) |
edit mode selection menu - ctrl+shift+tab |
|