solidify had a limit imposed on how far vertices could move which didnt work well, removed (the modifier doesnt do this).
also missed freeing 2 arrays.
* An offset object can rotate output, so need to update normals to
reflect that. Fix by adding a normals recalc, but only if there's an
offset object.
* Added BMESH_TODO comment to check whether there are other cases were
normals need to be updated.
* Array modifier creates BMesh from DM; add missing CD_CREASE layer
for edge creases.
* With a modifier stack like mirror+subsurf+array, face normals were
wrong. Fix by removing CD_NORMAL layer from CCGDM output. Previously
the elements in this layer were simply copied, so they did not
reflect subdivision correctly.
* Minor style fixes in bmo_dupe.c.
Issues not yet addressed:
* Subsurf's optimal draw setting for hiding subdivision edges is not
respected by the array output.
* Slowdown issue; array modifier is much slower than in 2.62.
added access to deform weights, access to weights acts like a python dict so you can do...
print(group in dvert)
dvert[group] = 0.5
print(dvert[group])
del dvert[group]
print(dvert.items())
Behavior now matches 2.62, circle, cone, and cylinder get first vertex
at 0 degrees.
Also fixed range for vertex property of add-cone and add-cylinder
operators, changed minumum from two to three.
Three fixes:
* When smoothing a coord, the original position should be based off
the unsmoothed subdivision (i.e. the vertex coord rather than the
smoothed position in the shapekey)
* The normal of new vertices created by edge split must be updated
(used the same interpolation as pre-bmesh here)
* The vertices created inside the subdivided face should use the
subdivided coords from edges, so copy the shapekey coords back to
vertex coords after subdividing edges
problem was that BMesh had tessellation call when undo pushes were called.
if python called an operator with no undo push, tessfaces would not be created.
fix this by making it the responsibility of each editmesh operator to re-tessellate, as it is with notifiers and depsgraph.
added EDBM_update_generic() function to add notifier, tag for depsgraph update and optionally re-tessellate.
After discussion with Campbell we found much nicer solution which
keeps operation with data much more clear:
- Refresh Sequencer is totally harmless, do not touch actual data
and just removes everything from cache
- Reload Strip will reload data and adjust it's length for all
selected strips without affecting on length of strip itself
- Reload Strip and Adjust length will do the same but will also
adjust length of strip itself.
added option to edgesplit bmesh operator to take tagged vertices as well so an edge at a boundary can split without splitting off the boundary vertex.
the behavior/speed of the edge split modifier and tool remainss the same, this is only used for rip.
Issue was caused by mapping old buttons to new buttons. Render slot button in header
holds RenerResult for particular slot, but in N-panel it holds RenderResult from RenderEngine.
So what was happening is: switching render slot to empty slot makes slot button in header
contain NULL as button function's argument, but old button holds RenderResult for rendered
image, so this two buttons aren't equal and so button isn't getting activated and no scrolling
happens.
Making slot button hold RenderResult directly from RenderEngine (as it's happening with
buttons in N-panel) makes old->new buttons mapping work correct and it's possible
to alt-scroll smoothly