Commit Graph

234 Commits

Author SHA1 Message Date
47584648dc split up proportional editing keymap functions (adding this in tomato branch was messy) 2012-05-30 08:02:49 +00:00
5ff7ede1b5 modal operation for bevel and inset:
This commit adds some first building blocks for the two operators to work modally based on mouse input. To make their function easier, two hotkeys are introduced, Ctrl+B for bevel and I for inset.

TODO:
After discussion with Campbell, we would like to add scale-style line indicators for the operators. This is already done for transform operators but a new interface for mesh operations may have to be written using pieces from that code since, strictly speaking bevel and inset are not exactly "transform" operators.

Also, a better input method for inset is needed and more options exposed. The method implemented right now uses mouse move for thickness and ctrl-mouse move for depth. These are calculated using the distance of the selection center in screen space and the mouse position. While that may work and prevents abrupt changes in values when switching from thickness tweak mode to depth tweak mode, it limits the magnitude of values that can be put into the tool especially in small or large scale. 

Alternatives until a better method is written include:

* use relative offset (works but may give strange results)
* tweak manually after the operation.
2012-05-16 14:30:41 +00:00
1118b3fe3f Mesh elements sorting refactor.
Now only one operator. Same options for vertices, edges and faces (so adds edges sorting, and some options to vertices sorting).

Face sorting should behave as previously. However, XSortVerts won’t pack anymore selected vertices at the begining of the vert array (as it used to), if you want such behavior you’ll have to first run SortElements with Selected action.

Also added bug ref I forgot in r46354 (armature.c).
2012-05-06 17:14:56 +00:00
e17a708dce add back pose specials menu, also add back the ability to clear user transforms on all bones (not just selected - mango request - was possible in 2.4x).
- rename only_select op property to only_selected (both were used).
- only do mingw workaround when building with FREE_WINDOWS defined.
2012-05-06 12:13:45 +00:00
fef40eda72 Fix related to [#31157]: Tips (descriptions) of macro operators were not set into underlying RNA struct, hence did not show up in UI. 2012-05-05 19:26:53 +00:00
70f1279eab Add convex hull operator (bmesh operator and wm operator.)
Image-heavy user documentation:
http://wiki.blender.org/index.php/User:Nicholasbishop/Convex_Hull

Thanks to Campbell for providing code review:
http://codereview.appspot.com/6114060
2012-04-29 16:09:40 +00:00
41a5e731a2 bmesh: new wireframe tool
- makes wireframe from faces.
- options similar to inset (even offset, relative scale)
- copies face settings and loops (uvs, vcolors)
- optionally replaces the existing geometry.
2012-04-29 10:44:00 +00:00
8baa5fbde2 - fix for python freeing its own bmesh clearing the global mirror cache.
- fix for own mistake (Ctrl+T didnt set beauty peroperty).
- remove bad level includes in bmesh.
2012-04-23 04:24:11 +00:00
3d851bfd5b knife tool modifications
from user freedback it seems there are 2 use cases, both valid.
* Select geometry and cut the selection in half (as 2.4x worked)
* Point-to-point define the faces to cut, dont cut through everything (only cut what you see).

With the second, since you are already selecting the edges to cut and snapping to them. only cutting the selecting is limiting/annoying.


Modifying these options while the knife tool runs doesn't work well, so expose under 2 keys, K, Shift-K.
2012-04-20 10:52:13 +00:00
99aaf0812c fix for vertex slide not taking object transformation into account.
also make the shortcut 'Shift+V'
2012-04-07 13:42:00 +00:00
6482351ed9 Added Vertex Slide: Slides a vertex along a selected and connected edge (Shift+Ctrl+V)
-
BMop: "vertslide vert=%e edge=%hfev distance_t=%f"
2012-04-07 03:15:20 +00:00
12655edc84 remove dissolve keybinding, conflicts with draw, add back to delete menu.
dissolve is now 'X -> D'
2012-03-28 07:44:20 +00:00
48f0444760 style cleanup: editors/mesh - mostly whitespace around operators 2012-03-26 02:56:48 +00:00
ab4a2aaf4a style cleanup: follow style guide for formatting of if/for/while loops, and else if's 2012-03-24 06:38:07 +00:00
2f348d8b5d style cleanup: mainly for mesh code, also some WM function use. 2012-03-24 02:51:46 +00:00
d3f8952269 bmesh editmode - split dissolve into its own menu. mesh delete code was getting quite messy and mixed in too much different functionality just to add in same menu. Now use a pu menu for delete key which can call different ops. 2012-03-23 10:30:42 +00:00
4b52ad6a35 edge split bmesh operator wasnt accessible (defined but not used), for some reason it had a 'numcuts' option.
add edge split to mesh edge menu.
2012-03-23 03:10:44 +00:00
86796252da bmesh: inset tool, access from face menu (Ctrl+F)
- Even option (like solidify even option)
- Relative option (insets based on lengths of surrounding edges)

TODO: merge tares when 2+ face corners meet but don't form a contiguous region.
2012-03-19 05:45:15 +00:00
d99888d786 bmesh: add back feature from 2.4x Ctrl+Shift+T subdivides quads in the alternate direction. 2012-03-04 02:18:17 +00:00
622ac0dd16 code cleanup:
replace casts: '((Mesh *)ob->data)->edit_btmesh' with 'BMEdit_FromObject(ob)'

also minor style edits.
2012-03-02 12:09:49 +00:00
e17bf02c2d Code Cleanup:
* made bmesh_structure.h function names more consistant.
* remove unused code in bmesh_structure.c
* removed 'Edge Flip' operator (missing from bmesh but looked into trunk feature and dont think its worth keeping).
* tagged  some BMESH_TODO's
2012-02-27 13:47:53 +00:00
a368e6771a - remove some unused editmesh functions.
- copy & rename EditMesh stricts for use with scanfill (remove unused members)
2012-02-19 22:17:30 +00:00
0fd176e03d moved select interior faces into a C function (was python) 2012-02-19 20:27:30 +00:00
3e78832dea remove OBJ export, better rely on the python exporter. 2012-02-17 21:37:16 +00:00
cde2f11244 new bmesh tool - limited dissolve.
This is a kind of simplification/cleanup tool which joins adjacent faces and edges based on the angle.

I've written this as an exercise (since I havnt written a bmesh operator before), and because quite a few users were asking for the dissolve operator to be extended, but I think this kind of functionality needs its own operator.

access from specials menu and mesh menu.

notes
* this exposed a bug in angle_v3v3v3(). will merge fix into trunk after release.
* added utility function BM_vert_edge_angle(), to get the angle between 2 connecting edges of a vert.
2012-02-13 14:37:07 +00:00
838abe1a8b Ykey is now separate again (as with trunk), use Jkey for Connecting verts. 2012-02-10 08:09:49 +00:00
ed22c29f4b remove invalid enum setting in MESH_OT_extrude_vertices_move macro. 2012-02-05 22:32:32 +00:00
bbe69705a5 svn merge ^/trunk/blender -r43420:43436 2012-01-17 02:20:23 +00:00
e1dd245a1e more keymap edits
- make sure defaults are not assumed (so reuse last settings doesnt
override)
- replace 0/1 for TRUE/FALSE defines.
2012-01-16 16:12:03 +00:00
caca9cc8f6 svn merge ^/trunk/blender -r43381:43392 2012-01-15 10:33:41 +00:00
917714acf7 svn merge ^/trunk/blender -r43345:43381 2012-01-15 09:16:39 +00:00
93017790bc Fix [#29891] Stupid select all behaviour.
More "Reset ops properties" stuff, in select C keymaps this time.

Also ARMATURE_OT_select_inverse -> ARMATURE_OT_select_all(action='INVERT'). Left the select_inverse op code, though, it’s not using the same algo as INVERT of select_all ???
2012-01-14 21:19:41 +00:00
e322537c13 fix [#29890] Extend selection doesn't clear (3D view edge loop select and node editor node select)
caused by own use-last-settings, will be more of these, need to go over all keymaps.
2012-01-14 17:56:44 +00:00
166a37532f remove *.select_inverse operators where the *.select_all operator has an invert option. 2012-01-14 06:58:03 +00:00
e883fa168b Adjust face menu links to "mirror uvs" and "mirror colors" to use the bmesh n-gon-compatible replacements "reverse uvs" and "reverse colors" 2011-12-02 17:17:40 +00:00
15e6d6cd75 svn merge ^/trunk/blender -r41226:41227 . 2011-10-24 12:43:08 +00:00
4a04f72069 remove $Id: tags after discussion on the mailign list: http://markmail.org/message/fp7ozcywxum3ar7n 2011-10-23 17:52:20 +00:00
4e118bb22f svn merge ^/trunk/blender -r40890:40950 2011-10-14 01:35:20 +00:00
2de1bd7dc5 updates to navmesh
- 2 new navmesh operators, reset and clear navmesh data.
- rename operators to be more consistent with existing names.
- some minor edits to draw function, was getting the custom data for every index when it already had the array.
2011-10-10 07:21:42 +00:00
d525cb154f Enable sort faces tool (checked in code for the tool but forgot to uncomment the line to hook it up), and fix for an uninitialized local in build modifier. 2011-10-06 02:05:27 +00:00
4a157de23d svn merge ^/trunk/blender -r40587:40643 2011-09-28 07:34:48 +00:00
dcccf3fc1f navmesh: solve bad level calls to edit mesh functions
Move navmesh operators from editors/object to editors/mesh
2011-09-27 09:09:52 +00:00
59e95fa0ff =bmesh: bridge edge loop tool=
rough version of a new bridge tool.

ctrl-e -> bridge (two) edge loops
2011-08-15 23:38:51 +00:00
102c228ef8 Brought back select by number of vertices
and select loose verts/edges:
----------------------------------------------
Split select by number of vertices and select
loose verts/edges into seperate functions.

Previously select by number of vertices was
also accessed through two different UI items,
"Select Quads" and "Select Triangles". Now
it is one function with a integer property
for selecting the size of the face you want
selected.

Also added an option to modify the behavior
of the selection. Can now select whether you
want to select faces that have vertices
equal to, less than or greater than the number
of vertices in operator property.
2011-06-26 20:23:27 +00:00
7798666091 =bmesh=
added modal keymap for knife tool.
I'm not sure how to handle the panning
pass-through, it's still hardcoded to
happen on MIDDLEMOUSE.
2011-05-09 21:38:55 +00:00
6ef77cf95a =bmesh= merge from trunk at r36529 2011-05-08 23:43:18 +00:00
fbe17e09a3 alternative to joe's commit r36451.
loopcut now follows 'Release confirms' user preference.
2011-05-04 20:42:34 +00:00
f7ff502e77 =bmesh= fixed unintiialized memory bug, thanks to Francisco De La Cruz 2011-05-03 03:05:15 +00:00
03734f5c58 =trunk=
Recommitted eltopo collision code (but disabled by default)
with Genscher's permission.

To use, you need to install liblapack and libblas
2011-05-03 01:48:15 +00:00
e64fba68a0 =bmesh=
Added a temporary (but fairly complete) wavefront 
obj exporter.  There's no importer as yet, however.
2011-05-02 00:58:33 +00:00