Makes adding new flags give ambiguous results and also makes it less easy to tell whats intended.
In some places it looks like OB_RECALC_TIME should be left out too.
only tags the ID and does the actual flush/update delayed, before the next
redraw. For objects the update was already delayed, just flushing wasn't
yet.
This should help performance in python and animation editors, by making
calls to RNA property update quicker. Still need to add calls in a few
places where this was previously avoided due to bad performance.
Fixed old annoyance in Search menu, with a load of object-mode
operators showing up in editmode.
It's much cleaner now, but it will take further work and
investigation to have context & polls work satisfying for all cases.
- object updates were not being flushed, so children weren't updating.
- apply the matrix relative to the parent, added this as an option to object_apply_mat4() which allows assigning the worldspace matrix in python without worrying about the parent.
After discussions with Campbell regarding #24336 and #24309, we've decided to make this property for curves to only get set when an F-Curve explicitly animates it.
As a consequence...
- ALL OLD FILES using follow-path constraints that depended on this changed behaviour will currently need manual patching to add an appropriate F-Curve
- Ctrl-P (Parenting to Curves -> Follow Path option) will now automatically create such F-Curves mimicking the old behaviour so that creating camera-following-path setups still works smoothly.
- Directly adding a Follow Path constraint bypasses this, so you'll need to manually add such F-Curves if you need them.
The main problem with the old approach was that there were many cases in which curve data could get added but the ctime would be incorrect until a frame change (i.e. on render) flushed this.
also added api function ED_area_tag_redraw_regiontype(), so an area can redraw all regions by type.
In this case there is a view3d area listener that needs to draw all WINDOW regions.
- removed deprecated bitmap arg from IMB_allocImBuf (plugins will need updating).
- mostly tagged UNUSED() since some of these functions look like they may need to have the arguments used later.
The error for heat weighting was only being printed in the console, while the problem remains at least a warning is now given that there was a problem calculating the heat weight.
also fixed a memory leak from the mesh octree not being freed after assigning vertex groups. (ModNode error)
This happend because of incorrect order of calculating used layer mask and drawing
header. Added layer content changed notifier to recalc used layers when needed.
This also fixes header redrawing in "Move to layer" operator and when user
changes Object.layers in properties view
- if a group has one or more objects in it, it gets a refcount of 1 on load (unchanged from before)
- dupli-groups, and materials no longer add/remove a reference.
- now groups are only freed when they contain no objects or when manually unlinked.
Modifiers were being mistakenly recalculated at every frame as long as the object had animation, slowing things down due to incorrect depsgraph recalc tags.
Renamed OB_RECALC -> OB_RECALC_ALL to reduce future confusion. During this process, I noticed a few dubious usages of OB_RECALC, so it's best to use this commit as a guide of places to check on. Apart from the place responsible for this bug, I haven't changed any OB_RECALC -> OB_RECALC_OB/DATA in case that introduces more unforseen bugs now, making it more difficult to track the problems later (rename + value change can be confusing to identify the genuine typos).
This is because the make_links_data_exec don't check for the
object type like before, so try to access the obdata of an empty
and blender crash.
The solution is not the best, we have a new function
allow_make_links_data to check if we can links data from one
object to another.
The real solution is build the menu like the 2.4x, so only
show the options that we allow for the object type that
we have select/active.
Matt, any suggestion ?
- link now brings up a search box so when there are 100's of groups its less annoying.
- utility functions for id-enums so only local objects can be displayed in a search list (used for group_link)
- renamed operator properties from typle to scene, group, action etc.
This commit removes the Old Track method (used to be found under Object -> Animation -> Track), with all existing instances of this being converted to Track To Constraints. In fact, while performing this removal, I found that this was supposed to have happened in version 2.27 already, but for some reason the options were left in, and this function managed to survive for a further decade.
I've left the tracking axes around still, since it seems some curve tools still use that. However, that usage should probably get faded out in future too?
Misc notes:
* Fixed compiling error with constaints from harkyman's Maintain Volume patch.
* Subversion of 2.52 now bumped up to .2
C functions and python used different argument order, this relied on mapping non-keyword arguments to 'REQUIRED' arguments but meant that you could not have an optional, non-keyword argument.
next commit will make order of arguments consistant (currently only changed order that rna wrapped).
(commit 27674 by Campbell from render25 branch)
Only source/blender/editors/ dir, should not give errors on different platforms
Only removing: UI_*.h, ED_*.h, WM_*.h, DNA_*.h, IMB_*.h, RNA_*.h, PIL_*.h
--
Bugfix: When autokey is enabled, notifiers to refresh the animation editors *after* transforms finished for objects were missing.
While I understand the need to limit these to not doing this during transform, after transform, this lead to lag/inconsistent UI problems.
--
* Added 'Damped Track' Option to 'Make Track' Operator
* Improved the code of the 'Clear Track' operator to include other types of tracking constraint too
Bugfix #21255: Clear track operator did not remove TrackTo constraints too. This could still be made to do Locked Track and other tracking constraints later too, but for now this will do.
I've removed editmesh altogether (other then scanfill, which is
seperate code that happens to reuse the editmesh structures).
The compatibility layer I had written for old editmesh tools
was more trouble then it was worth, though it did help in the
early stages of this project.
There's a fair amount of breakage, and there's bunches of tools
(mostly minor ones) I need to port over still. Biggest ones are
join triangles and loop to region, and spin/screw.
This probably isn't really testable, I'll hopefully have more
work done on this soon, but might not be before next week.
This is set on keymap item operator properties and macro definition operator properties to make them non-contextual (since the context at definition time is most likely not the same then at execution time, it's better to have all options visible).
This removes some more errors in keymap export and import.
This commit also sanitize some enum item function, making sure they can cope with null context and have usable defaults in that case.