Fix deadlock in drawArc caused by precision error. Helper widget could
look wrong, that's because of not enough precision of floats used by
Blender.
This is known issue of Blender and wouldn't consider a bug.
Call normals update and re-tesselate the BMesh before generating
derived mesh for vertex parent. this is needed for proper display
of mesh in edit mode.
Tried to use EDBM_update_generic, but it gave artifacts due to it
doesn't update normals. usually it's not a problem, because it's used
at the end of operator and all needed data is handles by depsgraph.
It doesn't work for vertex parent because derived mesh is being
created here outside of generic object update, so one extra manual
step seems to be needed here.
Supports selecting using object data, material and library.
Would be nice to hide this menu item from menus appearing for
datablocks which does not support such a selection, but that
could be done separately.
Fixed by clamping current index value to 0..list_size-1 range in list event
handling function. This shouldn't give any regressions since this clamping\
happens only after template was already displayed so items counter should be
correct here.
It is still possible to set index to meaningless value by directly changing
the index value via python, but that's not in the scope of interface engine
and not currently considered a bug.
Would rather have mathematical functions consistent from using
the same vector for input and output values point of view then
introducing questionable optimizations.
draw_rigid_body_pivot() didn't check it could actualy use the given ob_wire_col...
Also silenced a compiler warning, and removed (replaced) a potential dengerous pointer cast (char *[4] -> int* is not safe on 64bit machines!).
Boid operators now retrieve the particle settings from the context directly, instead of always using the particle system (which is only needed to get to the settings anyway). When particle settings are pinned there is no particle system in the context, causing the operators to fail.
The particle system modifier has to ensure tesselation before testing for topology changes. It compares the number of vertices, edges and tesselation faces to the previously stored values.
Note that this test only detects a subset of actual topology changes (where the number of elements differs), but this is a known limitation we have to live with for now.