Age | Commit message (Collapse) | Author |
|
This is needed for the new granular depsgraph, otherwise graph is not
containing all the operations needed for proper update.
And the same is actually needed onwhen removing shape key.
|
|
Python had no ability to remove shape keys
Original D1169 from @lichtwerk, with edits
|
|
|
|
Noticeable when pin is enabled.
|
|
|
|
This patch would reassign the relative of all keyblocks to the relative
of the deleted keyblock. And it fixes the misalignement of the index values
after the keyblock is deleted.
Reviewers: campbellbarton
Differential Revision: https://developer.blender.org/D1176
|
|
This is an old option which wasn't working in over a year without complaint.
|
|
We are handling a keyblock here, not a whole key(set). Names are alreay a bit confusing,
let's be consistent at least.
|
|
|
|
position.
Main moving logic is moved to new `BKE_keyblock_move()`, which makes it available from anywhere.
In addition, move code was reworked so that it only loops once on whole keyblocks list,
and it accepts arbitrary org and dest indices, not only neighbor ones.
Partly based on work by revzin (Grigory Revzin) in his soc-2014-shapekey GSoC branch, thanks!
|
|
|
|
(as Vertex Group).
Was more a feature request actually, but anyway...
Note this is a bit more complex than it's vgroups counterpart, since we have to handle
relations between keys (relative keys, and position for absolute ones).
|
|
start out with frame=0
So! First, frame for absolute shape keys: never allow a new key to have the same pos as an
existing one (this does not make sense). This way, the two workflows are possible (create
all keys and then animate ctime, or animate ctime and then create keys where you need them).
Also, fixed UIList for shapekeys, the "absolute" test was wrong, and better to show frame
value, even though not editable, than nothing in case of absolute keys.
And finally, add getter to RNA 'frame' readonly value, so that we output real frame values,
and not dummy internal ones (which are /100) in our API.
|
|
|
|
|
|
Previously this only worked for some datablocks relevant to rendering, now it
can be used to detect if any type of datablock was added or removed (but not
yet to detect if it was modified, we need many more depsgraph tags for that).
Most of the changes are some function parameter changes, the important parts
are the DAG_id_type_tag calls.
Reviewed By: sergey, brecht
Differential Revision: https://developer.blender.org/D195
|
|
rename change/is_change/is_changed/modified -> changed
also use bools over int/short/char and once accidental float.
|
|
This disables the "-" button when no shape keys exist on the currently selected object. Thanks to Campbell for the help on my first real commit!
|
|
this was confusing as there was no setting visible for it. Now these menus
contain an entry to mirror without and with topology mirror.
|
|
from an index.
- BKE_lattice_index_from_uvw()
- BKE_lattice_index_to_uvw()
|
|
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.
|
|
- 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.
|
|
remove MEM_sys_types.h which was a duplicate.
|
|
- shape key NULL pointer dereference.
- use uninitialized variable for bmesh free.
also update credits and merge dissolve flag assignment.
|
|
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.
|
|
|
|
|
|
|
|
|
|
with ';' like normal function.
... without this some editors dont parse the source so well.
|
|
About 30 undocumented ops remaining...
|
|
|
|
- Make sure functions are named in way BKE_<object>_<action> (same way as RNA callbacks)
- Make functions which are used by mball.c only static and remove their prototypes
from public header file.
Further cleanup is coming.
|
|
|
|
|
|
|
|
do so.
|
|
(which is odd since its the only time they are used).
also re-sort the shape keys after adding them in for absolute keyblocks.
|
|
become out of order)
|
|
|
|
else if's
|
|
|
|
|
|
|
|
CTX_data_pointer_get_type(C, "object", &RNA_Object).data
with api call:
ED_object_context(C)
... since getting the context object is such a common operation.
|
|
http://markmail.org/message/fp7ozcywxum3ar7n
|
|
Plus a few cuts in very long lines…
|
|
|
|
|
|
|