Simplified the ntreeUpdate function by getting rid of the dependency list and limiting resorting to cases where it is actually necessary (when nodes get added/removed or links change).

Node updates should generally be local by design, i.e. changes should not depend on any of the other nodes in the same tree. The original purpose of the dependency sort was to allow some experimental nodes to update their socket types based on upstream connected nodes, but these have been removed long ago. If such features need to be implemented they should instead use the tree-wide update callback, which is called after all the local node updates are done.

Removing the extra allocation and recursive function calls from most updates will ensure this function stays as fast as possible and can be called during node space context updates (snode_set_context), which are done very frequently (redraw).


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@44700 954f8c5b-7b00-dc11-b283-0030488c597c
Code cleanup: simplify the DerivedMesh.drawMappedFaces interface.

This function pointer's 'setDrawOptions' parameter took a slightly
different type than the other drawing callbacks. In particular, it
could set a 'drawSmooth' value to indicate that smoothing should
always be enabled, overriding the face flag. However, all callbacks
either did not set this value, or set it unconditionally to
1. Replaced this by adding a new 'flag' parameter to drawFacesMapped,
which can be set to DM_DRAW_ALWAYS_SMOOTH where appropriate.

Also removed the 'useColors' parameter and replaced it with another
flag value, DM_DRAW_USE_COLORS.

Removed the 'wpaint__setSolidDrawOptions' callback, was only being
used to set the shading to smooth.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@44701 954f8c5b-7b00-dc11-b283-0030488c597c
Cycles: option to specify camera aperture in radius or f/stop:
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Camera#Depth_of_Field

Patch by Ejner Fergo.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@44702 954f8c5b-7b00-dc11-b283-0030488c597c
tweak text delimiters for button ctrl + left/right, ctrl+backspace/del

now theres always a single step before skipping delimiters, this means the skipping actions always advance by more then 1 char (which matches the text editor).


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@44703 954f8c5b-7b00-dc11-b283-0030488c597c
Knifetool uses direct cutting instead of scanfill: fixes bugs 29908, 28963, 30333.

Knifetool accumulates a bunch of proposed cuts and when the user
confirms, it makes them all. The old code did this by using scanfill
to triangulate the cutting edges in their faces, and then merging
triangles where possible. This sometimes ended up with strange
lost faces, and also made it so that when holes were cut, the
surrounding face ended up totally triangulated. But 29908 was
an example of a lost face.

This new code directly finds chains of cutting edges that go from
one side of a face to the other and using BM_edge_split_n to make
the cuts. Holes are handled by finding two good places where
the hole can be connected to the containing face (using two
because I think some other code in bmesh assumes that there are
no edges that appear twice in a face).

The old code is still there with #if SCANFILL_CUTS, so can easily revert
if this proves to be a bad idea.

Also, a small fix to previously added BM_split_n (forgot to
copy face attributes to new face).


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@44704 954f8c5b-7b00-dc11-b283-0030488c597c
style cleanup: picky edits


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@44705 954f8c5b-7b00-dc11-b283-0030488c597c
Unify string stepping delimiter code for text buttons, text editor and console (all had duplicate code).

this is also a step toward the console working with utf8 though many todo's remain.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@44706 954f8c5b-7b00-dc11-b283-0030488c597c
edit to cursor adjustment, use int rather then short to store the cursor position.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@44707 954f8c5b-7b00-dc11-b283-0030488c597c
patch [#30481] rna_Screen_scene_set does the wrong thing [patch]
from Dan Eicher (dna)

--- from the tracker
Setting Screen.scene only uses the active screen through a call to CTX_wm_screen(C) instead of the actual referenced scene.

The attached py-op demonstrates this behavior, assuming at least two separate scenes in the VSE.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@44708 954f8c5b-7b00-dc11-b283-0030488c597c
running operators after loading a file in background mode would often fail because the screen was set to NULL and never assigned again (as it is when not in background mode),

Now skip clearning the screen when in background mode.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@44709 954f8c5b-7b00-dc11-b283-0030488c597c
== Python API docs ==

(sphinx_doc_gen.py)

- file reorganization to use more functions (easier to read)

- adapting to work after a recent commit that made some of the members of bpy.app.*
  output bytes instead of strings (see [#30154])

- a couple of new command line optionsto avoid editing the script:
    -T: let you choose the sphinx theme: the theme dir get copied in the destination dir
    -b: choose if we want the bpy module page or not

    Current command line arguments optional arguments:
      -h, --help            show this help message and exit
      -o OUTPUT_DIR, --output OUTPUT_DIR
                            Path of the API docs (default=<script dir>)
      -T SPHINX_THEME, --sphinxtheme SPHINX_THEME
                            Sphinx theme (default='default')
      -f, --fullrebuild     Rewrite all rst files in sphinx-in/ (default=False)
      -t, --testdump        Dumps a small part of the API (default=False)
      -b, --bpy             Write the rst file of the bpy module (default=False)

(rst/info_best_practice.rst)

- fixed a typo




git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@44710 954f8c5b-7b00-dc11-b283-0030488c597c
Mango request: use active scene clip as background for sequencer scene strip renderer
and opengl renerer when rendering from camera view.

Other usages of offscreen drawing shouldn't be affected by this change.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@44711 954f8c5b-7b00-dc11-b283-0030488c597c
remove printing versions in makesdna/makesrna - this used svn ID property which isnt set in the files anymore.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@44712 954f8c5b-7b00-dc11-b283-0030488c597c
Another mango request: Ctrl-MMB zoom in camera view
It makes it much easier to zoom in camera view using the tablet.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@44713 954f8c5b-7b00-dc11-b283-0030488c597c
Occasionally zoom direction was flipped in previous commit.
Now it's zoom in when moving mouse down.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@44714 954f8c5b-7b00-dc11-b283-0030488c597c
Correction to camera zoom clamping in previous commit.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@44715 954f8c5b-7b00-dc11-b283-0030488c597c
fix for error in r44711, needed to update sequencer callback.
also quiet some warnings.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@44716 954f8c5b-7b00-dc11-b283-0030488c597c
Fix for opengl render setting current frame to 0 after finish rendering.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@44717 954f8c5b-7b00-dc11-b283-0030488c597c
change camera zoom from short to float.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@44718 954f8c5b-7b00-dc11-b283-0030488c597c
Fix for setting uv_layer name for modifiers

Issue was caused by missing fdata for meshes which doesn't have tessellated
faces yet. Real fix would be to use loop's MLOOPUV layer, but currently interface
is using mtex layer names for UV lists so use poly's mtex layer to check if
layer name is indeed correct.
Should work fine until we'll separate setting textures and UV coordinates.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@44719 954f8c5b-7b00-dc11-b283-0030488c597c