Age | Commit message (Collapse) | Author |
|
|
|
Support drag&drop objects to groups in the outliner.
D989 by @lichtwerk
|
|
Titles says everything, just two notes:
* We have to actually transfer plain *normals*, not 'compressed' clnors,
so had to add pre/post process to transfer to make the conversions.
* Also added interpolation and advanced copy/mixing to CD_NORMAL, for same reasons.
|
|
When adding a hook to an existing selected object/bone,
Use the location for the hook (instead of the selected vertices).
|
|
|
|
properties.
For now, did most of the changes in menu entries (i.e. py space UI scripts).
Note we do not get 100% same results as previously, but current situation is
globally better than previous one, though the whole system to retrieve shortcuts
remains a bit weak...
|
|
Use generic function for consistent behavior
D949 by @lordloki
|
|
Makes usage of those funcs much more clear, we even had mixed '!strcmp(foo, bar)'
and 'strcmp(foo, bar) == 0' in several places...
|
|
use bools for return values and some api naming consistency.
|
|
Conflicts:
source/blender/blenkernel/intern/particle.c
|
|
Mesh stores its dvert in a specific pointer too, in addition of regular CD layer...
That whole vgroup handling is really breaking apart the 'universality' of CD system. :(
Also added some DAG and WM updates in operators...
|
|
UVSeam, Freestyle marks, etc.
|
|
|
|
same file names with ED_object's one.
|
|
|
|
We can now use 'generic' data transfer instead.
Note new one is not an exact replacement, it should be able to do
everyting old op could do though, and more.
|
|
selected objects to active).
Needed to replace weight transfer modifier in WeightPaint mode...
Note this is not exposed to users in UI, shall remain technical intern
parameter imho. Esp. since behavior when several sources is a bit 'random'
(merely uses each source in selection order...).
Also, this correct a bug, where 'lib' linked objects/meshes could not be used
as source...
|
|
|
|
Not much to add, modifier uses same code as operator basically, only key difference
is that modifier will never create data layers itself, you have to use dedicated operator
for that.
|
|
This add code needed to map a CD data layout from source mesh towards destination one,
and code needed to actually transfer data, using BKE's mesh remap generated data.
This allows to transfer most CD layers (vgroups, vcols, uvs...) as well as fake, boolean ones
(like smooth/sharp edges/faces, etc.). Some types are not yet transferable, mainly
shape keys, this is known TODO.
Data transfer can also use some advanced mixing in some cases (mostly, vgroups and vcols).
Notes:
* New transfer operators transfer data from active object towards selected ones.
* Modifier will be committed separately.
* Old weight transfer code (for vgroups) is kept for now, mostly because it is the only
usable one in weightpaint mode (it transfers from selected object to active one,
this is not sensible in Object mode, but needed in WeightPaint one). This will be addressed soon.
Again, heavily reviewed and enhanced by Campbell, thanks!
|
|
This is an old option which wasn't working in over a year without complaint.
|
|
|
|
|
|
event->mval.
Calculating from event->x/y like object drag/drop does works. Also fixed
a missing notifier of the object instancing operator.
|
|
also some typo's
|
|
Regression since the dupli-object refactor.
|
|
* Same issue as T42760 was also reproducible in some cases in 3DView.
* You got an error message about missing RNA prop in some drop-called operators.
* You could not drop a movie file in nodes, (some cases of) 3DView, nor ImageEditor.
|
|
|
|
|
|
also don't make library paths relative on image load.
|
|
|
|
BKE_object_deform.
Along with some minor cleanup and simplifications.
Reviewers: campbellbarton
Subscribers: sergey
Differential Revision: https://developer.blender.org/D903
|
|
It was doing exactly the same thing as `BKE_object_is_in_editmode_vgroup()`, tsst...
|
|
|
|
We are handling a keyblock here, not a whole key(set). Names are alreay a bit confusing,
let's be consistent at least.
|
|
|
|
Those ops actually replace vgroups in destination, tooltips were really misleading.
Issue raised by zanqdo (Daniel Salazar), thanks.
|
|
Make the UI API more consistent and reduce confusion with some naming.
mainly:
- API function calls
- enum values
some internal static functions have been left for now
|
|
|
|
and pose for depsgraph.
Otherwise the update order can be incorrect until the next sort is
executed.
|
|
using negate_mat3_m4 instead of negate_m4.
This avoids changing the behavior and only flips the 3x3 part of the
matrix.
|
|
Cycles bake used incorrectly.
|
|
Operators that trigger UI events (but nothing else)
were using 'CANCELLED' making it impossible to tell if an invoke
function failed, or opened a menu.
|
|
own error, lattice assumes rest state is unscaled data,
scaling needs to be done in object mode.
|
|
|
|
Curve parent requires valid path to exist for curve. If the path is disabled in
the curve settings, displist evaluation will check the dependency graph whether
the path is needed for parenting.
The issue was that changing relations in the scene chagned need of the curve path
but nothing tagged the curve to update it's path.
For now use direct call of DAG_id_tag_update from set_parent(). In the bright
future we might detect such a need in flush automatically in the depsgraph.
|
|
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!
|
|
|
|
|
|
* int -> bool where possible
* Use const where possible
* Get rid of magic numbers
* Add/tweak a few UI tips
* A few other misc changes.
|