These changes are to make the bmesh api more consistent and easier to learn, grouping similar functions which is convenient for autocomplete.
This uses similar convention to RNA.
* use face/loop/edge/vert as a prefix for functions.
* use 'elem' as a prefix too for functions that can take any type with a BMHeader.
* changed from camel case to underscore separated (like RNA).
for after 2.62 I would like to try if using doubles would help to increase the precision here.
Also now that the mipmap patch is reverted we may want to look at this problem from a different perspective.
RES could be calculated taking the object size in relation to the camera (i.e. size and distance, ignoring rotation).
That may solve both problems of wrong resolution and lack of smoothness.
For the time being users still need to use object.resolution to fine tune the rendered text.
- don't check selected vertices for hidden faces.
- rather then counting total selected verts for a face, break out of the for() loop when an unselected vert is found.
this commit makes vertex paint check if it needs to rebuild the modifier stack when painting.
- when painting with no modifiers, do partial updates from polys to tessfaces while painting, skip re-tesselation.
- when painting onto a modified mesh, dont bother adjusting tessface colors - since the modifier stack will do this anyway.
both cases should be faster then before.
Issue was caused by not enough threshold limit used for removing doubles.
Switched to adoptive threshold value calculation based on smallest length
of segments in meridians and parallels.
Select Linked operator was setting Limit by Seams property automatically
depending on current selection mode. But this property only used to be
set to truth if selection mode is set to Face, in other cases this property
is being reused from previous operator run. This leads to incorrect
behavior of selecting linked in vertex mode after this operator was
used in face selection mode.
with material ambient zero broke backwards compatibility too much. The behavior
to have ambient zero affect things even if it is not used as a factor does not
make much sense but keeps things compatible. Now instead fixed the use of
uninitialized memory.