blender.git
9 years agoVisual Keying Code Tweaks:
Joshua Leung [Mon, 7 Feb 2011 11:38:57 +0000 (11:38 +0000)]
Visual Keying Code Tweaks:

Moving this code to the same method as is used for Apply Visual
Transform (for bones case), which uses standardised decomposition
methods instead of the improvised ones used here before. This was in
an attempt to get IK chains Visual Keyed correctly, though this
doesn't seem to have improved the situation much.

Also, the decompositon for objects here now takes care of euler
rotation modes.
TODO: other rotation modes should get included here too...

9 years agoFix for [#25955] Hair paths under force field influence look jagged
Janne Karhu [Mon, 7 Feb 2011 10:54:55 +0000 (10:54 +0000)]
Fix for [#25955] Hair paths under force field influence look jagged
* Effectors were applied wrong for hair.

9 years agoBugfix [#25934] "Apply Visual Transform as Pose" not working?
Joshua Leung [Mon, 7 Feb 2011 10:50:35 +0000 (10:50 +0000)]
Bugfix [#25934] "Apply Visual Transform as Pose" not working?

Simplified the code for Apply Visual Transform as Pose.

This makes it work for IK chains now, since there aren't any
recalculations of the pose involved now, which were contributing to
the pose getting incorrect as the applying process went on, since the
IK chain was getting calculated differently with each successive
change to the chain.

9 years agoA simplified way of defining bNodeType structs. Instead of doing full struct member...
Lukas Toenne [Mon, 7 Feb 2011 09:33:36 +0000 (09:33 +0000)]
A simplified way of defining bNodeType structs. Instead of doing full struct member initialization for each node, this uses a couple of helper functions now. This will make it easier to change and extend the bNodeSocket interface in the future. Two examples (normal and mapping shader nodes) included, the rest should be converted too.

9 years agorename ID.update() --> update_tag() since this function only tags for updating and...
Campbell Barton [Mon, 7 Feb 2011 08:13:28 +0000 (08:13 +0000)]
rename ID.update() --> update_tag() since this function only tags for updating and scene.update() executes the update.

9 years agoType checks for internal ID-Property UI min/max/tip & use defines to get values from...
Campbell Barton [Mon, 7 Feb 2011 05:05:41 +0000 (05:05 +0000)]
Type checks for internal ID-Property UI min/max/tip & use defines to get values from ID-Props.
Probably wouldn't cause a problem but manually editing these types through python could easily crash blender.

also changed cmake, stub-makefile default build dir to be lower case and leave out architecture string, easier for documentation.
Use ../build/linux/ rather then ../build/Linux_i686/

9 years agocomment unused var
Campbell Barton [Mon, 7 Feb 2011 01:45:52 +0000 (01:45 +0000)]
comment unused var

9 years agoPoseLib Bugfix:
Joshua Leung [Mon, 7 Feb 2011 01:28:47 +0000 (01:28 +0000)]
PoseLib Bugfix:

When using Pose Lib with a search string, if the search fails after
typing a character and then you try to backspace to get back to the
previous search string, the pose does not refresh until you type in
another valid letter such that the search works again.

Did a logic reshuffled in the get next preview pose function so that
this is dealt with properly

9 years agopatch for building blender with CMake, OpenEXR & MSVC2010 by Peter K?\252mmel
Campbell Barton [Mon, 7 Feb 2011 01:23:18 +0000 (01:23 +0000)]
patch for building blender with CMake, OpenEXR & MSVC2010 by Peter K?\252mmel

9 years ago- own error with sound unpack operator using NULL pointer
Campbell Barton [Mon, 7 Feb 2011 01:13:21 +0000 (01:13 +0000)]
- own error with sound unpack operator using NULL pointer
- make stub now creates 'Release' build by default.

9 years agoPoseLib Preview/Browse Bugfixes:
Joshua Leung [Sun, 6 Feb 2011 22:20:26 +0000 (22:20 +0000)]
PoseLib Preview/Browse Bugfixes:

- [#25951] Hardcoded Keys in PoseLib modal operator register twice per
use
Now only the KM_PRESS events are handled. KM_RELEASE events for these
are ignored...

- While checking the above, I also found that the view-manipulation
while previewing functionality was broken. This was one of the
benefits of this UI approach over a fixed screenshot-only listview.
Fixed now :)

9 years agoBugfix #25953
Ton Roosendaal [Sun, 6 Feb 2011 18:38:53 +0000 (18:38 +0000)]
Bugfix #25953

Fix in crashing displacement last friday, assumed wrongly that
the old 'new bump' failed for displacement too. It still did
work (somewhat). This restores the situation again.

9 years agoTwo in one:
Ton Roosendaal [Sun, 6 Feb 2011 17:36:42 +0000 (17:36 +0000)]
Two in one:

- Bugfix #25937
  Child-of constraint now behaves like regular parent-child
  relationship when all options are set. This prevents the
  errors that can happen when decomposing non-uniform matrices.

- Todo item
  The area corner hotspots for splitting/merging were far too
  narrow. Now it uses a circular distance to detect whether
  the hotspot is active. Also cleaned up drawing code for it.

9 years agoBug fix: Particles in dupligroups were mostly drawn properly in 3d view, but renderin...
Janne Karhu [Sun, 6 Feb 2011 15:50:00 +0000 (15:50 +0000)]
Bug fix: Particles in dupligroups were mostly drawn properly in 3d view, but rendering them was a real mess.
* After countless different bugs particles should now render correctly inside dupligroups.
* Only particles with metaball visualization are still problematic, this is mostly due to the ancient metaball code.
* I'll also add a test file for some of the situations, so that hopefully these cases stay fixed :)

9 years agomathutils.Matrix.Scale(factor, size, axis)
Campbell Barton [Sun, 6 Feb 2011 11:17:22 +0000 (11:17 +0000)]
mathutils.Matrix.Scale(factor, size, axis)
- 'axis' arg was not coerced from a tuple like other args now do.
- 'axis' arg was being modified in-place (VERY BAD).
- also made new function matrix_3x3_as_4x4().

9 years ago- cmake was missing an inclide (IDE's wouldnt index)
Campbell Barton [Sun, 6 Feb 2011 10:18:20 +0000 (10:18 +0000)]
- cmake was missing an inclide (IDE's wouldnt index)
- made doc generation always sumlink newly built docs to static URL. http://www.blender.org/documentation/250PythonDoc/

9 years agobugfix [#25824] Quats + Camera + Fly = Madness
Campbell Barton [Sun, 6 Feb 2011 09:01:01 +0000 (09:01 +0000)]
bugfix [#25824] Quats + Camera + Fly = Madness
ensure quat, delta rotation is set to a unit quaternion on older files.

9 years agofix [#25947] Smart Project is broken SVN r34664
Campbell Barton [Sun, 6 Feb 2011 06:59:11 +0000 (06:59 +0000)]
fix [#25947] Smart Project is broken SVN r34664
own recent mathutils updates broke this script.

9 years agofix [#25948] blender-thumbnailer.py does incorrect checking for the number of arguments
Campbell Barton [Sun, 6 Feb 2011 06:54:19 +0000 (06:54 +0000)]
fix [#25948] blender-thumbnailer.py does incorrect checking for the number of arguments
noticed by Shinsuke Irie (irie)

9 years agoSVN maintenance.
Guillermo S. Romero [Sun, 6 Feb 2011 00:49:58 +0000 (00:49 +0000)]
SVN maintenance.

9 years ago[#25693] Netrender "shadow" images with last frame always appear
Martin Poirier [Sat, 5 Feb 2011 22:46:59 +0000 (22:46 +0000)]
[#25693] Netrender "shadow" images with last frame always appear

More debugging info with -d

Also fix some conditions that didn't check the proper list in the ui.

9 years agotodo list item:
Ton Roosendaal [Sat, 5 Feb 2011 19:07:54 +0000 (19:07 +0000)]
todo list item:

3D View:
In quad-view mode, the options to set back/bottom/left views were
blocked. Now they work again.

Note: the oparator polls don't have a check for properties... so it
cannot be finegrained here. Checks are inside code.

9 years agoAnother fix for the raytracing commit, forgot that it also included vertex
Brecht Van Lommel [Sat, 5 Feb 2011 17:54:00 +0000 (17:54 +0000)]
Another fix for the raytracing commit, forgot that it also included vertex
reordering to be consistent with the rest of the render engine. That means
the self intersection issues with non-planar quads should also be gone now.

9 years agoBugfix #25944
Ton Roosendaal [Sat, 5 Feb 2011 16:32:56 +0000 (16:32 +0000)]
Bugfix #25944

Save image (F3) didn't remember the last saved path on 2nd use.

9 years agoThis fixes: [#25608] Video Sequence Editor: problem using cut on a strip with a custo...
Peter Schlaile [Sat, 5 Feb 2011 15:11:29 +0000 (15:11 +0000)]
This fixes: [#25608] Video Sequence Editor: problem using cut on a strip with a custom proxy file.

9 years agoBugfix, own todo
Ton Roosendaal [Sat, 5 Feb 2011 15:05:17 +0000 (15:05 +0000)]
Bugfix, own todo

Saving a file for the first time (after opening blender) didn't
use the last directory as saved/loaded from in a previous session.

9 years agoRaytrace modifications from the Render Branch.
Brecht Van Lommel [Sat, 5 Feb 2011 13:41:29 +0000 (13:41 +0000)]
Raytrace modifications from the Render Branch.

These should not have any effect on render results, except in some cases with
you have overlapping faces, where the noise seems to be slightly reduced.

There are some performance improvements, for simple scenes I wouldn't expect
more than 5-10% to be cut off the render time, for sintel scenes we got about
50% on average, that's with millions of polygons on intel quad cores. This
because memory access / cache misses were the main bottleneck for those scenes,
and the optimizations improve that.

Interal changes:

* Remove RE_raytrace.h, raytracer is now only used by render engine again.
* Split non-public parts rayobject.h into rayobject_internal.h, hopefully
 makes it clearer how the API is used.
* Added rayintersection.h to contain some of the stuff from RE_raytrace.h
* Change Isect.vec/labda to Isect.dir/dist, previously vec was sometimes
  normalized and sometimes not, confusing... now dir is always normalized
  and dist contains the distance.
* Change VECCOPY and similar to BLI_math functions.
* Force inlining of auxiliary functions for ray-triangle/quad intersection,
  helps a few percentages.
* Reorganize svbvh code so all the traversal functions are in one file
* Don't do test for root so that push_childs can be inlined
* Make shadow a template parameter so it doesn't need to be runtime checked
* Optimization in raytree building, was computing bounding boxes more often
  than necessary.
* Leave out logf() factor in SAH, makes tree build quicker with no
  noticeable influence on raytracing on performance?
* Set max childs to 4, simplifies traversal code a bit, but also seems
  to help slightly in general.
* Store child pointers and child bb just as fixed arrays of size 4 in nodes,
  nearly all nodes have this many children, so overall it actually reduces
  memory usage a bit and avoids a pointer indirection.

9 years agoFix bones moving when changing between editmode and posemode.
Brecht Van Lommel [Sat, 5 Feb 2011 13:19:14 +0000 (13:19 +0000)]
Fix bones moving when changing between editmode and posemode.
Patch #25901 by Tobias Oelgarte.

Bone transformations would be converted back and forth between different
representations when changing modes, which due to numerical errors could
lead to bone transformations slowly changing as you edit the armature.

Now the editmode head, tail and roll values are stored in bones and used
directly when entering edit mode. Head and tail were already there but
now we ensure they are the exact same value, roll was not yet there, so
we have a version patch for it.

The sub version was incremented to 1 for the version patch.

9 years agoRenamed texture.c in render module, to prevent debuggers to
Ton Roosendaal [Sat, 5 Feb 2011 13:10:20 +0000 (13:10 +0000)]
Renamed texture.c in render module, to prevent debuggers to
complain about the same named file in blenkernel.

9 years agoBugfix 25871
Ton Roosendaal [Sat, 5 Feb 2011 13:07:51 +0000 (13:07 +0000)]
Bugfix 25871

Using displacement with new bump caused NaN values or crashes.
Since displace code doesn't provide derivatives, it now falls
back to "old bump" by default.

9 years agoaccidentally left scaling code commented out when testing.
M.G. Kishalmi [Sat, 5 Feb 2011 11:46:44 +0000 (11:46 +0000)]
accidentally left scaling code commented out when testing.

9 years agomathutils fixes noticed when refactoring.
Campbell Barton [Sat, 5 Feb 2011 10:40:42 +0000 (10:40 +0000)]
mathutils fixes noticed when refactoring.
- comparing eulers was ignoring the order.
- printing Euler()'s now prints the order too.
- un-orderable types (all except for Vector's), were not raising an exception when compared with >=, >, <, <=.

9 years agomathutils rotate functions for Euler/Quaternion/Matrix/Vector types.
Campbell Barton [Sat, 5 Feb 2011 09:57:02 +0000 (09:57 +0000)]
mathutils rotate functions for Euler/Quaternion/Matrix/Vector types.
each accept Euler/Quaternion/Matrix types.

eg:
  Euler.rotate(Quaternion(axis, angle))
  Vector.rotate(Euler((pi/2, 0, 0)))

matrix.resize_4x4() and euler.make_compatible() were still returning an instance of themselves, now return None.

9 years agoupdate for changes in mathutils.
Campbell Barton [Sat, 5 Feb 2011 07:04:23 +0000 (07:04 +0000)]
update for changes in mathutils.

9 years agoRename python mathutils functions and split in-place methods from those that return...
Campbell Barton [Sat, 5 Feb 2011 06:14:50 +0000 (06:14 +0000)]
Rename python mathutils functions and split in-place methods from those that return new values.
http://wiki.blender.org/index.php/Dev:2.5/Source/Python/Mathutils
This completes the changes proposed.

This will break scripts (fixing coming up next), for full list of changes see mathutils.c comments.

9 years agoLogic UI: multiple fixes on Constraint Actuator
Dalai Felinto [Fri, 4 Feb 2011 21:25:57 +0000 (21:25 +0000)]
Logic UI: multiple fixes on Constraint Actuator
1) damping factor is not percentage (it's in frames, who would know that)
2) angles as degrees (cleaning the tooltips for those too)
3) setting Direction to None when changing from Loc and Fh Consts to Ori - negative axis is not supported in Ori Const. Buggy since ever (2.49).

9 years ago- Drivers should now be updated correct when curve changes topology
Sergey Sharybin [Fri, 4 Feb 2011 21:10:27 +0000 (21:10 +0000)]
- Drivers should now be updated correct when curve changes topology
- Fixed regression with keeping alive f=curves for deleted CVs
  (was a mistake in previous commit in this area)

9 years agoFix #25923: Active area of text editor line numbers too big
Sergey Sharybin [Fri, 4 Feb 2011 16:28:19 +0000 (16:28 +0000)]
Fix #25923: Active area of text editor line numbers too big

Area with width 60px was used for determing should we jump to line or
input new cahacter. Reduce this area to actual line numbers margin width.

9 years agoFix #25933: Drag Dog stroke method uses Jitter if set for other stroke method, but...
Sergey Sharybin [Fri, 4 Feb 2011 16:10:30 +0000 (16:10 +0000)]
Fix #25933: Drag Dog stroke method uses Jitter if set for other stroke method, but no jitter available.

Manually disable jitter usage for anchored and drag dot brush stroke metdhods.
Jitter slider is hidden in UI for this strokes so users can't set it to 0 by hand
and even if this slider would be visible in UI jitter gives wierd result for
this stroke methods.

9 years agoImprovements for particle grid distribution:
Janne Karhu [Fri, 4 Feb 2011 15:48:13 +0000 (15:48 +0000)]
Improvements for particle grid distribution:
* Particles that aren't shown are now actually deleted (huge memory savings for flat objects).
* Grid distribution for flat objects is now done on the surface object surface without offset.
* Invert grid option wasn't in ui and it didn't work for non-volume grids.
* New parameter to randomize the grid point locations.
* Resolution soft/hard limits changed to even 50/250.

9 years agoFix [#19997] Duplicating window results in graphics corruption in UI
Nathan Letwory [Fri, 4 Feb 2011 13:22:02 +0000 (13:22 +0000)]
Fix [#19997] Duplicating window results in graphics corruption in UI
reported by Micael Dias (and many others, see duplicates list)

On closing the first ("main") Blender window the very first OpenGL context
got deleted too. This context needs to be retained, since we share quite a
bit of OpenGL data through it to the newly created contexts (new windows).
Thanks to Ton Roosendaal for thinking out loud while trying to figure out
what the actual cause was.

9 years agosmall typo fix
Nathan Letwory [Fri, 4 Feb 2011 13:18:44 +0000 (13:18 +0000)]
small typo fix

9 years agoQuick Animation Feature: Paste Pose "Selection Mask" option
Joshua Leung [Fri, 4 Feb 2011 11:43:30 +0000 (11:43 +0000)]
Quick Animation Feature: Paste Pose "Selection Mask" option

After discussions with ZanQdo, it was agreed that the current workflow
for making a pose symmetrical was a bit too cumbersome, especially
when auto-keying was enabled, requiring pasting the flipped pose on
another frame so that the changes could be merged back in without
overwriting the "good" half of the rig.

This option for the Paste Pose operator makes things easier, by adding
an option which will make the pose only get pasted on to selected
bones instead of overriding the entire pose. By default this option is
turned off, but can be easily enabled either from the toolbar
(operator properties) or through the F6 popup.

The intended workflow with this option for making a rig symmetrical is
now:
1) Copy pose
2) Select "bad" bones
3) Paste Flipped
4) Enable "On Selected Only" for the operator

If there is sufficient interest, this option can even be enabled by
default. But, we'll see about that later

9 years agoswap Matrix.Shear(...) arguments so matrix size is the second argument, matching...
Campbell Barton [Fri, 4 Feb 2011 09:41:59 +0000 (09:41 +0000)]
swap Matrix.Shear(...) arguments so matrix size is the second argument, matching other constructors.

9 years agomathutils.Matrix.OrthoProjection(plane, size, axis), merged axis and plane args....
Campbell Barton [Fri, 4 Feb 2011 09:35:20 +0000 (09:35 +0000)]
mathutils.Matrix.OrthoProjection(plane, size, axis), merged axis and plane args. since axis was only allowed when plane was 'R'.
This was already done with Matrix.Rotation().

9 years agopep8 cleanup
Campbell Barton [Fri, 4 Feb 2011 09:27:25 +0000 (09:27 +0000)]
pep8 cleanup

9 years agohard- and ui-limit for particle grid resolution were vice versa.
M.G. Kishalmi [Fri, 4 Feb 2011 09:02:47 +0000 (09:02 +0000)]
hard- and ui-limit for particle grid resolution were vice versa.

9 years agoMoved Auto-Keying "Insert for KeyingSet only" option from UserPrefs to
Joshua Leung [Fri, 4 Feb 2011 08:33:07 +0000 (08:33 +0000)]
Moved Auto-Keying "Insert for KeyingSet only" option from UserPrefs to
Scene (Toolsettings, i.e. alongside "layered" option for using NLA
while doing auto-keying)

This option makes all Auto-Keying operations use the active Keying Set
to carry out keyframing operations instead of picking and choosing
their own Keying Sets to use, thus cutting down on the number of
unwanted keys.

Warning: if the older userpref option was enabled in an old
startup.blend, it may be difficult to turn this option off.

9 years agofix for make stub, readlink was used incorrectly and building didn't work on BSD...
Campbell Barton [Fri, 4 Feb 2011 04:12:24 +0000 (04:12 +0000)]
fix for make stub, readlink was used incorrectly and building didn't work on BSD because of CPU detection.

9 years agosmall mathutils changes.
Campbell Barton [Fri, 4 Feb 2011 03:39:06 +0000 (03:39 +0000)]
small mathutils changes.
- fix for returning empty slices (was returning list rather then tuple).
- report invalid type when mathutils_array_parse_fast() fails.

9 years agoPyAPI: coerce mathutils values. (vectors, quats, eulers) as proposed here:
Campbell Barton [Fri, 4 Feb 2011 03:06:23 +0000 (03:06 +0000)]
PyAPI: coerce mathutils values. (vectors, quats, eulers) as proposed here:
http://wiki.blender.org/index.php/Dev:2.5/Source/Python/Mathutils#Coerce_Method_Arguments

9 years agoSVN maintenance.
Guillermo S. Romero [Thu, 3 Feb 2011 18:57:53 +0000 (18:57 +0000)]
SVN maintenance.

9 years ago- Fixed bug with disappearing curve animation data created in edit
Sergey Sharybin [Thu, 3 Feb 2011 17:03:37 +0000 (17:03 +0000)]
- Fixed bug with disappearing curve animation data created in edit
  mode for case there was no animation at object before enter editmode
- Fixed memory corruption for case of fcurve groups
- Fixed bug with incorrect re-naming "spline[%d].smth" pathes

TODO:
  - Also update drivers' curves
  - Enable I-key menu and autokeying

  Will do this after consultation with Aligorith, shouldn't harm atm.

9 years agoBugfix #25912
Ton Roosendaal [Thu, 3 Feb 2011 16:31:03 +0000 (16:31 +0000)]
Bugfix #25912

Render bug in spothalo (weird horizontal line).
Appeared to be precision error... even for doubles,
before doing division a check for FLT_EPSILON works
better than DBL_EPSILON (if there's an alternative).

9 years agoApplying patch #25898 by Shinsuke Irie for rendering total external reflections
Janne Karhu [Thu, 3 Feb 2011 15:05:43 +0000 (15:05 +0000)]
Applying patch #25898 by Shinsuke Irie for rendering total external reflections
* Tracing objects with IOR < 1.0 (like air bubbles under water) wasn't working correctly as a refraction was always assumed to be the first thing that happens for transparent materials.
* This fix is ok, but the fact that the internal renderer is not a physically based one is starting to show, as for example blurred reflections in this case are not really possible nicely without some slightly heavier modifications to the ray code.
* Also some cleaned up logic and better comments for my previous total internal reflection commit.

9 years agoAudio Bugfixes:
Joerg Mueller [Thu, 3 Feb 2011 13:25:05 +0000 (13:25 +0000)]
Audio Bugfixes:

* [#25638] 'Insufficient thread locking' for sounds
  - Actually a workaround for an msvc bug, msvc STL containers are buggy
* [#25922] Sound does not play in BlenderPlayer(r34579)
  - Windows OpenAL doesn't seem to have clear context error state on initialising

9 years agoremove unused variable
Campbell Barton [Thu, 3 Feb 2011 11:02:02 +0000 (11:02 +0000)]
remove unused variable
also clear scene data before running batch import (utility script).

9 years agoMakefile for convenience on *nix systems.
Campbell Barton [Thu, 3 Feb 2011 10:07:15 +0000 (10:07 +0000)]
Makefile for convenience on *nix systems.

Running 'make' starts an out of source build with CMake in ../build/OS_CPU, creating the dir and configuring CMake if necessary.

So casual users can just run this without changing dirs:
 'svn up ; make'

9 years agoBugfix #25913
Ton Roosendaal [Wed, 2 Feb 2011 14:36:00 +0000 (14:36 +0000)]
Bugfix #25913

Compositor: using "read sample buffers" after load file, without
render layers in composite, crashed blender (NULL read)

9 years agoFix for [#25899] Renderer can't trace successive total internal reflection
Janne Karhu [Wed, 2 Feb 2011 12:04:23 +0000 (12:04 +0000)]
Fix for [#25899] Renderer can't trace successive total internal reflection
* This was wrong since 2006!
* Raytrace code assumed refractions to go "air -> glass -> air -> glass -> air.." so actually only the first total internal reflection was calculated correctly, but everything after that was wrong.
* Now after a total internal reflection there needs to be an actual refraction before the ray escapes the "glass" object.

9 years agoAdded Read Render Layers and Read Full Sample Layers to node editor menu
Daniel Salazar [Wed, 2 Feb 2011 10:33:29 +0000 (10:33 +0000)]
Added Read Render Layers and Read Full Sample Layers to node editor menu

9 years agoKeymap conflict in node editor. Read Render Layers is now Ctrl R to
Daniel Salazar [Wed, 2 Feb 2011 10:26:14 +0000 (10:26 +0000)]
Keymap conflict in node editor. Read Render Layers is now Ctrl R to
leave R for rotate

9 years agofix [#25684] Grease pencil strokes with "Surface" option attach erratically to curves.
Campbell Barton [Wed, 2 Feb 2011 03:32:58 +0000 (03:32 +0000)]
fix [#25684] Grease pencil strokes with "Surface" option attach erratically to curves.
added new functions
- view_autodist_depth_segment()
- plot_line_v2v2i(), which takes a callback and plots x/y points.

9 years agoBugfix [#25907] Impossible to "select all" on narrow action editors
Joshua Leung [Wed, 2 Feb 2011 03:12:39 +0000 (03:12 +0000)]
Bugfix [#25907] Impossible to "select all" on narrow action editors

Marker selection operators now use a special poll() callback which
checks that there are some markers before trying to run them. This
means that when there are no markers, the full screen range is
available, instead of just those areas above the region masked off for
markers which can be quite slim when trying to save space by only
showing the summary channel.

9 years agobugfix for setting the worldspace matrix of an object which used quaternion rotation...
Campbell Barton [Wed, 2 Feb 2011 01:01:01 +0000 (01:01 +0000)]
bugfix for setting the worldspace matrix of an object which used quaternion rotation and deltas, was subtracting the values rather then multiplying by the inverse.
effected 'Apply Visual Transform' & pythons obj.matrix_world = mat

9 years ago- some parts of the code to remove rotation were not removing axis/angle rotation...
Campbell Barton [Wed, 2 Feb 2011 00:40:55 +0000 (00:40 +0000)]
- some parts of the code to remove rotation were not removing axis/angle rotation (only functional change of this commit).
- use BLI_math functions for removing rotations from objects and pose channels.
- add unit_axis_angle() to avoid setting the Y axis inline anywhere rotation needs removing.

9 years agofix crash from report [#25746] Adding keyframes to nested custom properties (IDProper...
Campbell Barton [Tue, 1 Feb 2011 23:53:54 +0000 (23:53 +0000)]
fix crash from report [#25746] Adding keyframes to nested custom properties (IDProperties) of a bone causes segfault
though keyframing still doesn't work, it gives an error instead.
also use const char * in more parts of the py/rna api.

9 years ago"Batch-Edit" Code cleanup: Renaming ED_operator_ipo_active to
Joshua Leung [Tue, 1 Feb 2011 23:51:52 +0000 (23:51 +0000)]
"Batch-Edit" Code cleanup: Renaming ED_operator_ipo_active to
ED_operator_graphedit_active

9 years agoBugfix [#25902] alt+a over 3D view don't up date dropesheet editor
Joshua Leung [Tue, 1 Feb 2011 23:41:01 +0000 (23:41 +0000)]
Bugfix [#25902] alt+a over 3D view don't up date dropesheet editor

Migrating "redraws" settings from TimeLine view data to per Screen.
The options are now still shown in the TimeLine "Playback" menu
though.

This means that whatever redraw settings you set in a TimeLine editor
will be used throughout a screen (i.e. editor layout) to determine
which editors will get updated during playback, instead of only
certain editors doing certain things at vague times.

---

Also, I moved some version patches pre 2.56 version bump into a
version-check for 2.56. These must've been missed when doing the
release...

9 years agoAction Editor UI Tweaks:
Joshua Leung [Tue, 1 Feb 2011 22:21:43 +0000 (22:21 +0000)]
Action Editor UI Tweaks:

While animating, I realised that actually the 'only selected' and
'include hidden' DopeSheet filtering options are also useful in the
Action Editor, especially while tweaking the animation for some
characters, where you'd like to focus only on some of the character's
control (i.e. eyelid tweaks, hand tweaks, etc.).

The other DopeSheet filtering options aren't so relevant here, so I've
excluded them from this.

9 years agofix issue #2 raised by report: [#25894] Problems with properties across files
Campbell Barton [Tue, 1 Feb 2011 21:24:59 +0000 (21:24 +0000)]
fix issue #2 raised by report: [#25894] Problems with properties across files

9 years agopartial revert for r34590, exclude render() from enabling the read-only state.
Campbell Barton [Tue, 1 Feb 2011 20:38:24 +0000 (20:38 +0000)]
partial revert for r34590, exclude render() from enabling the read-only state.
will re-open [#25845] and assign to Brecht.

9 years agoIcons in outliner were jittering a bit on sizing of the area.
Ton Roosendaal [Tue, 1 Feb 2011 17:54:02 +0000 (17:54 +0000)]
Icons in outliner were jittering a bit on sizing of the area.
Subpixel position issue... when is this ever correct? :)

9 years agoFix #25884: Crazy behaviour of the rotate brush
Sergey Sharybin [Tue, 1 Feb 2011 15:51:40 +0000 (15:51 +0000)]
Fix #25884: Crazy behaviour of the rotate brush

Rotation brush used to be crazy because it depends on normal of area
under brush, which is used as axis to rotate vertexes around and
this normal used to change during stroke.

Calculate normal from original mesh state for rotation tool too.

9 years agoFix for [#25879] Particle Duplication issue with Linked in Objects from Groups.
Janne Karhu [Tue, 1 Feb 2011 15:02:25 +0000 (15:02 +0000)]
Fix for [#25879] Particle Duplication issue with Linked in Objects from Groups.
* Only the first object (in scene object order) that instanced a dupligroup was rendered properly, because particle instances were checked for only after creating the render object (and even this check was done wrong).
* Now the actual render object is created only after both object and particle instances have been checked.

9 years agoBugfix #25891
Ton Roosendaal [Tue, 1 Feb 2011 13:35:21 +0000 (13:35 +0000)]
Bugfix #25891

Info header: option to switch scenes or add new ones has to be hidden
for "full screen" mode. Current full-screen code doesn't allow to
browse screens or switch scenes nicely.

9 years agoScript to test import operators, so a single command can execute an operator on all...
Campbell Barton [Tue, 1 Feb 2011 12:47:50 +0000 (12:47 +0000)]
Script to test import operators, so a single command can execute an operator on all files in a directory and optionally save out blend files for inspection.
This comes in handy for testing importers against 100's of files, quickly showing breakages and easier to setup then unit tests.

Example usage:

  blender.bin --background --python source/tests/batch_import.py -- \
              --operator="bpy.ops.import_scene.obj" \
              --path="/data/testfiles/obj" \
              --match="*.obj" \
              --start=0 --end=50 \
              --save_path="/tmp/test"

Also found my name was spelt wrong in some places :)

9 years agocorrect fix for bug #23871, __main__ module was being overwritten in nested functions...
Campbell Barton [Tue, 1 Feb 2011 12:37:53 +0000 (12:37 +0000)]
correct fix for bug #23871, __main__ module was being overwritten in nested functions, so on returning from calling operators the __main__ module could be cleared and imported modules turn into None

calling
  bpy.ops.wm.read_factory_settings()
... would clear a scripts namespace if running directly, not in a module.

Fix by backing up and restoring the __main__ module.

Also found BKE_reportf wasnt printing all reports in background mode as BKE_report() was doing.

9 years agoBugfix: Graph Editor menus were missing an entry for the "Smooth
Joshua Leung [Tue, 1 Feb 2011 11:54:05 +0000 (11:54 +0000)]
Bugfix: Graph Editor menus were missing an entry for the "Smooth
Keyframes" operator

Probably this was missed off, since the DopeSheet doesn't have this
functionality

9 years agoBugfix: Renaming Keying Sets didn't update timeline
Joshua Leung [Tue, 1 Feb 2011 11:39:51 +0000 (11:39 +0000)]
Bugfix: Renaming Keying Sets didn't update timeline

Keying Set RNA props were missing update notifiers

9 years agoNew Keyframe Type: "Jitter"
Joshua Leung [Tue, 1 Feb 2011 11:35:27 +0000 (11:35 +0000)]
New Keyframe Type: "Jitter"

While doing some animation work over the past few days, I found that
it would be useful to be able to tag keyframes as a another type yet:
"jitter" for fill-in secondary motion (i.e. blinks/hand-keyed camera
shake). Of course, what you really use these for is up to you, but
this is one more option when you need it :)

9 years agoown fix for bug #23871 (r33277), crashes when running multiple operators in a batch...
Campbell Barton [Tue, 1 Feb 2011 09:02:49 +0000 (09:02 +0000)]
own fix for bug #23871 (r33277), crashes when running multiple operators in a batch script with a double free.
Cant see why this happens but this different fix doesn't crash so using it instead.

9 years agobugfix [#25767] Addons cannot be upgraded through the UI
Campbell Barton [Tue, 1 Feb 2011 06:48:19 +0000 (06:48 +0000)]
bugfix [#25767] Addons cannot be upgraded through the UI
added option to overwrite.

9 years agoTargetless IK Bugfixes + Tweaks:
Joshua Leung [Tue, 1 Feb 2011 05:15:32 +0000 (05:15 +0000)]
Targetless IK Bugfixes + Tweaks:
- "CONSTRAINT_IK_AUTO" flag for targetless IK constraints was being
set in the wrong place. This is for the IK constraint data's flag, not
the generic constraint's flag
- Converting stack var "targetless" from type bConstraint to
bKinematicConstraint (i.e. constraint baseclass -> specialised data),
since it was only used in one place with a cast used there.
- When using targetless IK with no specified chain length, bone
rotation locks are taken into account too, saving a bit of extra setup
work

9 years agoPythons path functions - os.walk(). os.path.exists(). etc support bytes for paths...
Campbell Barton [Tue, 1 Feb 2011 04:24:47 +0000 (04:24 +0000)]
Pythons path functions - os.walk(). os.path.exists(). etc support bytes for paths as well as strings, support this with blender/rna too.

- bpy.data.*.load() functions were only accepting UTF-8 paths.
- rna functions/properties now accept byte values rather then strings for file paths.
- bpy.path.resolve_ncase now supports byte objects.

9 years agofix for 2 segfaults running in background mode.
Campbell Barton [Tue, 1 Feb 2011 02:54:29 +0000 (02:54 +0000)]
fix for 2 segfaults running in background mode.
- operators which reload G.main would crash blender if called from python and then accessed bpy.data.*
- WM_read_homefile_exec was setting the contexts Scene to NULL as a signal for the event system, this didnt work in background mode, crashing when property update functions expected scene to be set.

9 years agoreverting the new button in node editor.. will need to create a new
Daniel Salazar [Tue, 1 Feb 2011 01:32:12 +0000 (01:32 +0000)]
reverting the new button in node editor.. will need to create a new
operator to get the correct behavior for center backdrop

9 years agoAdded Center button to backdrop controls in node editor's side panel
Daniel Salazar [Tue, 1 Feb 2011 01:18:16 +0000 (01:18 +0000)]
Added Center button to backdrop controls in node editor's side panel
Inlined backdrop's zoom ui limits and hard limits so that
going to minimun and going back to 100 works

9 years agoBugfix [#25885] Auto IK ignores full rotation locks
Joshua Leung [Tue, 1 Feb 2011 00:43:28 +0000 (00:43 +0000)]
Bugfix [#25885] Auto IK ignores full rotation locks

... actually, this was just an off-by-one bug again.

9 years agodisable assert [#25877] Driven shapekeys: incorrect assertions in depsgraph.c
Campbell Barton [Tue, 1 Feb 2011 00:41:15 +0000 (00:41 +0000)]
disable assert [#25877] Driven shapekeys: incorrect assertions in depsgraph.c

9 years agoworkaround [#25845] Empty UI panels
Campbell Barton [Tue, 1 Feb 2011 00:32:50 +0000 (00:32 +0000)]
workaround [#25845] Empty UI panels
- now writing to RNA is disabled when inside render() call.
- disallow calling operators when writes are disabled.

Rendering runs in a thread so running operators from the thread is not safe unless rendering becomes a blocking operator again.

9 years agobugfix [#25846] Strange behaviour if index of render.layers[] is out of range
Campbell Barton [Mon, 31 Jan 2011 23:54:51 +0000 (23:54 +0000)]
bugfix [#25846] Strange behaviour if index of render.layers[] is out of range

9 years agoTodo issue: sculpting on deformed mesh
Sergey Sharybin [Mon, 31 Jan 2011 20:02:51 +0000 (20:02 +0000)]
Todo issue: sculpting on deformed mesh

Used a crazyspace approach (like in edit mode), but only modifiers with
deformMatricies are allowed atm (currently shapekeys and armature modifiers only).
All the rest modifiers had an warning message that they aren't applied because
of sculpt mode. Deformation of multires is also unsupported.

With all this restictions users will always see the actual "layer" (or maybe
mesh state would be more correct word) they are sculpting on.

Internal changes:
- All modifiers could have deformMatricies callback (the same as deformMatriciesEM but
  for non-edit mode usage)
- Added function to build crazyspace for sculpting (sculpt_get_deform_matrices), but it
  could be generalized for usage in other painting modes (particle edit mode, i.e)

Todo:
- Implement crazyspace correction to support all kinds of deformation modifiers
- Maybe deformation of multires isn't so difficult?
- And maybe we could avoid extra bad-level-stub for ED_sculpt_modifiers_changed
  without code duplicating?

9 years agoBugfix #25874
Ton Roosendaal [Mon, 31 Jan 2011 17:28:03 +0000 (17:28 +0000)]
Bugfix #25874

Area split error: if the first split position was exactly aligned
with another 'edge' it merged the edges, causing the subdivision
layout to go haywire. Only happens in rare occasions, good find
this report :)

9 years agoRemoved OpenGL blending from node editor backdrop images in alpha channel mode. This...
Lukas Toenne [Mon, 31 Jan 2011 16:34:56 +0000 (16:34 +0000)]
Removed OpenGL blending from node editor backdrop images in alpha channel mode. This is a pure b/w image that doesn't need blending.

9 years agoIndentation fix.
Thomas Dinges [Mon, 31 Jan 2011 16:17:34 +0000 (16:17 +0000)]
Indentation fix.

9 years agoNode UI:
Thomas Dinges [Mon, 31 Jan 2011 16:16:15 +0000 (16:16 +0000)]
Node UI:
* Added Backdrop Panel inside the "Properties" area.
* Hard limit for the "zoom" value. Negative values doesn't make sense.
* Added a missing notifier for the Node backdrop move operator.

9 years agoSmall fix for color info in node editor: ACTIONMOUSE click was already used for node...
Lukas Toenne [Mon, 31 Jan 2011 15:18:30 +0000 (15:18 +0000)]
Small fix for color info in node editor: ACTIONMOUSE click was already used for node moving. Now ALT+ACTIONMOUSE must be used to get color info from the backdrop image.

9 years agoScons blenfont include for recent Node Backdrop commit.
Thomas Dinges [Mon, 31 Jan 2011 14:48:17 +0000 (14:48 +0000)]
Scons blenfont include for recent Node Backdrop commit.

9 years agoAdded backdrop image color information to the node editor. When clicking on empty...
Lukas Toenne [Mon, 31 Jan 2011 14:42:55 +0000 (14:42 +0000)]
Added backdrop image color information to the node editor. When clicking on empty space in the node editor, the pixel color values will be displayed on the bottom like in image editor.