Cicrcle and border selection doesn't add entry to EditSelection. Use cycle
through vertices rather than EditSelection stack to find two selected vertices.
No slowdown for case two vertices are selected (use this cycle to clear temporary
flag too), minor slowdown for unsupported selections.
detects...
- invalid vertex range for edges/faces
- duplicate indices in edge/face
- duplicate edges/faces in mesh
- missing edges data in faces
At the moment it doesn't correct errors, but eventually it will do this.
This comes in handy for testing importers against 100's of files, quickly showing breakages and easier to setup then unit tests.
Example usage:
blender.bin --background --python source/tests/batch_import.py -- \
--operator="bpy.ops.import_scene.obj" \
--path="/data/testfiles/obj" \
--match="*.obj" \
--start=0 --end=50 \
--save_path="/tmp/test"
Also found my name was spelt wrong in some places :)
On using loop-selects, the active vertex got cleared, it could still
simply indicate one of the vertices of indicated edge to become active.
That keeps the Ui for vertex-groups drawing correct, for example.
Also made loop-ring select store active edge for tools, like the loop-select.
Reporter saw weird fgons and edge creases on spin-mesh.
Appeared that the edge-flag copying code happened after
freeing edges. Already since May 2007 or so... weird!
Also in this commit a couple of simple cleanups.
Improved report print for 'remove doubles' to make it correct english.
Unsure if this kind of code can survive though, static strings do much
better for future translation efforts.
Instead of providing nice grammar sentences, we could make it more
declarative, like:
"Removed vertex amount: %d".
Mesh "Add grid" was quite broken:
- it added an edge to a previous (not selected) vertex
- it ignored cursor location
- and it didn't use 'align to view'
Now it does behave :)
Loopcut check for deformed meshes was far too wide, it even disabled
loopcut on subsurfs.
Now added a check for armature/lattice only, and only give a warning,
not a return from the tool.
An operator Error throws up a menu, a Warning only a flashy header print.
In mesh editmode the menus for simple failures got very annoying, like
"Already a face" for Fkey on a face.
Proposal is to use warning for contextual failures, like:
- wrong selection
- unsupported combination
- wrong modes
And use errors for cases you really need user attention, for example when
issues are invisble or potentially damaging work.
- Memory failures
- Files not found
List can grow in future :) let's test this for mesh now.
I'll tackle this for other ops later after review.
(Also changed: loopcut disabled when editmode shows deformed result)
- made theme colors for mesh edge len & face angle/area display.
- use %g rather then %f for float display, trims unneeded zeros.
- store cached 2d and 3d text color as bytes rather then floats, compare when drawing to avoid setting the context.
- use unsigned char for more color functions, avoids casting to glColorubv().
Bugfix #25280
Image: sequence option was hardcoded to assume "first frame" was always
picture "001". Made it impossible to have a sequence of images starting
with picture like "000"
Note that by allowing to render a first frame as 000 in Blender, things
mess up a bit here. Things work now as follows:
- Start Frame = 1 : Image 001 on frame 1
- Start Frame = 0 : Image 001 on frame 0
- Start Frame =-1 : Image 000 on frame 0 ;)
This is of course the lack of proper control for image sequences.
Definite something to work on; best idea I have now is a new setting
that defines the Image Number to be "first frame". That way you can
map that number on any Blender frame. Or it makes it more confusing? :)
For the doc department: the proper meaning of "Start Frame" now is:
"The blender frame a sequence starts playing, assuming the sequence
starts with image #1"
Tooltop was fixed accordingly
(Also fixed 'remove doubles' to show more precision in toolbar)
only tags the ID and does the actual flush/update delayed, before the next
redraw. For objects the update was already delayed, just flushing wasn't
yet.
This should help performance in python and animation editors, by making
calls to RNA property update quicker. Still need to add calls in a few
places where this was previously avoided due to bad performance.