Commit Graph

225 Commits

Author SHA1 Message Date
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
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
26249043e6 bugfix [#24324] Wrong center for scaling Bezier Curve's handles
slight change to how transform calculates the center of each bezier handle selection.
- selecting both handles but not the knot now uses the mid point between the 2, before it used the handle.
- selecting 1 handle of a curve was still setting td->center to be the knot, now use the handles location only if its selected.
2010-10-19 14:11:46 +00:00
03d4121a55 Cancelling rotation on axis/angle object rotation didnt restore the original rotation.
also commented drotAxis/Angle since its not used yet.
2010-10-19 11:15:08 +00:00
9650667b3d [#21475] Moving a Transform strip upwards moves its animation sidewards
* F-Curve translation is now calculated from the difference of the strips original & resulting start time, instead of using the transform data directly.
2010-10-18 10:52:57 +00:00
6f1783470e Partial fix for #22409: Locked axis + auto IK = bad
The "root" bone in an Auto-IK chain was never added properly if it didn't have a parent that it was connected to. This meant that if it had axis-locking (using transform locks), these would not get converted to temporary IK-locks. This also affects 2.49

The second part of the bug report though, is something more ingrained in the IK-solver internals (numeric error, which means that even locked axes aren't exactly untouched).
2010-10-17 10:46:06 +00:00
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
d3fcc2d0b4 bugfix [#24256] Wrong bone subdivision number in tweak panel.
there were 3 operators for armature subdivision, now only have 1 (as with mesh).
+ remove unused warnigns.
2010-10-15 03:24:47 +00:00
fbf208d63f add UNUSED() to modifiers, also removed some unused args. 2010-10-14 06:29:17 +00:00
bf4075236f bugfix [#23412] Weightpaint and rotate around bones
fixed by allowing an unselected armature to have its pose bones used in weightpaint mode.
2010-10-10 23:11:34 +00:00
4a8c1e3a22 Fix for [#22289] Cancelling transform fails to revert change in f-curve handle type 2010-09-24 09:54:28 +00:00
df71f8828c Fix for [#22323] Graph Editor: crashe when transforming keys after pivot is set to "Individual Centers" 2010-09-24 09:18:28 +00:00
3921f0528c Fix for [#22662] Transforming handles in the graph editor is broken. 2010-09-23 23:45:14 +00:00
3f18d7bb9b bugfix [#23927] Crash proportional editing: connected
crash when using too much stack memory, each recursive call for the sorting function would allocate 200 bytes in TransData per call (64bit os), now pass this as an argument.
2010-09-21 12:27:09 +00:00
2462d4976b possible fix [#23331] Hidden Bones Contribute to Axis Normal
cant redo this bug but noticed a number of places where bone selection/hidden state isn't being set properly.
2010-08-22 10:52:30 +00:00
d1759639dc - remove unused includes IMB_*, BIF_* & MEM_*
- remove MEM_guardedalloc.h from header files (include directly)
2010-08-16 05:46:10 +00:00
4959f424b8 [#22831] transform problem with hidden parent object
Partial fix. It now checks if selected parents are modifiable (due to the look up for base, this could get slow, but no other good way to do it).
2010-08-14 17:11:10 +00:00
c0e39df6ac - Enable shape key switching in edit mode for curves, surfaces and latticies
- Disable changing of lattice size if there are shape keys
2010-08-10 06:36:42 +00:00
15669532a2 header re-shuffle, some headers contained unneeded refereces to other headers, better include inline with the C files that need them 2010-08-10 05:41:51 +00:00
3e58edda3a remove unused includes 2010-08-08 13:03:07 +00:00
708ef64663 include cleanup, no functional changes
- removed DNA_brush_types.h from DNA_scene_types.h (and some other similar cases)
- removed DNA_wave_types.h (never used)
- removed Main.wave
2010-08-04 04:01:27 +00:00
5fa7d1c1b4 2.5: code changes to reduce the usage of G.main and pass it along
or get it from the context instead.
2010-08-01 12:47:49 +00:00
c32720a0c0 bugfix [#23055] transforms with proportional fall off affect hidden vertices in certain situations
faces were not being checked if they were hidden before adding their internal edges for connected proportional editing.
2010-07-28 05:47:46 +00:00
982615ff1b bugfix [#22985] dope sheet crashes Blender 2.5 Beta 2010-07-26 19:48:35 +00:00
cc0f3146e7 Shapekeys for curves/surfeces
Fix #21498: Edit curve Shape key /252_r 27318

Added full support of shape keys for curves and nurbs surfaces including
topology changing in edit mode, undo stuff, updating relative keys when
working under basis and so on.
2010-07-25 11:57:36 +00:00
fd31436897 spelling correction: alredy --> already 2010-07-17 18:08:14 +00:00
faf1c9a4bb Bugfix #22685: Screen update slow, animation player ALT-A, files created with 2.4x
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).
2010-07-05 03:55:28 +00:00
8c031f22b9 fix for fcurve doubles not being removed when moving more then one selected points in the graph editor.
The bug could be redone with 3 points, 2 selected dragged onto the unselected.

looping backwards fixes this.
2010-06-17 19:33:27 +00:00
391c5fba71 Motion Paths: Experimental optimisations from joeedh for speeding up the calculation process
This works by tricking the depsgraph into giving us a smaller list of objects to evaluate, with all the necessary objects + their dependencies at the start of the list. 

On any complicated setup where non-object parameters need to be referred to (i.e. by drivers) to affect an object's transform, these optimisations will fail and the old (slower) method is still the best way (modify the ifdef and comment out the optimise depsgraph call to do so). However, we'll assume that these aren't too common in real productions, so things should be fine with these fixes. If there really is a need for both, then global options to control these things could follow.
2010-05-21 12:17:34 +00:00
21bc4114df Tweak to previous commit - the corrections shouldn't be done for translations, since that causes too many problems. 2010-05-15 03:55:34 +00:00
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
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
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
8bf6e2d09c Auto Keyframing:
Made 'PoseLib', 'Pose Paste', and 'Transforms' use the active KeyingSet instead of a hardcoded one if there is an active KeyingSet and the 'Only Insert for Keying Set' option is enabled in the User Prefs.

Also, made sure that for transforms, the active KeyingSet is provided with the data being modified instead of having them retrieve this from the context (which may miss a few items).

---

While making the changes for pose paste, made pasting poses not destroy the existing properties on the bones if the buffer bones didn't have any properties to replace the old ones with. IMO, this seems a bit too destructive if they don't get replaced, but perhaps in some cases not removing causes some problems with bad poses?
2010-04-07 11:27:59 +00:00
515592438f Baking for dupligroup & linked library objects
- library data allows pointcache writing (hard to know how this should work long term so ifdef'd for now)
- changing the frame now updates the dupligroup objects
- BKE_ptcache_ids_from_object(), option to get the id's from duplis

note! scene_update_tagged() is called from the main() loop, and runs BKE_ptcache_quick_cache_all(), this could become a performance issue, especially with duplis, should probably not call BKE_ptcache_quick_cache_all() all the time, even when not playing back animation.
(commits 27856 by Campbell from render25 branch)
2010-03-30 12:23:13 +00:00
386e97f73a Purging compiler warnings 2010-03-26 03:10:58 +00:00
3c872daa59 4 Devs in Agreement - End of the Road for Old Track
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
2010-03-26 02:57:49 +00:00
7a56ca7d6f Bugfix #21739: Extend in the NLA crashes (Ekey) 2010-03-26 00:25:14 +00:00
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
1e9bf0cfdb spaces -> tabs, (4 spaces == 1 tab, only for white space preceding text) 2010-03-22 09:30:00 +00:00
abb7a25426 transform marker sync for extend and grab is back.
(commit 27537 by Campbell from render25 branch)
2010-03-16 18:01:22 +00:00
ea4a987fd4 == Massive Keying Sets Recode ==
After a few days of wrong turns and learning the finer points of RNA-type-subclassing the hard way, this commit finally presents a refactored version of the Keying Sets system (now version 2) based on some requirements from Cessen.

For a more thorough discussion of this commit, see 
http://sites.google.com/site/aligorith/keyingsets_2.pdf?attredirects=0&d=1

------

The main highlight of this refactor is that relative Keying Sets have now been recoded so that Python callbacks are run to generate the Keying Set's list of paths everytime the Keying Set is used (to insert or delete keyframes), allowing complex heuristics to be used to determine whether a property gets keyframed based on the current context. These checks may include checking on selection status of related entities, or transform locks.

Built-In KeyingSets have also been recoded, and moved from C and out into Python. These are now coded as Relative Keying Sets, and can to some extent serve as basis for adding new relative Keying Sets. However, these have mostly been coded in a slightly 'modular' way which may be confusing for those not so familiar with Python in general. A usable template will be added soon for more general usage.

Keyframing settings (i.e. 'visual', 'needed') can now be specified on a per-path basis now, which is especially useful for Absolute Keying Sets, where control over this is often beneficial.

Most of the places where Auto-Keyframing is performed have been tidied up for consistency. I'm sure quite a few issues still exist there, but these I'll clean up over the next few days.
2010-03-16 06:18:49 +00:00
6028470a9c Motion Paths + Auto-Keying:
Revised the conditions under which motion paths get recalculated after transforms (when auto-keying is enabled). Now, the type of path display does not matter, but rather that the object/bone in question has any paths at all. This makes animating with these a much smoother experience.
2010-03-11 11:15:25 +00:00
6a4b39ed2c Bugfix #21508: Hidden bones remain "selected" and are affected by transforms
Made hidden bones get ignored by transform code. This should be quite an old bug...
2010-03-09 08:31:41 +00:00
3b105657d5 option to transform markers in the dope sheet, needed for re-timing animation. currently supports translate and extend.
TODO:
- select markers in dope sheet.
- transform time scale.
2010-03-08 09:06:58 +00:00
ca7b6e2cd0 fix for more crashes with baked fcurves 2010-03-03 13:20:18 +00:00
be44ac7490 * Renaming some Keying Sets API functions to make the terminology more consistent in the UI
* Fixed bug with hotkeys for adding properties to Keying Sets using the KKEY over the relevant buttons. Was calling the remove callback instead.
2010-02-27 02:03:33 +00:00
de574490d2 [#21338] B-Bone display size crash [27127]
EditBones pretending to be pose bone when doing bone resize need a valid object pointer.

Tsk, who thought this was a good idea...
2010-02-26 02:33:04 +00:00
ddc0c68a5c Bugfix #21234: Autokey "insert only available" userpref inserts keys for all bones in an armature
-- 

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
2010-02-21 11:42:32 +00:00
cff0110d08 experemental code got mixed up in a patch. removing. 2010-02-18 09:32:24 +00:00