Commit Graph

400 Commits

Author SHA1 Message Date
a28dce6cc8 Fix T38955: Misleading tooltip for Clean Tool in Weight Tools Toolshelf. 2014-03-06 14:30:44 +01:00
4f1a6eb96f Fix T38970: Invert weights remove weights option not working
Patch D382 from Henrik Aarnio
2014-03-06 03:07:31 +11:00
a938640036 Fix T38717: Copy Vertex Group To Selected fails when all Vertex Groups
are empty.

This is now considered a no-op and counts as a successful copy (since
nothing would have changed anyway).
2014-02-19 14:19:32 +01:00
b3afbcab8f ListBase API: add utility api funcs for clearing and checking empty 2014-02-08 06:24:05 +11:00
fed1b8b16d Code cleanup: suffix vars to make obvious they are squared 2014-02-03 02:46:45 +11:00
70f2389f5a Code cleanup: be less vague checking invalid index values 2014-02-01 02:01:00 +11:00
1c29fd77d3 Code Cleanup: style and correct API class ref 2014-01-26 22:17:01 +11:00
386d3a9cfb Fix T38265: transferring vertex weights from an object with modifiers not working.
It was using the modified mesh for the vertex coordinates, and the unmodified mesh
for the vertex weights, which can't work and crashed in some cases, now it used the
modified mesh for both.

Perhaps an option should be added to indicate if you want to transfer from the
unmodified mesh or transfer to the modified mesh, but I think this fix makes it
works as intended when this was implemented.
2014-01-21 15:36:00 +01:00
6734936c13 RNA API: use bool's for enum itemf callbacks. 2014-01-04 18:10:01 +11:00
e23f77b935 Code Cleanup: move mesh mapping functions into their own file/header 2013-12-12 16:28:52 +11:00
63caaa2b12 Code Cleanup: rename vars for detecting change to be more consistent
rename change/is_change/is_changed/modified -> changed
also use bools over int/short/char and once accidental float.
2013-11-26 06:39:14 +11:00
c9209de573 vertex weights: add weight quantize tool. 2013-11-17 14:58:23 +11:00
3264461598 move bmesh array lookup data and utility functions from editmesh into bmesh,
since enough bmesh operations can also take advantage of direct index lookups on verts/edges/faces.

developers note:
- EDBM_index_arrays_init/ensure/free -> BM_mesh_elem_table_ensure/init/free
- EDBM_vert/edge/face_at_index -> BM_vert/edge/face_at_index
- EDBM_uv_element_map_create/free -> BM_uv_element_map_create/free
- ED_uv_element_get -> BM_uv_element_get
2013-10-28 02:05:33 +00:00
48c1e0c0fc spelling: use American spelling for canceled 2013-10-26 01:06:19 +00:00
4be7427346 Weight Paint Tools: Add "Subset" option to "Normalize All"
This option is needed when vertex groups are used for both armature
deformation and the other purpose such as influence of mesh modifier.

Thanks to Campbell for code review!
2013-10-10 06:33:23 +00:00
590f58d455 code cleanup: redundant includes and add minor comments. 2013-10-08 20:18:38 +00:00
f3e41046fe fix bug in ED_vgroup_subset_from_select_type, setting negative index in boolean array.
also was freeing NULL pointer in vgroup_blend_subset()
2013-10-03 07:01:32 +00:00
0b22cfb1d1 fix [#36246] Weight tools do not mirror properly in vertex selection mask mode.
Weight mirror is now supported by invert/clean/levels/blend.
2013-09-17 07:03:13 +00:00
0002d3d85f vertex group blend, support for blending multiple groups at once. 2013-09-17 06:47:47 +00:00
59011071a4 minor renaming (adding related functions in future commits). 2013-09-17 04:19:45 +00:00
77fa1aaab5 modify closest_to_plane_v3 not to use point-normal form. 2013-08-23 05:15:12 +00:00
f5c66a3676 quiet shadow warnings and remove redundant NULL check 2013-08-07 04:31:05 +00:00
7db1d6556d code cleanup: add break statements in switch ()'s, (even at the last case). 2013-07-21 08:16:37 +00:00
20d6cd008b Style cleanup of UI messages.
Mostly, "weight groups" -> "vertex groups", and usual case/endpoints/typos/etc.

As a remainder, please read http://wiki.blender.org/index.php/Dev:Doc/CodeStyle#UI_Messages before writing UI messages!
2013-07-16 13:12:58 +00:00
fba8e8861c fix for error in vertex_group_vert_select_unlocked_poll, check for non existing group wasn't right. 2013-07-09 07:50:16 +00:00
fe865b8429 Changed default setting for transfer weights to Group:All 2013-07-05 09:34:17 +00:00
a07a72d93d Added generic function to Sync pose bone with active vgroup. For use in Weight Paint and Vertex Paint 2013-07-04 21:49:48 +00:00
db9f21ddd3 replaced OPERATOR_CANCELLED by OPERATOR_FINISHED to get the redo panel for Transfer Weights 2013-07-04 20:33:52 +00:00
077f2b77b9 missed change needed in r58003, wasn't selecting source group properly. 2013-07-04 19:45:11 +00:00
cee5bd4623 changes to weight paint transfer
- Use the active group of the active (target) object (not the active group of the other, unselected object)
- Ensure the active group doesnt change from the one that was set originally.
- defgroup_find_name was doing redundant lookup on its self.
2013-07-04 19:34:49 +00:00
69b8b16464 rename poll functions from r57986, also no need to count the list to check if its empty. 2013-07-04 09:31:33 +00:00
5fc8393dee Moved 'vgroups exist' check into operator poll functions of weight tools 2013-07-04 08:47:42 +00:00
70dc1d8cb6 stop adding groups from changing the active group with weight transfer, add BKE_defgroup_new function. 2013-07-04 03:56:18 +00:00
374383997c fixes/edits to wright transfer
- poll function now checks for a mesh.
- other selected lattices would crash, check for meshes there too.
- better reporting when transfer fails.
- remove feature to sync with active bone after transfer, other tools don't do this (we could make into a generic function if its needed).
2013-07-03 21:29:30 +00:00
7eed4d5c4f Fix Weight Paint(Weight-Transfer): active vgroup does not match active bone when new vgroups where created during transfer 2013-07-03 20:31:38 +00:00
3d845b4a17 move api functions from r57909 into BKE. 2013-07-01 20:27:03 +00:00
11145c7c22 Restrict Weight Edit Panel to mesh/lattice Edit and Weight Paint vertex selection mode 2013-07-01 19:30:41 +00:00
4f3f95751a Bugfix [#35936] Can't create new vertex group when using Ctrl G menu
This was caused by r.57812

There were two problems here:
  1) vertex_group_vert_select_unlocked_poll()  had faulty logic which meant that
it always failed when there were no vgroups present yet - the final return
always just fell through
  2) Since the "Assign to New Groups" option was actually implemented using the
same operator as "Assign to Active Group" (just with an extra parameter set), if
the active group was locked, it was not possible to "Assign to New Group" (even
though a new group would not be locked).
2013-07-01 13:02:53 +00:00
32d5b52f59 re-arrange '--help' output into more useful sections (added debug, python).
also minor style cleanup
2013-06-29 10:09:15 +00:00
77e0709e48 Fix #35551: the topology mirror setting affected shape key and vertex group but
this was confusing as there was no setting visible for it. Now these menus
contain an entry to mirror without and with topology mirror.
2013-06-28 17:13:09 +00:00
e2e487a877 Fix: Check for locked Vertex Group (returned true where false was expected) 2013-06-27 18:23:03 +00:00
73fcfd8651 fix for memory leak in vgroup_copy_active_to_sel 2013-06-27 17:11:23 +00:00
763a737fcc Changed Tool Tip for clarity 2013-06-27 07:03:40 +00:00
821c02ddb7 Added checks to Vertex Groups panel to respect locked Vertex Groups 2013-06-27 06:33:01 +00:00
d574fb95ad fix for recently added active-vertex weight operators crashing on lattice objects in edit mode. 2013-06-27 05:39:02 +00:00
3f2ecdcd42 use common suffix's for exec/poll functions in recently added vertex-group operators. 2013-06-27 04:41:04 +00:00
dc16faaaaf Added checks to vertex Weight editor to respect locked Vertex Groups 2013-06-26 22:29:31 +00:00
b52d01dea6 Rename operator for better clarity 2013-06-25 22:28:20 +00:00
02bcfa1950 new weight operators had zero min/max range for the 'weight_group' 2013-06-25 10:40:15 +00:00
1a55b53375 lattice: use functions rather then defines, also added a function to get uvw from an index.
- BKE_lattice_index_from_uvw()
- BKE_lattice_index_to_uvw()
2013-06-24 13:45:35 +00:00