The main advantage with this is that its close to twice as fast to do 'vertex.co[:]' then 'tuple(vertex.co)', this is common for writing a vertex array.
the correct python behavior in this case is to return a copy of the original type, however euler and quats don't support different sizes so we cant do so easily.
Child-of constraint issue: on adding, it wasn't checking owner
correctly for Bones, resulting in a constraint working in wrong
space; it looked as if transform was applied double when moving
the object. Only adding via Py API went wrong btw.
Also found a silly check for drawing constraints, which caused
constraint initialization to happen for every object on every
redraw!
Implementation note: con->flag CONSTRAINT_SPACEONCE was only used
for child-of constraints in Bones, so I've patched it on file
reading to always set the flag. Marked with XXX, so it can be
removed one day. Now at least things get corrected well for
imported armatures.
In some cases, a LMB-drag was drawing a stippled line. Leftover of
WIP code for support of gestures in Blender.
Disabled drawing for now, until gestures is back in control.
Since 2.5x blender has been using CD_MASK_BAREMESH for updating objects since object_handle_update() no longer has access to G.curscreen to calculate the mask from viewports.
The problem with this is after an initial calculation, CD_MASK_MTFACE may be required on draw, so it would recalculate the modifier stack multiple times per frame.
One case which caused this is armature animated mesh with texface in a dupligroup.
Fix this by having customdata_mask member in the scene, this isn't great design but at least fixes the bug and only changes a few files.
Loopcut check for deformed meshes was far too wide, it even disabled
loopcut on subsurfs.
Now added a check for armature/lattice only, and only give a warning,
not a return from the tool.
- adding template of a add_object addon from Florian Meyer (testscreenings)
- this template is using the new add_utils module in bf-extensions (also from Florian)
Porting the fix when Fullscreen flag is on (~ scene.gm->fullscreen)
I still see some issues with that, a difference between width/height. To be addressed later.
Porting the fix when Fullscreen flag is on (~ scene.gm->fullscreen)
I still see some issues with that, a difference between width/height. To be addressed later.
view rotate precision was lost over time, make view3d rotate normalize rv3d->viewquat.
note, this no longer crashes blender, just prints.
also commented some RegionView3D struct members.
* Timeline didn't listen to file read notifier, so the pointcache frames indicator didn't get updated.
* Also added listens to particle & modifier (cloth, sb & smoke) notifiers as changes that cleared a pointcache weren't shown directly in the timeline either.
* The timeline display was also always one frame behind the actual state, since the notifiers are handled before the actual dynamics are calculated.
** This is now fixed too, by creating the actual drawn data always at drawtime.
An operator Error throws up a menu, a Warning only a flashy header print.
In mesh editmode the menus for simple failures got very annoying, like
"Already a face" for Fkey on a face.
Proposal is to use warning for contextual failures, like:
- wrong selection
- unsupported combination
- wrong modes
And use errors for cases you really need user attention, for example when
issues are invisble or potentially damaging work.
- Memory failures
- Files not found
List can grow in future :) let's test this for mesh now.
I'll tackle this for other ops later after review.
(Also changed: loopcut disabled when editmode shows deformed result)
- SSS Presets were not working on pinned materials.
- added ability for save-presets to define variables to stop them becoming too verbose.
- remove object.active_node_material