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.
render results would be displayed on loading new files if the scene names matches, now free render-results so as not to display stale data - also saves some memory.
* This patch adds a influence slider for the lattice modifier, which affects the strength of the deformation.
Patch by Patrick Boelens (senshi), thanks a lot!
In fact, problem was in vec_roll_to_mat3(), which has to detect when the bone is aligned with its Y axis, using a threshold. This one have been raised to quite a high value due to bug [#23954], then lowered a bit due to [#27675] (which is imho in fine the same problem as 30438).
Reset it to its org value (very low 1e-13), as testing file given with firt bug did not show any problem anymore... So now, instead of 1/1000 of bone length from Y axis, we have about 3.25*10-7... Only (hardly) noticeable at max zoom level in 3D view.
This commit:
* Removes the Wire and Color options from the UI for all object types but meshes, curves/surfaces/texts, and metas.
* Adds a basic bounding box drawing (and computing) for armatures.
This adds movieclip input support to the sequencer, thereby making
undistorted and stabilized footage available without a seperate render step.
Also: removes some old cruft code from the sequencer:
* new_tstripdata wasn't used anymore
* StripElems were allocated for SCENE strips on full length, wasting memory
Added a comment, that hopefully makes things a little bit clearer:
StripElems are *only* usefull for MOVIE + IMAGE strips for all other strip
types one can set this pointer to NULL. (If that should cause otherwise
problems, then the code that doesn't check for NULL is to blame!)
- add examples for custom-data access
- group BMesh types logically in docs
- added missing docstrings
needed to add grouping functionality to sphinx for this.
versioning code called a customdata update function which ended up clearing tessfaces - before converting polygons to tessfaces.
Added check so tessfaces aren't cleared when there are no polygons.
Not all file formats/calls are supported yet. It will be expended.
Please from now on use BLI_fopen, BLI_* for file manipulations.
For non-windows systems BLI_fopen just calls fopen.
For Windows, the utf-8 string is translated to utf-16 string in order to call UTF version of the function.
CDDM_tessfaces_to_faces wasbt updating the polyindex (missed incrementing the polyindex pointer).
also added an assert so non release builds will complain when CDDM_calc_edges_tessface() needs to run before CDDM_tessfaces_to_faces().
- More angular velocity modes to support creative effects.
- Renamed "Initial Rotation" to "Initial Orientation" to better reflect the functionality
- Renamed "Spin" angular velocity mode to "Velocity".
- Organized the rotation panel a bit better.
- Also some better names and tooltips for the different rotation values.