vertices. Previously it would hide particles by creating invalid faces, but this
didn't make the vertices actually disappear.
Also found that it could generated corrupt geometry for cases with faces, which
gave wrong subsurf and could crash in edit mode.
* Non-Progressive UI couldn't be displayed if the device was set to GPU, but User Preferences Device was NULL. (for example when opening .blend file on another computer without GPU capabilities)
* Fix missing update in the Properties editor, when changing compute_device.
This fixes [#32115] OSX and cycles no non-progessive sample input settings appearing in interface.
running BM_CHECK_ELEMENT was taking over 75% of the time to subdivide a mesh, since this only reports errors, and is so slow - only run this on non-release builds.
garbage strips for each tile
Promoted the behaviour of combine channels to node operation so that all
nodes use the same implementation. (CombineChannel had a better
implementation)
calling BKE_ptcache_ids_from_object() could recursively call BKE_object_handle_update(), when there is no reason to update object transforms at all. Add option not to do any updates and just return an object list.
patch by Nicholas Bishop, modified to avoid looping over vert-loops one extra time.
added BM_iter_as_arrayN(), returns an iterator as an array without knowing the length before calling.
Without this - there wasnt a good way to ensure addons were aware of new data being loading in new files.
requested by request by liquidape and maccuno.
This way we can do predictable key-shortcut-chaining. Eg.
Shift+A, M, O --- adds a metaball cone.
In editmode
Ctrl+V, X, A --- Assign new vertex group.
use an enum typedef for button types. it was quite annoying debugging UI code since the defines are bit-shifted. GDB would show but->type as 13824 and blender define was (27 << 9).
Now but->type shows as a humanly readable names.
Undo would leave BMEditMesh->me pointer NULL, this would likely crash EDBM_verts_mirror_cache_begin() too.
Rather then restore 'me', remove the pointer altogether and use BMEditMesh->ob->data to save us having to keep track of 2 pointers.