back in selection history for bmesh->mesh
and mesh->bmesh conversions:
----------------------------------------------
Select Vertex Path had wrong invoke callback
(shouldn't have any?).
Also selection history was not converted when
doing bmesh->mesh or mesh->bmesh conversions.
This meant that tabbing in and out of editmode
would make your selection history dissapear.
Undo pop would also not preserve selection
history so any operators that relied on it
would not work when you adjusted their settings.
and select loose verts/edges:
----------------------------------------------
Split select by number of vertices and select
loose verts/edges into seperate functions.
Previously select by number of vertices was
also accessed through two different UI items,
"Select Quads" and "Select Triangles". Now
it is one function with a integer property
for selecting the size of the face you want
selected.
Also added an option to modify the behavior
of the selection. Can now select whether you
want to select faces that have vertices
equal to, less than or greater than the number
of vertices in operator property.
----------------------------------------------
Loop multiselect operator brought back. It can
be accessed via the select->edge loop and
select->edge ring menu entries or through the
ctrl-e edge specials menu.
----------------------------------------------
Based on a patch from howardt, this commit brings
back drawing:
-Edge length
-Face edge angles
and
-Face area
for the 3d view.
----------------------------------------------
Patch for making faces stop dissapearing when
using the decimator submitted by howardt in IRC.
Also fixed crash for when input mesh had less than
three triangles
----------------------------------------------
Select non manifold was not working properly
because BM_Nonmanifold_Edge considered border
edges to be manifold.
----------------------------------------------
Editmode selection flushing wasn't getting called
on primitive addition. This caused inconsistent
selection state.
Removed the DerivedMesh face iterators (they sucked).
This should make subsurf faster. Also sped up multires
a bit (not sure if it's strictly correct, need to look
at it later).
ED_view3d_init_mats_rv3d was calling glMultMatrixf() which was mostly harmless but could also lead to confusing bugs (2 reported previously).
Looked into this and every call to ED_view3d_init_mats_rv3d except for object drawing, doesn't need this so made a second version of ED_view3d_init_mats_rv3d - ED_view3d_init_mats_rv3d_gl which does the matrix multiplication, remove confusing checks in selection code.
- was using un-initialized stack memory if the source / target object had no vertex group.
- if the target object had no vertex groups it would fails silently (not a bug but not very good functionality)
- added an error message if any copying fails.
there is a minor problem with this commit:
0.00001 --> 0.00001 # good
0.000015 --> 0.000015 # good
0.0000199 --> 0.00002 # ok
0.00002 --> 0.000020 # wrong, has trailing 0
Tried to fix this but the case is hard to check for without more calculations which Id like to avoid.
This fix also allows for partial update of the image, speeding up painting.
The different code path implemented will be used to upload high resolution images to OpenGL when onion branch is merged.
Due to conversion of float textures to/from sRGB, corrections made to brush color sampling to take account of the image profile. This is not 100% correct yet as texture images used for projection painting strokes are not converted to/from sRGB yet(This has been decided due to loss of precision for 8-bit formats). It will have to do for now, though.
last-minute update, exr image loading is broken, will fix asap
This means script authors can perform actions using these callbacks rather then on drawing which puts blender in a readonly state.
Simple example:
import bpy
def up_func(self, context):
print("test")
bpy.types.Scene.testprop = bpy.props.FloatProperty(update=up_func)
bpy.context.scene.testprop = 11
# prints -> test
operator names instead of the internal names. This wasn't really noticeable,
expect that it broke automatically looking up shortcuts for display in menus.
added 'INTERNAL' operator flag so operators which are only meant to be called by other operators or internal use are not displayed to the user.
Currently only use this flag for the operator search toolbox, is ignored in debug mode.