Add cancellation checks for time* transforms that only run in specific spaces.
Hide Transform Mode operator property (it shouldn't be modified after the operator is run), made default mode Translate, not the useless Dummy.
Arrows-move-cursor is back!
It now works for any running modal operator that doesn't handle own
arrow keys. Might need to become more restricted though, some modal
ops don't need it. Want to investigate that still where conflicts are.
Transform started with button in Toolbar was drawing the helper
line badly.
This needed two fixes:
- helper line now has poll() callback to check for correct region
- event system needs to set 'subwinactive' for modal handlers too
The latter might fix issues with cursor/overlay drawing in other
cases?
in dope sheet/ graph editor leads to duplicated keys
The old hack using the transform "undostring" didn't work anymore, as
this wasn't set. Instead, I've added a special mode transform mode for
this that the duplicate operators can set to get this functionality.
- use NULL rather then 0 where possible (makes code & function calls more readable IMHO).
- set static variables and functions (exposed some unused vars/funcs).
- use func(void) rather then func() for definitions.
When using masks or other simple 3D elements in composites, doing
a layer re-rendering on a node is a bit clumsy all the time.
This commit does two things to help:
- new hotkey "Z" in node editor automatically finds render layer
that changed and re-renders it + composites
- option "Auto Render" does same, but then after every transform
edit in 3D window
The latter is experimental; real & proper system for this requires
full threaded render support (like previews). But it works!
Demo file:
http://download.blender.org/demo/test/auto_composite.blend
Important fix:
After any render, all the render layers were tagged "changed", which
caused any edit to first totally recomposte everthing. Now it only
composites changes.
Implementation notes
- DAG scene flush now sets 'changed' flags in render layer nodes
- Added notifier for 'transform finished' to trigger the update,
this is temporarily.
2D Editors using the standard translation transform tool no longer
have their values converted. For instance, it simply didn't make much
sense in such editors to be showing frame numbers/timing in terms of
meters/inches.
also minor functional changes
- OBJECT_OT_make_links_data() type property is now assigned to the operator property (so popup menu can find it)
- removing BG image now returns cancelled if no image is removed.
- Proportional circle size is printed in header
Allows you to find out if you make it smaller when it's large
- Proportional size is clipped with view3d clip-end now
- Added the size to rna, so you can inspect values via UI and py.
Auto-texture space now is more responsive and correct.
- on transforming it, the buttons get redrawn to show option was reset
- on enabling option, texture space is recalculated/reset
Code changes are minimal, re-using the code as already was there.
Options are in pulldown menu, or SHIFT+T and SHIFT+ALT+T
Might be that Martin likes to see it different... do we need
a special operatortype for it?
- made theme colors for mesh edge len & face angle/area display.
- use %g rather then %f for float display, trims unneeded zeros.
- store cached 2d and 3d text color as bytes rather then floats, compare when drawing to avoid setting the context.
- use unsigned char for more color functions, avoids casting to glColorubv().
This would have made bug #25003 very simple to find.
- Objects had their quats normalized when calculating their matrix, this is inconstant with pose bones and isn't useful for animation.
Also it wasn't normalizing the delta rotation so these would give bad rotations.
- Converting between rotation modes BKE_rotMode_change_values() assumed normal length quat. changing quat to euler rotation for eg could change the bone.
- Clear rotation and transform were not normalizing the quat when 4d loc was disabled on quat rotation, corrected and also made it so the quat scale is restored after conversion so animations curves dont jump.
There is 1 case in mat3_to_quat_is_ok() where quat_to_mat3 on an unnormalized quat is needed, for this I had to add an ugly static function quat_to_mat3_no_assert(), but overall its worthwhile IMHO to be able to find incorrect use of rotation conversion.
- pep8 script was giving an error on non utf8 scons source files.
- use PyList_SET_ITEM macro when list type is ensured.
- all mathutils types use subtypes to create new types when available.
- use defines MAT3_UNITY, MAT4_UNITY to initialize unit matrices.
[#24652] Project vertices button showing in object mode and leads to wrong behavior.
Removing soft redraw (code is still there in case we need it eventually) on mouse move, now that events are compressed.
- rotation and bone scaling with Durian feature 'Local Location' would fail to correctly translate the bone
because a different matrix is needed for translation and rotation.
In 2.49, you could adjust the maximum length of Auto-IK Chains by using scrollwheel up/down or page up/down while moving Auto-IK bones. Now this is possible again with those hotkeys, but you need to hold SHIFT to get this to work, otherwise we get a conflict with the hotkeys for proportional edit nowadays.
Was broken when transform tools switched from using hardcoded key mappings to using a modal keymap.
- 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.