Remove unused header include.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48230 954f8c5b-7b00-dc11-b283-0030488c597c
Fixes for area of interest in keying nodes: no need to wait for the whole
input image to be calculated in some cases, use only actual area which is
needed to calculate current tile.

Seems to be giving some % of speedup. Verified result of keying before
this patch and after this patch and they were identical, so hopefully
now area of interest is indeed correct.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48232 954f8c5b-7b00-dc11-b283-0030488c597c
Fix #31908, better drawing for node group interface links. Links from/to node group internal sockets (input/output columns on the side) were drawn in a kind of subtle "background" mode, making them hard to see behind nodes. This was still from pre-2.56.2 versions, where group interfaces were created automatically and these links were just indicators of which external socket a node refers to.

Now these links are drawn in the same way as all others. Also they now display highlighting correctly when inserting a node into a link, making it easier to avoid unwanted insertions.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48233 954f8c5b-7b00-dc11-b283-0030488c597c
Fix #31909: "Make Segment" on path-curves gives wrong result

In fact fixed in easiest way -- always re-calculate knots array
on topology changes.

After some discussion with Ton we agreed on that having manually
editable knots is not intuitive and user should only define
cyclic/endpoints flags and knots would be re-calculated based
on this flags.

This means that it's unnecessary to have special logic for knots
manipulating in some topology changing tools and they could just
re-calculate knots for the whole nurb, without worrying that knots
could have been manually edited.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48234 954f8c5b-7b00-dc11-b283-0030488c597c
Typo and spelling fixes pointed by Lockal. thanks!

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48235 954f8c5b-7b00-dc11-b283-0030488c597c
Release cycles:
*BCon 3 - beta. 

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48236 954f8c5b-7b00-dc11-b283-0030488c597c
Fix crash sliding disabled marker from preview widget.

Reported by brothermechanic, thanks!

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

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48239 954f8c5b-7b00-dc11-b283-0030488c597c
Optimization of keying screen node

Use AABB check before calculating barycentric coordinates.

In simple tests with FullHD image and 4-9 tracks used for gradient
gave 1.5-2x speedup.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48240 954f8c5b-7b00-dc11-b283-0030488c597c
Mark some utility functions as static to avoid namespace conflicts
and make export symbol table smaller.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48242 954f8c5b-7b00-dc11-b283-0030488c597c
Fix [#31807] Ngon triangulation error

Notes:
*This implements a quite simple algorithm, which simply checks angles (actually, absolute cosines) of created tri and remaining face (which may be a tri, quad, or more NGon), so that both are "best" (ie avoid as much as possible too much narrow/wide corners), and also checks the new edge is OK (i.e. does not goes "out" of original face).
*Incidently, it fixes a typo in that bm_face_goodline() func!
*It's quite performant (a bit quicker than previous code, as far as I have tested it) and prevent creation of completely flat triangles as much as possible, but it's far from being a "best" solution (as it is still a "progressive" one)!
*It also introduces a new math func (in BLI_math_vector.h), cos_v3v3v3, which computes cosine (ie dot product of normalized vectors) and is roughly a quicker replacement for angle_v3v3v3, when real angles are not needed.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48243 954f8c5b-7b00-dc11-b283-0030488c597c
Skip edge matte operation creation if output socket is not connected.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48244 954f8c5b-7b00-dc11-b283-0030488c597c
Tracking dopesheet missed tagigng for update in some cases.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48245 954f8c5b-7b00-dc11-b283-0030488c597c
Fixes for modifier data in multi-user meshes.

When removing a skin or multires modifier, it skips deletion of the
associated CustomData layer if the object has any other modifiers of
that type. This check has been extended to all objects that use the
object's data.

Similarly, deleting higher multires levels and multires subdivision
will not update the maximum level of any other multires modifiers on
objects that link to the same mesh.

Note that modifier_apply_obdata() doesn't need any changes as it
does not allow applying to multi-user data.

Object joining has also been modified to synchronize multires levels
objects that share a mesh. This is needed because joining can
subdivide or delete levels in order to match the maximum level of the
join-from object to the join-to object.

Fixes bug [#31880] instance multiresolution modifier error.
http://projects.blender.org/tracker/index.php?func=detail&aid=31880&group_id=9&atid=498

Reviewed by Sergey:
http://codereview.appspot.com/6332047/

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