---------------------------------------------------
Snappy stuff
* Align rotation with snapping target: rotate the object, aligning it with the target (object mode only - temporarily) (New icon in the header when snap is turned on)
* Snap to different mesh elements (face, edge, vertice): snapping target slide on faces and edge or use exact position of vertice. When using Align rotation with edge snapping, the normal is interpolated as you slide along.
Snaps correctly to derived mesh (sculpt, modifiers, ...) and duplis. In object and edit mode.
NOTE: The snapping code is now based on faces, so even if you're snapping to vertices or edges, it will not work on meshes without faces. This might change if needed.
(partial because I'll merge all snap code in one fell swoop after the libs are done)
----------------------------------
object: ray - boundbox intersection test
----------------------------------
Small fix to derivedmesh for snapping: don't create origindex for
editmesh derivedmesh since it's not being filled correct anyway.
----------------------------------
Arith:
- axis angle to quat conversion function
- short to float / float to short normals conversion function (eventually, we could go over the go and replace copy/pasted code everywhere)
- ray triangle intersection (to complement the line triangle intersection function)
View:
- viewray / viewline (get near plane point under mouse and ray normal/far point)
Particles:
- extract viewline from brush_add function
By Fabrice Tiercelin
This enables rotation angles of more than 180 degrees to result in the same rotation applied to the object (the result used to be clamps between -180 - 180 of the initial rotation).
The patch had to be modified to deal with IPO keys properly
Baking would split non-planer quads in an unpredictable way, which is fine for rending but game engines often use a fixed order (0,1,2), (0,2,3) or (1,2,3) (1,3,0).
Added an option to use a fixed order when baking.
view: noclip version of int and float projection. Also project from behind the view's position and return coherent values for near clipping
transform: use the above functions for 2d center and helpline drawing
NOTE: the result for centers behind the camera (in perspective) isn't 100% perfect in the case of rotations because they always use the centered view vector as rotation axis and not the one aligned with the 2d center. Changing this would not be desirable anyway. At least it's predictible now.
* python Blender.GetPaths() - absolute=0 wasnt working
* BLI_cleanup_file and BLI_cleanup_file were treating the // prefix as a duplicate path, now ignores //
* BLI_convertstringcode was removing the trailing slash from a path
(tested these path functions didnt mess up with some of the peach files and with pointcache)
button input didnt
work. narrow down this test to the part of the pydriver module init that uses a blender textblock as a module. This should
should reload the pydriver dict whenever the "EnableScriptlinks" state changes. but for now working numbuttons is priority.