is now just used to set the rotation property value during invoke.
This removes some reliance on 3d view info for non-interactive use, and also lets you specify
new object's locations/rotations explicitly when calling from Python.
- T was 'Flatten Brush', now Shift+T
- added an option to OBJECT_OT_subdivision_set to set the level relatively (so page up/down works), however RNA lets it set one level higher then the maximum, this seems displays OK in the 3D view so not sure whats going on here (as if there is always an extra hidden multires level).
- Camera to 3D view didnt check for rotation order.
- Fly mode didnt check for rotation order.
added util functions.
- object_apply_mat4(ob, mat4); applies a 4x4 matrix to an objects loc,scale,rot (accounting for rotation modes)
- object_mat3_to_rot(ob, mat3, use_compat); apply a 3x3 matrix to the objects rotation, option to use a euler compatible with the existing euler.
Takes into account the hierarchical structures of keymaps as well as wildcards (KM_ANY) in event definitions, user remaps (emulate numpad, action/select mouse buttons, ...) and event values that overlap (click, press and release)
For now, doesn't do anything other than print conflicts in the console.
As a result, I cleaned up a lot of keymaps that had double definitions, moved some keymap items in more appropriate places, fixed wrong definitions and removed kmi that were added for testing a long long time ago.
Out of all the remaining conflicts, after removing obvious non-issues, here's what remains: http://www.pasteall.org/9898
* added renamed files in revision 25337
* renamed BLI_util.h -> BLI_path_util.h for consistency
* cleanup of #includes: removed BLI_blenlib.h in favour of direct includes of the needed headerfiles in a few places.
* removed debug print in sequencer.c
* added missing include in blenkernel/blender.c -> bad dependency, needs to be fixed still
Revised external multires file saving. Now it is more manual in that you
have to specify where to save it, like an image file, but still saved at
the same time as the .blend. It would ideally be automatic, but this is
difficult to implement, so for now this should at least be more reliable.
Did a lot of cleaning Object operator poll functions to check if the object's linked
or not. For this, added the function ED_operator_object_active_editable() as
opposed to ED_operator_object_active()
2. Add action parameter to Select_All_Toggle operators, rename to Select_All.
Options are Toggle (default), Select, Deselect, Invert (same as select swap). This makes it possible to map separate hotkeys for select all and deselect all.
NOTE for Aligorith: I didn't change animation operators for select_all which already had an Invert operator. These should be fixed eventually.
* Now support a Surface mode next to the existing Volume mode. This binds
the mesh to the cage mesh surface rather than it's volume.
* Implemented reusing the bone heat weighting code.
* Advantage is that it works for cage meshes that are not volumes and that
binding is much faster.
* Weak point is that disconnected components of a mesh are not guaranteed
to stick together (same problem exists with bone heat weighting).
* Bind weights could still be compressed better to use less memory.
Example file:
http://download.blender.org/ftp/incoming/cloth_mdef_surface.blend
Available in object mode (Object -> Join as Shapes), only works for meshes at
the present. Will merge all selected objects as shape keys on the active object,
if the vertex count is the same.
This does not keep references to the external objects like in some applications,
rather it's a quick way to update the shapes on the active object (perhaps after
importing new versions from external applications).
http://wiki.blender.org/index.php/User:Theeth/Snapping
The new widget isn't there yet, but the rest works, including:
Increment (gears) is now a snap mode
Ctrl click to toggle snap on or off (in transform and 3d view)
Shift+Ctrl click to select snap mode (3d view only)
Snap status (on/off) is persisted in tool settings, no need to always turn it back on when entering transform.
It's still possible to have something resembling the old system by editing the transform modal keymap to snap on on ctrl press and snap off on key release.
the RNA constraint api was checking the current context when getting the constraint driver path and renaming constraints.
this made scripts not work properly so changed this to search for the constraint pose channel user within the object (if the object its self is not the user).
* Displacement coordinates are now stored differently, as a grid per
face corner. This means there is duplication of coordinates, especially
at low subdivision levels, but the simpler implementation justifies it
I think.
* ToDo: conversion of existing multires files (2.4x or 2.5x), loading them
may even crash now.
* Editmode preservation/interpolation code also has not been updated yet.
* Multires now works on the CCGDerivedMesh grids instead of CDDerivedMesh,
which should be more memory efficient.
* There are still bad memory peaks (if you're using 32bit) when subdividing
or propagating displacements. Though at least there should be no huge
memory blocks allocated, which windows is now to have trouble with.
* Still found some weird spike artifacts at lower multires levels, some also
happening before this commit. Perhaps computation of tangents needs to be
tweaked more.
* Multires modifier now has viewport, sculpt and render levels. Also the
levels have been made consistent with subsurf, previously the same level
of subdivision was one less for multires.
* Both multires and subsurf modifier now can have their subdivision level
set to 0 for no subdivision.
* Fixed a few compile warnings for scons+mingw
* Driver variables are now added with the ID-type set to ID_OB (objects) by default since this is more convenient