Commit Graph

398 Commits

Author SHA1 Message Date
Lukas Tönne
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
Campbell Barton
b3afbcab8f ListBase API: add utility api funcs for clearing and checking empty 2014-02-08 06:24:05 +11:00
Campbell Barton
fed1b8b16d Code cleanup: suffix vars to make obvious they are squared 2014-02-03 02:46:45 +11:00
Campbell Barton
70f2389f5a Code cleanup: be less vague checking invalid index values 2014-02-01 02:01:00 +11:00
Campbell Barton
1c29fd77d3 Code Cleanup: style and correct API class ref 2014-01-26 22:17:01 +11:00
Brecht Van Lommel
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
Campbell Barton
6734936c13 RNA API: use bool's for enum itemf callbacks. 2014-01-04 18:10:01 +11:00
Campbell Barton
e23f77b935 Code Cleanup: move mesh mapping functions into their own file/header 2013-12-12 16:28:52 +11:00
Campbell Barton
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
Campbell Barton
c9209de573 vertex weights: add weight quantize tool. 2013-11-17 14:58:23 +11:00
Campbell Barton
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
Campbell Barton
48c1e0c0fc spelling: use American spelling for canceled 2013-10-26 01:06:19 +00:00
Irie Shinsuke
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
Campbell Barton
590f58d455 code cleanup: redundant includes and add minor comments. 2013-10-08 20:18:38 +00:00
Campbell Barton
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
Campbell Barton
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
Campbell Barton
0002d3d85f vertex group blend, support for blending multiple groups at once. 2013-09-17 06:47:47 +00:00
Campbell Barton
59011071a4 minor renaming (adding related functions in future commits). 2013-09-17 04:19:45 +00:00
Campbell Barton
77fa1aaab5 modify closest_to_plane_v3 not to use point-normal form. 2013-08-23 05:15:12 +00:00
Campbell Barton
f5c66a3676 quiet shadow warnings and remove redundant NULL check 2013-08-07 04:31:05 +00:00
Campbell Barton
7db1d6556d code cleanup: add break statements in switch ()'s, (even at the last case). 2013-07-21 08:16:37 +00:00
Bastien Montagne
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
Campbell Barton
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
Gaia Clary
fe865b8429 Changed default setting for transfer weights to Group:All 2013-07-05 09:34:17 +00:00
Gaia Clary
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
Gaia Clary
db9f21ddd3 replaced OPERATOR_CANCELLED by OPERATOR_FINISHED to get the redo panel for Transfer Weights 2013-07-04 20:33:52 +00:00
Campbell Barton
077f2b77b9 missed change needed in r58003, wasn't selecting source group properly. 2013-07-04 19:45:11 +00:00
Campbell Barton
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
Campbell Barton
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
Gaia Clary
5fc8393dee Moved 'vgroups exist' check into operator poll functions of weight tools 2013-07-04 08:47:42 +00:00
Campbell Barton
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
Campbell Barton
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
Gaia Clary
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
Campbell Barton
3d845b4a17 move api functions from r57909 into BKE. 2013-07-01 20:27:03 +00:00
Gaia Clary
11145c7c22 Restrict Weight Edit Panel to mesh/lattice Edit and Weight Paint vertex selection mode 2013-07-01 19:30:41 +00:00
Joshua Leung
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
Campbell Barton
32d5b52f59 re-arrange '--help' output into more useful sections (added debug, python).
also minor style cleanup
2013-06-29 10:09:15 +00:00
Brecht Van Lommel
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
Gaia Clary
e2e487a877 Fix: Check for locked Vertex Group (returned true where false was expected) 2013-06-27 18:23:03 +00:00
Campbell Barton
73fcfd8651 fix for memory leak in vgroup_copy_active_to_sel 2013-06-27 17:11:23 +00:00
Gaia Clary
763a737fcc Changed Tool Tip for clarity 2013-06-27 07:03:40 +00:00
Gaia Clary
821c02ddb7 Added checks to Vertex Groups panel to respect locked Vertex Groups 2013-06-27 06:33:01 +00:00
Campbell Barton
d574fb95ad fix for recently added active-vertex weight operators crashing on lattice objects in edit mode. 2013-06-27 05:39:02 +00:00
Campbell Barton
3f2ecdcd42 use common suffix's for exec/poll functions in recently added vertex-group operators. 2013-06-27 04:41:04 +00:00
Gaia Clary
dc16faaaaf Added checks to vertex Weight editor to respect locked Vertex Groups 2013-06-26 22:29:31 +00:00
Gaia Clary
b52d01dea6 Rename operator for better clarity 2013-06-25 22:28:20 +00:00
Campbell Barton
02bcfa1950 new weight operators had zero min/max range for the 'weight_group' 2013-06-25 10:40:15 +00:00
Campbell Barton
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
Campbell Barton
bc79e226ee de-duplicate ED_mesh_active_dvert_* functions.
not to devs - please don't just copy static functions around, make them api calls and add to headers.
2013-06-24 04:41:03 +00:00
Gaia Clary
70fd2320c8 Added polished Vertex Weights Panel (properties sidebar) 2013-06-23 15:37:08 +00:00