Commit Graph

191 Commits

Author SHA1 Message Date
Campbell Barton
48614fbc2a Added an assert() check for normalized quats which exposed a number of bugs where normalized quat was incorrectly assumed.
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.
2010-12-07 01:56:32 +00:00
Campbell Barton
263830f000 Enabled GCC -Wwrite-strings warning for CMake and replaced many 'char's for 'const char's,.
Only one functional change where Transform orientations passed "" to BIF_createTransformOrientation() which could then have the value written into.
2010-12-03 17:05:21 +00:00
Campbell Barton
cd97253502 - added GCC warning -Wstrict-prototypes
- fixed bug in paste material, exposed by stricter warnings.
- removed/renamed various shadowed vars.
- removed BGE lamp.colour, only allow lamp.color attribute.
2010-12-03 12:30:59 +00:00
Campbell Barton
79d9023f55 bugfix [#24974] "select all" in weight paint -> face selection mode selects all bones instead of all faces
face mask mode overrides pose mode keys. also removed function call from transform code.
2010-11-30 05:15:58 +00:00
Campbell Barton
34ea1cf0b2 minor changes to the python api.
- 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.
2010-11-28 06:03:30 +00:00
Martin Poirier
01c6b6f1e9 [#22854] Objects lag behind mouse pointer when transformed (translated)
[#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.
2010-11-21 18:31:00 +00:00
Martin Poirier
ac2e77cac5 [#24827] Crash when auto-keyframing while playing animation
Reported by André Oliveira

Need to pass valid context to autokeying callback function.
2010-11-20 21:43:16 +00:00
Martin Poirier
6eaf0ac8be Cancel edge slide on invalid selection.
Patch by Shane Ambler
2010-11-20 18:46:36 +00:00
Campbell Barton
96952b83fa patch from Shane Ambler, free memory when failing to create slide verts. 2010-11-19 17:29:51 +00:00
Campbell Barton
b1b02b7a5e bugfix [#24509] UV/Image Editor: selected elements move not as specified 2010-11-16 17:37:26 +00:00
Martin Poirier
43e6ccd57b Move rotOrder to proper transform data structure 2010-11-14 19:19:58 +00:00
Campbell Barton
de8e066a1c bugfix [#24505] Python command bpy.ops.transform.rotate(...) does not follow axis=(...) attribute
the axis was being constantly re-initialized from the view.
2010-11-03 04:38:07 +00:00
Campbell Barton
369a5cc29e fix for compiling with the c90 standard, support for non-static variable initializers is a c99 feature. 2010-11-02 13:12:30 +00:00
Thomas Dinges
ca3ade6ac4 Patch [#24497] Fix for [#24484] Right Ctrl for snapping by Alexander Kuznetsov. Thank you!
This fixes [#24484] Right Hand Ctrl key none functional for snapping?
2010-11-02 09:04:57 +00:00
Campbell Barton
3367ef8b65 initialize structs to zero rather then using memset(). 2010-10-31 15:39:37 +00:00
Campbell Barton
1424a171a4 bugfix [#21097] Rotating multiple bones with non-local location behaves incorrectly.
- 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.
2010-10-24 06:16:44 +00:00
Campbell Barton
59d1740671 bugfix [#24331] EdgeSlide not as flawless as 2.49's
ensure minimum mouse distance for sliding edge verts else it becomes unusable.
2010-10-21 13:33:51 +00:00
Campbell Barton
5738f3b0b4 bugfix [#24322] Rotating objects with Axis+Angle mode fails. 2010-10-19 10:32:02 +00:00
Joshua Leung
013ffe9041 Bugfix #24296: AutoIK interactive chain length adjustment feature is missing
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.
2010-10-17 11:20:12 +00:00
Campbell Barton
8268a4be71 most unused arg warnings corrected.
- 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.
2010-10-16 14:32:17 +00:00
Campbell Barton
568cb06616 rename Command key to OSKey, Window manager already called it the OSKey but internally it was mixed. 2010-10-05 19:10:15 +00:00
Campbell Barton
30bd26d435 [#24028] Minor fixes to BLI_math_vector
+ minor warning fixes.
2010-09-28 11:48:13 +00:00
Campbell Barton
aa7db99a38 bugfix [#23832] Moving a pose bone doesnt update the transform button props realtime. 2010-09-22 14:34:02 +00:00
Janne Karhu
22317d7a29 Fix for [#23818] Edge slide not resetting properly when displaying edge lengths
* Temp selections weren't cleared on ending edge slide.
2010-09-21 15:16:58 +00:00
Brecht Van Lommel
155c2d1212 Fix #23181: crash in bone roll with project snapping enabled. 2010-08-25 09:30:52 +00:00
Campbell Barton
f32a35fd9d apply rna naming for ToolSettings 2010-08-18 03:24:52 +00:00
Campbell Barton
3e58edda3a remove unused includes 2010-08-08 13:03:07 +00:00
Campbell Barton
0c659da03b bugfix [#23158] Translate operator leaks memory if nothing selected 2010-08-03 22:36:59 +00:00
Martin Poirier
327b4d588b Separate proportional edit setting between edit and object mode. They are now used and toggled independently. 2010-07-31 19:26:21 +00:00
Campbell Barton
cc673669c7 use more BLI math funcs (no functional changes) 2010-07-31 10:58:10 +00:00
Brecht Van Lommel
44160c9747 Fix #20196: division by zero in edge slide with two overlapping loops. 2010-07-21 15:22:11 +00:00
Matt Ebb
a52632182c [#22682] some missing keymaps
Added proportional influence up/down to transform modal keymap.

Also fixed a crash in restoring to previous key map item after edits.
2010-06-27 23:57:58 +00:00
Matt Ebb
bfd0810beb Notifier cleanup - replaced ND_*_EDIT and ND_*_SELECT data notifiers
with the generic action equivalents (NA_EDITED and new NA_SELECTED)
2010-06-18 04:39:32 +00:00
Joshua Leung
ef840868a3 Durian request: Attempted fix for rotations not taking non-uniform scaling of Graph Editor views into account.
With this fix, handles do not appear to rotate as violently as before, though this correction may still be too subtle to be noticed by many users.
2010-05-15 02:40:44 +00:00
Joshua Leung
1613829e8e Minor formatting tweaks (killing some "caterpillar if's"... yuck those things are nasty to edit/extend) 2010-05-07 10:59:48 +00:00
Campbell Barton
389e590460 ghash alloc string from render branch
svn merge https://svn.blender.org/svnroot/bf-blender/branches/render25 -r28571:28573
 svn merge https://svn.blender.org/svnroot/bf-blender/branches/render25 -r28575:28576
2010-05-07 07:54:25 +00:00
Joseph Eagar
9610515b22 keyframe transform, both through dopesheet/action editor and graph editor, works a bit better with handles. handles now follow keyframes properly in frame snap mode, in situations where they would move (but the keyframe would not) in undesirable ways before. also hopefully fixed vector scope crash in image editor. and disabled snapping to seconds (ever); this can be a seperate option, silently switching to second snapping in frame snapping mode is absolutely evil. also, the action editor draws in hundredth of seconds, not seconds, so it didn't even work. Aligorith: I hope this code is ok, if not feel free to rewrite it. 2010-05-06 19:54:43 +00:00
Campbell Barton
39c0e690d3 sub_v3_v3v3 --> sub_v3_v3 (where possible) 2010-04-23 23:57:00 +00:00
Campbell Barton
fba7ebcbea replace add_v3_v3v3() --> add_v3_v3() where possible 2010-04-21 12:27:48 +00:00
Brecht Van Lommel
1dce678c2b Fix problem with limit rotation constraints during transform. This code
would convert from quat to matrix and back if the bone had any constraint,
but did not normalize the quat first as done in other places, giving a
sudden jump when starting transform on some bones with constraints. Two
changes:

* Normalize quaternion first.
* Only do this conversion on bones with limit rotation constraints,
  instead of all bones with any constraint.
2010-04-19 09:38:36 +00:00
Campbell Barton
8f1500da00 remove config.h references, was added for automake build system rev around 124-126 but isnt used by any build systems now. 2010-04-18 10:28:37 +00:00
Martin Poirier
584dbcc2fc [#21993] Edge Slide operator should disable projection snapping
Adding proper flag.

If there are others like that, other people can fix them too, it's easy peasy.
2010-04-12 22:42:09 +00:00
Martin Poirier
824be96dc0 More work on Drag Immediate:
- Rename option and flag to something more sane
- Add property to manipulator operator and set true by default

Confirm on Release can now be forced true or false per operator, in which case it won't use the default value (the user preference).
2010-04-03 17:38:43 +00:00
Martin Poirier
5a805c5fc3 [#21840] When clicking to move a Node it sticks to the mouse
Add hidden property to be able to force confirm on release (drag immediately is a silly name) on or off.

Streamline method for adding common properties to transform operators.
2010-04-02 19:40:51 +00:00
Martin Poirier
d010dae91b [#21767] Project Vert. on the Surf. of Other Obj. enabled causes crash when trying to Crease some edges
Don't want to project for Crease (and others).
2010-03-28 13:59:33 +00:00
Campbell Barton
f743b583bf more lint includes
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
2010-03-23 14:09:09 +00:00
Campbell Barton
1e9bf0cfdb spaces -> tabs, (4 spaces == 1 tab, only for white space preceding text) 2010-03-22 09:30:00 +00:00
Martin Poirier
5e7b1bde8d Hack to make people stop bugging me.
Working around a problem in a work around for holes in the operator API and event system.
2010-03-19 03:26:31 +00:00
Brecht Van Lommel
ae6ee27d37 Fix #21619 and #21613: edge loop delete crashes, after recent transform
manipulator ctrl+click increment fix.
2010-03-15 20:22:05 +00:00
Martin Poirier
cbe776655a transform: Ctrl-Click on manipulators uses increments correctly. 2010-03-14 19:38:36 +00:00