Commit Graph

177 Commits

Author SHA1 Message Date
67ff197cb1 Merge with trunk/2.5 at r25563
Most likely will not compile for others, I'd appreciate any build errors
and missing files reports (I can never seem to get everything committed
and all the build systems working without help).

Porting over the sculpt/multires tools was a breeze,
thanks goes to brecht for a design that didn't exclude
ngons and was easy to port.

Note that I've not tested externally-backed multires
file support yet.  Also, I still need to write version
patch code for some cases.

Some notes:

* Like trunk, topological changes don't update multires right,
  so e.g. subdivide will duplicate multires data on the new faces,
  instead of subdividing it.
* If you set the debug value (ctrl-alt-d) to 1 it'll turn on
  my experiments in speeding up sculpting on higher-res multires
  meshes (but note it makes partial redraw not completely accurate).
* There's a bug where you have to go through editmode to get out
  of sculpt mode, not sure if I inherited or created this myself.
2010-01-05 22:33:41 +00:00
1f8cd19d4b removing sequence strip overlap didnt adjust the animation key time
single images were not having their animation data transformed correctly
made sequence strip opacity 0-1 rather then 0-100 in RNA
2009-12-21 16:57:39 +00:00
509c2e9614 Bugfix: [#20403] transform manipulation widgets with normal coordinates
Disable manipulator drawing during transform
2009-12-17 17:50:55 +00:00
8aa8efb327 * rna attributes for sequence strips - seq.start_frame_final & seq.end_frame_final
these expose the final start and end after offsets are applied. when set this is like grabbing the handle and moving it.
* made swapping strips shuffle effects and check for overlap.
2009-12-15 11:27:46 +00:00
b1a39375e5 Keyframing Bugfixes and Feature Requests:
* Added a User-Pref option for the "XYZ to RGB" colour-mode setting for new F-Curves to compliment the one used for Keying Sets. With this option enabled, the builtin Keying Sets also can obey this option.

* Made all places that were previously manually checking the flags for keyframing to use a standard API function to do this now.

* Fixed bug introduced earlier today in commit 25353 by reverting the changes to keyingsets.c. Forgot that delete_keyframe doesn't handle do the "entire array" hack with array_index = -1

* Fixed bug with the insert-keyframe code for the array_index = -1 case, where too many channels were being keyed (i.e. an imaginary channel was often keyed in addition to the valid ones)
2009-12-14 12:09:20 +00:00
2c3eb59f0f A few KeyingSet + Transform Tweaks:
Autokeying for transform functions now gets context-info, allowing for bone paths to be recalculated. 

However, the main purpose of this is to allow KeyingSets to eventually have poll functions.
2009-12-14 03:20:17 +00:00
abe8c09b8a * renamed BKE_sequence.h and sequence.c --> sequencer
* renamed util.c --> path_util.c since there are more then 1 of these files which makes setting breakpoints annoying.
2009-12-13 14:56:45 +00:00
00b8e65f0a very very bad hack to have sequencer strips fcurve data transform with them.
ifdef'd so its not kept in by accident.
Committing because without this animating with the sequencer isnt really usable and am not interensted in having many patches applied on artists systems.
2009-12-09 16:46:41 +00:00
2ef0ee76a0 Fix for [#20249] duplicating a mesh in edit mode with a lattice modifier
Removed lattice and curve modifiers from being correctable for crazy space - it didn't work and was giving weird results.
2009-12-09 01:53:04 +00:00
7f580d0734 transforming metastrips didnt move effects within them & remove warning 2009-12-08 19:27:19 +00:00
ba0981031a Assorted warning and comment fixes 2009-12-06 09:37:31 +00:00
42970d81fc Bugfix #20190: Scaling Bone Joints in envelope drawmode
Made scaling selected joints using SKEY work in the same way as in 2.4x 

However, it'd probably be nice to be able to have separate hotkeys for this at a later stage.
2009-12-03 10:18:47 +00:00
d86a27f7b6 Bugfix: crash when no active object
Misc fixes.
2009-12-02 00:53:33 +00:00
abd16aac5a ok, apparently didn't commit this either. apparently includes a merge with trunk/2.5 at r24811 I thought I'd committed but did not, yeek. 2009-11-29 00:53:23 +00:00
2b121e6599 Pose Bone Local Location: now also works for non-connected bones with parents. 2009-11-25 18:48:29 +00:00
b129ccf000 Pose Bone "Local Location" option. This is enabled by default, disabling it
puts the bone location in pose space rather than local bone space.
2009-11-25 14:59:02 +00:00
0e165c55bb did math lib conversion, equivilent to merge with trunk/2.5 at r24464 2009-11-23 14:41:22 +00:00
99f8809b1a auto IK constraint was added twice, creating a circular list (HANG!) 2009-11-17 15:51:28 +00:00
53250f85db object.constraints.add()/remove()/active, same for PoseChannel
modified internal api for minimal rna wrapper functions.

TODO
- missing updates for pose channels
- typecheck for pose/object constraints
2009-11-11 19:58:30 +00:00
37e4a311b0 Math Lib
* Convert all code to use new functions.
* Branch maintainers may want to skip this commit, and run this
  conversion script instead, if they use a lot of math functions
  in new code:
  http://www.pasteall.org/9052/python
2009-11-10 20:43:45 +00:00
2ead17843c merge with trunk/2.5 at r24378 2009-11-07 23:10:18 +00:00
bd88c3e944 moving nodes would crash because it ran object update functions 2009-11-02 16:55:06 +00:00
39021ac4ea after transform update didn't run because of stupid typo 2009-11-01 20:09:03 +00:00
69feedf139 Object PET works with autokey.
Reordering some function calls in transform cleanup to make it simpler (that means other fixes are possible too, sequencer probably don't need it's own freeing function anymore).
2009-11-01 02:52:38 +00:00
2d0d4e7de4 commit before doing some hefty shapekey change, will break compilation 2009-11-01 00:06:53 +00:00
d5921a274f Proportional edit for object mode.
Limitations:

1) Parents and children of selected objects are excluded from the pool (siblings are ok) Making it work with that would required unparenting and reparenting after transform, that would turn nasty really quick.

2) Does not support Connected (this could be done through parent links, but see 3 first).

3) Parent relationships in affected objects aren't taken into account. When parent and children in the area of effect, remember that the children will also take the motion of the parents (with additive results). This could perhaps be fixed, but it could be nasty.


Other stuff:
New BASE_EDITABLE macro that checks if base is editable (like TESTBASELIB except it doesn't check for selection)
Add scene parameter to TESTBASELIB_BGMODE macro (using it from current scope is nasty)
2009-10-30 17:48:50 +00:00
49d7a2c51a Fixes for AutoKeying + File Loading Prints:
* AutoKeying was broken after the fix to get automerge working again in 3D view. The 3D-View check was swallowing the processing before autokeying could be done. Separated these out again.

* The error print when some external data couldn't be found for objects was missing a newline.
2009-10-27 23:21:26 +00:00
3266e10456 Proper cast to silence warning and comment to explain WTH is happening here. 2009-10-27 18:50:26 +00:00
e76ce369bb Compiler warning fixes for mingw:
* There's an unresolved error in transform_conversions.c which I've flagged in this commit. I'm not quite sure what the exact intentions of that code were (i.e. was the "void_pointer = 1" really intended)
2009-10-27 09:38:15 +00:00
1c1659eb28 - Right click menu can open links directly to API reference docs (rna and operators)
- Generated and uploaded api docs - http://www.blender.org/documentation/250PythonDoc
- Added Edit docs menu item & operators as discussed with Mindrones, Brecht, Stani & Letterip @ bconf, needs some web backend. python operator can aparently use xml/rpc to upload docstrings.
- Added operator invoke function - context.manager.invoke_props_popup(self.__operator__, event)
  this calls a popup for invoke by default (which intern calls execute())

- Own recent commit to game framing applied to non-camera views too.
- v3d->persp is deprecated but still used in some places.

- Transforming strips could overlap 1 frame if moving them below frame 0
- Transforming overlapping strips could go into an eternal loop (though overlapping strips should not exist)
2009-10-27 02:54:25 +00:00
8f788c64db merge with trunk/2.5 at r23876
[[Split portion of a mixed commit.]]
2009-10-22 23:22:05 +00:00
3ffb695b10 Shape Keys
Blended shape keys can now be displayed & edited in edit mode. This
is much like showing an armature modifier in edit mode, and shape keys
now are a applied as a virtual modifier (for mesh & lattice only, curve
doesn't fit in the stack well due to tilt).

The main thing missing still is being able to switch between the active
shape key in edit mode, that's more complicated.. but the weights of
other shapes can be edited while in edit mode.

One thing to be careful about is that this does automatic crazyspace
correction, which means that if you edit a shape key with a low value,
the actual vertices will be moved to correct for that and actually move
a (potentially much) longer distance.

Also includes some UI tweaks, mainly placing some buttons horizontally
since the vertical list was getting too long.
2009-10-22 16:35:51 +00:00
d037061b68 after transform if strips overlap, move the frame rather then the channel to fix.
useful while snap isnt working. metastrips still need to be supported.
2009-10-22 14:40:32 +00:00
c825a9aeaa Bugfix #19703: Axis Angle wont work
* Transform code was not properly fixed to work with the new way that axis-angle data was stored
* The order of the args for the conversion function when switching rotation representations was wrong, causing problems when switching from quaternion to axis angle (i.e. these occurred for newly created bones).
2009-10-22 02:14:11 +00:00
7685def9af Graph Editor: Pivot Modes for Transform
It is now possible to choose from 'Bounding Box' (default), '2D-Cursor', and 'Individual Centers' as the pivot point(s) that rotation/scaling is performed around.
2009-10-21 10:36:46 +00:00
031da438e4 - enable snap to work for particle editmode so you can snap onto the emitter.
theeth: maybe there needs to be a new SnapMode for this? - SNAP_SELF?, like editmode but without setting t->editob

- dont run special_aftertrans_update on scene objects when after sequencer transform
2009-10-19 17:20:09 +00:00
55249e255a fix for bug where moving strips that are next to eachother would detect invalid overlaps
first update strips, then check overlap in a second loop
2009-10-19 10:37:50 +00:00
2c985dee97 - listener for sequencer space panels added for frame changes, now redraws during transform
- invalid pointer was used for getting the sequencer length crashing blender or setting the length to negative values.
- printf_strip(seq) for debugging sequence strip locations
- Spelling: Cheet Sheet -> Cheat Sheet
2009-10-19 10:07:19 +00:00
0445ff1ae9 Give sequencer its own transform freeing function.
Updating the sequencer after transform could not use special_aftertrans_update because it relies on data that is freed

theeth: moved the customFree function to run before freeing t->data, t->data2d in postTrans(), checked that customData is not needed.
2009-10-19 08:01:30 +00:00
680888419d A few Graph Editor tweaks:
* Tiny tweak of GL commands used when drawing F-Curves (single GL_LINES instead of multiple GL_LINE_STRIPS) to hopefully improve the performance with heaps of handles drawn a bit

* Spelling fix for initTransDataCurveHandes -> initTransDataCurveHandles
2009-10-16 10:01:15 +00:00
004199efd4 Graph Editor - Transform Crash Fix
The code for transforming a mixture of keyframes with bezier and non-bezier interpolation was crashing. 

The old code only took all the handles when a keyframe was bezier, and one when it was not; but sometimes this underestimated the situation (the first handle is only really used if the previous keyframe was bezier, as per the standard evaluation rules for these, but it didn't really check for this). Now, it just adds them whenever, since there is the possibility that keyframes may be moved before other unselected ones, in which case the handles may become invalid.

Thanks to Lee (from Durian, who found the crash), and Jess Balint (who had submitted a patch with some steps towards fixing this)
2009-10-16 06:24:39 +00:00
6ffb79107c X Mirror editmesh with PET
Lock vertice near the middle (|x| < 0.0001) on the mirror's plane.
Don't propagate transformation across mirror plane (this could probably be smarter)
2009-10-15 21:54:22 +00:00
a28b9512fe made texflag a short everywhere (only stores one flag)
fix for crash with separate (missing NULL check)
2009-10-15 09:00:40 +00:00
828e3f3059 Left in debug prints 2009-10-14 03:00:35 +00:00
e87839b673 Bugfix: Automerge keyframes was broken - the function call to perform the merging was commented out 2009-10-14 02:18:59 +00:00
3a1216a2f2 Project option for snap to faces.
This is similar to the old retopo all option but uses the snapping code and not the openGL depth buffer (it's thus more precise).

Not sure if making it available as a snap option is sensible, this is up for discussion.

NOTE: it will get slow fast on large meshes, we need to plug in an acceleration structure into snapping.

This will need an icon too.
2009-10-12 22:33:32 +00:00
ff07676b40 bring back automerge - [#19538] automerge editing doesn't work 2009-10-08 15:50:42 +00:00
da698657ce Keying Sets - Bugfixes + Auto-Keyframing
* Added a new option for Auto-Keyframing which makes it only insert keyframes for the items included in the active Keying Set. 
This only works for Transform Auto-Keyframing so far (other tools will get it added later). The option is disabled by default.

* Fixed bug where adding an 'entire' array to some KeyingSet would only start from the index of the button that the mouse was over at the time

* Made some UI tweaks for Keying Sets buttons (still heaps of missing options there).
2009-10-08 06:39:45 +00:00
6e43a69a8d Bugfix #19576: Auto keyframing does not record rotations on object level animation
The hardcoded paths for rotation keyframes on objects got broken by my commits to rename the rotation properties. I've taken this opportunity to recode the auto-keyframing code here to use the builtin keyingsets instead of going through and manually calling insert_keyframe(), thus preventing this problem in future.
2009-10-08 05:53:26 +00:00
475ab5ceb4 Rotation Modes Bugfix:
Animating rotations using different rotation modes should now work more often than before. 

Previously, quaternion and axis-angle values were stored in the same variable in DNA, but that was causing problems with other animation curves overwriting the values and causing the rotations to not work as expected. 

There are still some issues, but I'll track those down later tonight
2009-10-08 00:57:00 +00:00