* remove 'select' and 'hide' from BMLoop
* remove BMesh.update
* add BMesh.normal_update(skip_hidden=False)
* add BMElemSet.index_update(), eg: bm.verts.index_update()
bmesh api
* BM_mesh_normals_update() now takes skip_hidden as an argument
(previously this was default behavior), however this isnt good when
using BMesh modifiers, where you want all normals to be recalculated.
* add bm_iter_itype_htype_map[], to get the iter type from a BMesh
iterator.
- use SMOOTH flag for edges (removed sharp flag and inverted), gives us an extra flag slot available.
- rename BM_edge_is_nonmanifold --> BM_edge_is_manifold and invert result, BM_vert_is_nonmanifold too.
`_set` suffix was used in two ways (confusing)
* to set a flag to be enabled.
* to set a value passed as an argument.
now use enable/disable rather then set/clear for functions which change flags.
also remove BME_weld.c, the file didnt contain much code and the current extrude works well
* add DM_to_bmesh_ex, DM_to_bmesh for converting a derived mesh to a BMesh (rather than a BMEditMesh)
* have a generic variable for allocsize: bm_mesh_allocsize_default, rather than copying the values about.
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).
- in the case of deform modifiers this is very safe (assuming the mods themselves dont need tessface data), since the DM is freed right after, so this is an easy speedup.
- in the case of bevel and split edge modifiers this should still work out fine since mods that need tessface data will generate it.
This bug is caused by exactly the same reason as #26316: differences in how new vertices/edges
are getting calculated first and how they're adding later. In some cases extra vertices are
creating which weren't counted before.
This patch prevents crash in such situations, but result mesh can be a bit wrong.
This should work fine in bmesh, so think it's acceptable to have such workaround
before actual fix coming with bmesh.
- added notes to release todo's.
- renamed view3d view transform matching functions.
- added assert in edge split modifier to make a certain bug easier to spot.