Commit Graph

1706 Commits

Author SHA1 Message Date
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
Campbell Barton
972c01ac0c remove NULL checks for return values from EDBM_***_at_index calls. 2013-06-20 07:00:57 +00:00
Campbell Barton
1ed8343d6d add axis option to EDBM_verts_mirror_cache_begin 2013-06-19 21:23:00 +00:00
Bastien Montagne
2091eca962 Usual UI messages style edits... 2013-06-17 10:01:35 +00:00
Gaia Clary
e26fb9a69e Rephrased error message for clarity 2013-06-13 14:17:02 +00:00
Gaia Clary
1d1bf3b2ba prepared local vgroup selection function for more general usage 2013-06-12 09:52:37 +00:00
Sergey Sharybin
568f0c70c1 Fix #35704: Simplify on scene with dupli recursion crashes
Couple of issues here:

- User shouldn't be able to run into dupligroup recursion.
  It was checking already when setting a group for dupli.
  Added check to operator which adds object to group.

- It's still possible files with recursion are hanging around,
  so made simplify function robust to such kind of crap.
2013-06-11 11:21:16 +00:00
Brecht Van Lommel
b1fb86cbe7 Fix bug in vertex group code after recent changes, did not do proper NULL
pointer check.
2013-06-10 11:08:39 +00:00
Campbell Barton
eabb30a236 patch [#35631] Active element for Lattice
by Kevin Mackay (yakca)

Was one of our TODO's from the wiki.
2013-06-09 20:28:08 +00:00
Campbell Barton
a6b505ef0b style cleanup 2013-06-06 06:02:46 +00:00
Campbell Barton
5f0731dc8d add option to remove all shape keys at once (access from shape key menu on panel).
Without this there was no easy way to get a WYSIWYG copy of a mesh that had shape keys,
since removing them would adjust the mesh.
2013-06-05 06:34:18 +00:00
Campbell Barton
666c8b51ca changes to mirror tools
- give feedback on how many mirror verts succeed/fail (for select mirror, shape key mirror, weight mirror)
... when a mirror failed it was confusing and not obvious what was going on.

- slight change to select mirror, now center vertices will remain selected.

- speedup to EDBM_verts_mirror_cache_begin, cache customdata layer offset.
2013-06-05 05:58:51 +00:00
Gaia Clary
6d9fcdf983 Added 'clear active group' to object data properties -> Vertex Groups -> pulldown menu 2013-06-04 22:30:41 +00:00
Campbell Barton
2230794e73 yet another check for missing vertex groups needed (for 'Select/Deselect') 2013-06-04 21:54:16 +00:00
Campbell Barton
c630435b3c fix own error with removing vertex weights not checking for non-existing weights.
however this exposed some other odd behavior.

removing a vertex group would add one if not found but only for meshes, not lattices.

now just skip removal if not found.
2013-06-04 19:37:18 +00:00
Sergey Sharybin
902976e012 Fix #35378: Shape Key Animation Data still linked when creating full copy of scene
Two issues were found:

- Mesh/Curve/Lattice kay blocks weren't copying their actions
  when making object data local. This lead to object data using
  diffrent AnimData structures which were using the same action.

- Copying actions shall happen after object object data was
  localized. This is so because otherwise we'll copy actions
  for original AnimData, not for copied one.

Reviewed by Joshua, thanks!
2013-06-03 12:28:46 +00:00
Campbell Barton
7bb1279279 fix [#35489] mode_set() not working in background mode, Scene change doesn't change mode either 2013-06-02 22:21:45 +00:00
Campbell Barton
e99801dc70 fix for confusion switching active group when running mirror (would swich back when toggling editmode if a pose bone was selected). 2013-05-29 01:28:55 +00:00
Campbell Barton
7325919323 tweaks to vertex weight limit
- double check def_nr is valid (rare cases it is).
- usability, report how many weights are removed.
2013-05-29 00:00:24 +00:00
Campbell Barton
c1619a528c fix for own mistake in recent change to use defvert layer offsets. 2013-05-28 23:13:04 +00:00
Sergey Sharybin
04d54f89d2 Correction for strict compiler flags. 2013-05-28 20:19:38 +00:00
Campbell Barton
225c5fee6b move BLO_sys_types.h -> BLI_sys_types.h (it had nothing todo with loading)
remove MEM_sys_types.h which was a duplicate.
2013-05-28 19:35:26 +00:00
Campbell Barton
ef4db04da8 code cleanup: lots of calls to BKE_mesh_calc_normals_mapping were not using the mapping functionality.
replace ED_mesh_calc_normals with BKE_mesh_calc_normals().
2013-05-28 14:23:07 +00:00
Campbell Barton
083115c5e7 bmesh optimization: use offsets for deform-vert lookups to avoid customdata layer lookups within loops. 2013-05-27 12:42:48 +00:00
Campbell Barton
ec8d277c64 BLI_math rename functions:
- mult_m4_m4m4 -> mul_m4_m4m4
- mult_m3_m3m4 -> mul_m3_m3m4

these temporary names were used to avoid problems when argument order was switched.
2013-05-26 18:36:25 +00:00
Gaia Clary
add5167b8d Fixed own error: used wrong iteration count for cleaning weight groups 2013-05-26 17:34:03 +00:00
Gaia Clary
16d35ec94f weight tools: added more selection types to limit total operator 2013-05-24 13:50:26 +00:00
Campbell Barton
4a2ca34bea style cleanup 2013-05-24 10:59:57 +00:00
Gaia Clary
69515adbc9 fixed memory leak in weight tool: levels 2013-05-24 10:54:26 +00:00
Gaia Clary
31ab91991c weight tools: added more selection types to levels operator 2013-05-24 10:46:37 +00:00
Gaia Clary
26a5b63178 weight tools: added more selection types to invert operator 2013-05-24 09:30:13 +00:00
Campbell Barton
cbc431ec12 style cleanup: also remove unused var 2013-05-23 20:20:24 +00:00
Gaia Clary
3f8a146a1e Weight tools: Clean added additional selection options in operator Panel 2013-05-22 22:03:14 +00:00
Campbell Barton
7b36dea115 code cleanup: scons - binreloc include was copied all over the place for no reason, -pthread too. 2013-05-20 18:55:08 +00:00
Campbell Barton
6de829cb7a code cleanup: split scons includes onto multiple lines, reduce chance of include conflicts later on. 2013-05-20 18:42:28 +00:00
Campbell Barton
88d1067f58 code cleanup: use BM_elem_flag_test rather then accessing 'ele->head.hflag' 2013-05-17 12:43:58 +00:00
Campbell Barton
65dcc6ad4f use bool arrays rather then char for weight paint lock/select arrays 2013-05-15 15:52:48 +00:00
Sergey Sharybin
682da3ac98 Apply scale on scene reconstruction when applying scale on camera
This means when you've got reconstructed scene assigned to a
3d camera (via camera solver constraint) and applies scale on
this camera from Ctrl-A menu, scale will be applied on the
reconstructed scene and reset camera size to identity.

This is very useful feature for scene orientation, when you'll
just scale camera by S in the viewport to match bundles
some points in the space, and then you'll easiy make camera
have identity scale (which is needed for nice working moblur
and other things mentioning by Sebastian :) without loosing
scale of bundles themselves.

Behavior of apply scale for cameras without clip assigned
to them does not change at all.
2013-05-13 13:37:05 +00:00
Bastien Montagne
127c39b8a4 Fix for [#35224] Transform Orientation - order inconsistency
Fix turned out to remove as much "manual UI" from 3D view header as possible. Mode selector and all transform manipulators/orientations stuff are now RNA-based UI (leaving basically only edit mesh select modes with custom handlers, as they have some quite specific features).

To achieve this, four main modifications were done:
* enum-operator-generated menus are now MENU (i.e. dropdown lists) in headers too.
* All bit-flag enums expanded in ROW buttons now have a handling consistent with e.g. layers, or what we already have for transform manipulators, i.e. clicking select only one element, shift-click to select multiple ones.
* Consequently, the three RNA booleans manipulators flags are merged into a single bit-flag enum (yes, this is also an API change, though I doubt many scripts use it).
* Now the width of enum-based dropdown lists is computed from longest item name in enum, no more from a dummy place holder string (when no label/name is given).

All this allows to remove some code from 3DView/transform areas, that was actually mostly duplicating RNA/operator one.

Also done a few optimizations here and there (among others, do not pass &numitems to RNA_property_enum_items() when you do not need it, saves at least an iteration over enum items to count them).

Many thanks to Brecht for the reviews!
2013-05-12 13:16:11 +00:00
Campbell Barton
6f8c29ab0b fix for 2 errors introduced since release
- shape key NULL pointer dereference.
- use uninitialized variable for bmesh free.

also update credits and merge dissolve flag assignment.
2013-05-09 07:02:51 +00:00
Brecht Van Lommel
a07dcd67eb Fix #35240: command line -t number of threads option did not work for cycles.
Now it works for blender internal, cycles and other multithreading code in
Blender in both background and UI mode.
2013-05-08 13:23:17 +00:00
Sergey Sharybin
a9a0e2d98f Fix #35093: New Basis shape key doesn't act as Basis
Made it so Move Shape Key ensures first key is a refkey,
so now it's possible to change basis key from the interface.

It's still needed to manually teak key's relative_key,
not sure whether there's a reliable automated way to tweak
this value when bassi key is changing.
2013-05-08 13:16:45 +00:00
Campbell Barton
f74201190d code cleanup: remove references to BLI_rand.h 2013-05-08 12:59:35 +00:00
Brecht Van Lommel
62087935ec Fix #35209: cycles generated texture coordinates did not stick to deforming meshes. 2013-05-05 05:56:41 +00:00
Daniel Genrich
396222bd01 Fix [#35173] Object's draw_type resets when removing smoke
New behaviour:
* On creation, smoke modifier only changes the drawtype for domain to WIRE.
* On deletion, smoke modifier does not change the drawtype.
2013-05-02 10:21:39 +00:00
Brecht Van Lommel
c8cf9415de Fix #35149: solidify modifier + vertex parent not working after going in and out
of editmode on the child object.

Problem was that the object custom data mask was not taken into account when
rebuilding the derivedmesh in some cases, which is needed for the derivedmesh
to contain the mapping back to the original vertices. Now this data mask is
used for any derivedmesh build that will be cached.

Also problematic was that the datamask for the active object was applied to
all objects in the scene, which caused the parent object to be recalculated
when it didn't need to be. Now this datamask is only used for the active object.
2013-05-01 14:34:12 +00:00
Campbell Barton
f239d2e751 minor adjustment to vertex color baking, tag the meshes directly, no need to do via the objects. 2013-04-29 00:49:44 +00:00
Campbell Barton
ed68497700 style cleanup 2013-04-25 16:35:57 +00:00