Texture sampling function refactoring:

ALERT! POSSIBLE BREAKING COMMIT, ESPECIALLY FOR SCULPT!

Separate the sculpt sampling function so that it can be reused
from other paint systems. This includes updating of the relevant
coordinates for anchored and rake style brushes, which are now
being updated as part of the stroke system.

I left only code for area-style brush texture mapping in sculpt
code, since it requires a few data structures not present on other
paint systems.

This commit makes it almost as easy to support rake on other systems as
exposing the python UI for it. Also it makes it totally possible to
have texture painting capabilities in vertex paint too :) These commits
will follow very soon.

Also, even if I did my best to keep the code from breaking, (even fixed a
leftover bug from coordinate changes) this is a big change. Please test!

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55223 954f8c5b-7b00-dc11-b283-0030488c597c
style cleanup: also remove unused defines in paint_image.c


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55224 954f8c5b-7b00-dc11-b283-0030488c597c
code cleanup: remove bmesh subdivide header, all definitions can be included in bmo_subdivide.c.
also only initialize random numbers when fractal option is set.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55225 954f8c5b-7b00-dc11-b283-0030488c597c
fix for crash with laplacian smooth when unselected ngons were used, volume calculation assumed unselected face were not ngons.

- added convenience function BM_face_calc_tessellation() to get triangles from an ngon.
- expose volume function as BM_mesh_calc_volume().


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55226 954f8c5b-7b00-dc11-b283-0030488c597c
error in header order from last commit.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55227 954f8c5b-7b00-dc11-b283-0030488c597c
patch [#34604] Add DPI read write for BMP and OpenEXR format


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55229 954f8c5b-7b00-dc11-b283-0030488c597c
code cleanup: use const events for modal and invoke operators.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55230 954f8c5b-7b00-dc11-b283-0030488c597c
Some small fixes found while investigating on bug [#34621] I18n Switch Issue When Gimbal and Rotation Manipulator On

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55231 954f8c5b-7b00-dc11-b283-0030488c597c
Add Hebrew glyphs to i18n monospace font.

The glyphs were derived from Droid Sans Hebrew Regular (Widths and
horizontal positions were changed).


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55232 954f8c5b-7b00-dc11-b283-0030488c597c
Outliner fix: selecting a bone did not unselect other bones when they are located in a hidden layer

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55233 954f8c5b-7b00-dc11-b283-0030488c597c
Fix bevel modifier bug #34611, limit bevel amount needed.

This is a quick fix that perhaps overestimates the point
of first geometry collision, but at least for now it should
allow models that used the old modifier and a too-big
bevel amount to not look awful.

The correct solution to this problem is much more involved
and I'll get to it later.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55234 954f8c5b-7b00-dc11-b283-0030488c597c
Outliner: recursive select/deselect visibility and selectable unconditionally

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55235 954f8c5b-7b00-dc11-b283-0030488c597c
Fix wrong use of enum in UI code to reactive button on mouse over, this worked
only by accident.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55236 954f8c5b-7b00-dc11-b283-0030488c597c
Fix write past end of array in recent texture sampling refactoring commit, and
a small warning for double const keyword.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55237 954f8c5b-7b00-dc11-b283-0030488c597c
Fix node group drawing not taking into account DPI properly.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55238 954f8c5b-7b00-dc11-b283-0030488c597c
Disable viewer nodes and previews when rendering in background mode

This node and operations are not useful in background mode anyway,
but calculating them could be really time-consuming especially
when working on 4K frames.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55240 954f8c5b-7b00-dc11-b283-0030488c597c
Report timing compositor statistics when running in background mode.

This would help figuring out time spent on compositing, helpful for
render farms.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55241 954f8c5b-7b00-dc11-b283-0030488c597c
fix for minor glitch in recent addition to create faces from partial selections.
BM_edge_exists() would return an edge if both verts passed match, now assert instead.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55242 954f8c5b-7b00-dc11-b283-0030488c597c
Fix [#34628] Shift-V (vertex slide) does no longer show "vertex slide:" for the user.

Own stupid mistake in r55214 refactor.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55243 954f8c5b-7b00-dc11-b283-0030488c597c
Bug fix #34620

SHIFT+T (texture space transform) crashed in editmode. Not checking NULL pointer.



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