BMESH_TODO: randomize vertices working again.

That whole "element re-arrange" area could use some love, though (e.g. make a single vert operator with more options, as faces; and make faces work in edit mode, probably no more reasons to switch to object mode?). Post-release TODO, anyway.

Also spotted a glitch in BLI_rand code, imho, which makes first element of an array not guarantied to be shuffled by BLI_array_randomize()... No correction though, as this might/would affect other parts of the code!

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@45791 954f8c5b-7b00-dc11-b283-0030488c597c
bmesh inset: add depth option (make use of relative and even offset options)

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@45792 954f8c5b-7b00-dc11-b283-0030488c597c
bmesh py api: expose BMVert.calc_shell_factor()


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@45794 954f8c5b-7b00-dc11-b283-0030488c597c
Fixed crash in iter api, triggered by calling index_update() on the loop py seq in the py api.  Note, I didn't fix the underlying problem (bad iter type) so loops.index_update() still isn't working (it's just not crashing).

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@45795 954f8c5b-7b00-dc11-b283-0030488c597c
bmesh: improve rip tool
- When the rip extends into a fan, pick the opposite edge in the fan (rather then 2 along)
- When stepping over the fan to find the rip edge, walk in the direction closest to the mouse (generally works nicer) 


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@45796 954f8c5b-7b00-dc11-b283-0030488c597c
add asserts for invalid iteratpr values so we can catch them in debug mode.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@45797 954f8c5b-7b00-dc11-b283-0030488c597c
rip tool wasnt working on a single edge selection in some cases (own error in recent fix).


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@45798 954f8c5b-7b00-dc11-b283-0030488c597c
bmesh py api: remove bmesh.loops.index_update(), it wasn't working, as joe noticed.


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

from user freedback it seems there are 2 use cases, both valid.
* Select geometry and cut the selection in half (as 2.4x worked)
* Point-to-point define the faces to cut, dont cut through everything (only cut what you see).

With the second, since you are already selecting the edges to cut and snapping to them. only cutting the selecting is limiting/annoying.


Modifying these options while the knife tool runs doesn't work well, so expose under 2 keys, K, Shift-K.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@45802 954f8c5b-7b00-dc11-b283-0030488c597c
knife tool now selects newly cut edges.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@45804 954f8c5b-7b00-dc11-b283-0030488c597c
knife tool: store color once on initializations, de-select only when cutting selected.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@45805 954f8c5b-7b00-dc11-b283-0030488c597c
knife tool: use the knife mouse cursor, dont store the context in the knife tool data, also rename struct camel case (follow own style guide)


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


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@45807 954f8c5b-7b00-dc11-b283-0030488c597c
Fix for particle dupli group relative offsets. The relative transforms of objects in the instanced group were not scaled according to the particle size, which would be expected when rendering as 'Whole Group'. Requested by Francesco Siddi (fsiddi) over IRC.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@45809 954f8c5b-7b00-dc11-b283-0030488c597c
knife tool alpha values where being set to zero (intersection points weren't visible), error made when converting to theme colors.

also minor bmesh style cleanup.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@45811 954f8c5b-7b00-dc11-b283-0030488c597c
refactor rip tool out into vert/edge functions, was getting too unweildy having them mixed in.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@45812 954f8c5b-7b00-dc11-b283-0030488c597c
Knife tool: Increase the header string length to avoid clipping the message.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@45813 954f8c5b-7b00-dc11-b283-0030488c597c
aparently `yards` are not used a lot, suppress their use in button display (input still knows about them) - was reported as a bug.

also fix minor rip bug where active selection was lost.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@45814 954f8c5b-7b00-dc11-b283-0030488c597c
fix [#31036] image.gl_load() consistently segfault at gluBuild2DMipmaps

incorrect argument to gluBuild2DMipmaps()


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@45815 954f8c5b-7b00-dc11-b283-0030488c597c
attempt to fix [#31033], cant redo the bug but button layout wasnt great
- no more blank space under XYZ
- scales with DPI


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