* Skip calculation of merge indices if merging isn't enabled
* Clean up usage of BMesh operators to fix small memory leak
* Fix harmless BLI_assert in CustomData_bmesh_merge
* Another null-initialization fix in CustomData_bmesh_merge
Two fixes:
* The find-doubles operator was overriding the "dirty" element
indices, so vertices were not being mapped correctly.
* In some cases a vertex can be set to merge with a vertex that is
also set to be merged, so added a loop to find the first unmerged
vert in this case.
Not yet working is the "First Last" merge option.
Also made some cleanups and added comments in the array/remove doubles
code.
wire edges connected to the vertex would confuse vertex rip.
- was only checking verts first edge had a face, this is incorrect since other vert-edges may have a face.
- wasn't checking of edges connected to the vertex were hidden.
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