Commit Graph

42253 Commits

Author SHA1 Message Date
04a902965e BMesh optimize face splitting by taking loops rather then verts
- add BM_vert_pair_share_face
- add BM_loop_is_adjacent
- remove BM_verts_connect
2013-12-24 11:13:58 +11:00
d94db03ac8 Style cleanup: BGE 2013-12-24 05:44:54 +11:00
0a5e00e8e8 Code Cleanup: style 2013-12-24 05:04:29 +11:00
Simon Repp
632c29fef3 UI: communicate external data autopack better in the UI.
Previously there was no way to see if autopack was enabled. Now the external
data menu has 3 entries instead of 2:

* Automatically Pack Into .blend (with checkbox to indicate autopack on/off)
* Pack All Into .blend
* Unpack All Into Files

Fixes T37608, includes modifications by Brecht from the original patch.

Reviewed By: brecht

Differential Revision: http://developer.blender.org/D118
2013-12-23 18:55:48 +01:00
3cc7978f19 Move python threading stuff to own file in bf_python_ext
This way blender player can easily use BPY_thread_save/restore.
Not so much important for master branch, but crucial to solve
linking issues in threaded depsgraph branch.
2013-12-23 23:14:10 +06:00
890be761f5 Make makesdna capable of detecting 32bit alignment issues on 64bit platform
Summary: Just some extra comparison between native and 32bit structure length was needed.

Reviewers: brecht, campbellbarton

Reviewed By: brecht

Differential Revision: http://developer.blender.org/D131
2013-12-23 21:37:39 +06:00
6c1525c99f Fix compile error on 32 bits linux / windows, wireframe modifier needs padding.
Thanks to Scott Petrovic and Jia Wang for submitting fixes.

Differential Revision: http://developer.blender.org/D126
Differential Revision: http://developer.blender.org/D130
2013-12-23 15:50:30 +01:00
133bc4b991 BMesh API: optimize BM_edge_exists(). 2013-12-23 16:57:39 +11:00
63a2cc2ab7 BMesh API: make simple, low level functions inline 2013-12-23 16:03:07 +11:00
2a2c27b175 Fix for crash when no args where given with -o, -x command line args
Patch D123 from djnz (Masakazu Ito)
2013-12-23 13:08:32 +11:00
7294c54db0 UI: Resolve T37917, disable tooltip scaling (zoomout only) 2013-12-23 12:46:50 +11:00
9fa7c235f3 Fix for tooltip right side having zero offset 2013-12-23 12:42:46 +11:00
0a61116e54 Fix for converting unfilled 3d text into a mesh 2013-12-23 12:12:40 +11:00
7b8622457b Dupliverts: avoid calculating normals if not used 2013-12-23 10:55:40 +11:00
ff9974ed69 Fix T37898: blenderplayer painfully slow in recent builds
Issue was caused by recent image cache rewrite and root of
the issue goes to the fact that blender player doesn't
initialize cache limiter and it uses 32meg of memory only.

This leads to infinite image loading/freeing.

For now disabled cache limiter in game engine, this brings
back old behavior.

In theory we might be smarter here, but better caching
policy is to be discussed.
2013-12-22 15:26:59 +06:00
78698a2ecf Add ItemDestroyable to the cache limitor
This callback is used when cache limiter needs to remove
some cached objects when running out of limit.

From blender side it's used to keep painted images always
in memory.

This fixes issue when painted images were removing from
the memory after image cache rewrite.
2013-12-22 14:44:56 +06:00
c7a970a78e Code Cleanup: de-duplicate constraint checks with armature join 2013-12-22 16:05:09 +11:00
c1c26c36f6 Style Cleanup: remove preprocessor indentation (updated wiki style guide too) 2013-12-22 14:12:19 +11:00
1500d9962c error in recent commit (this is getting ridiculous),
faces were flipping the wrong way
2013-12-22 07:27:07 +11:00
b01cbede04 error in last commit, missing normal update. 2013-12-22 07:19:48 +11:00
a183aa6c67 error in last commit, flag names. 2013-12-22 07:16:41 +11:00
d5263c37fa Modifier: New Wireframe Modifier
Based on patch originally by Thomas Beck,
uses options similar to solidify.
2013-12-22 07:13:48 +11:00
01acc2a7dc EditMesh: wireframe tool, add offset and vgroup support (not used yet) 2013-12-22 06:54:37 +11:00
c80c596194 Fix for mesh deform modifier missing copy for flag. 2013-12-22 04:45:00 +11:00
158b4e61a0 Mesh Modifiers: refactor copying using a generic function 2013-12-22 04:37:26 +11:00
87cc890aef Support units in modal numinput
Summary:
This completly changes the way modal numinput is handled. Now, edited expression is a string, which then gets unit- and py-evaluated to get a float value.

We gain many power and flexibility, but lose a few "shortcuts" like '-' to negate, or '/' to inverse (if they are really needed, we still can add them with modifiers, like e.g. ctrl-/ or so).

Features:
- units (cm, ", deg, etc.).
- basic operations from python/BKE_unit (+, *, **, etc.), and math constants and functions (pi, sin, etc.).
- you can navigate in edited value (left/right key, ctrl to move by block) and insert/delete chars, e.g. to fix a typo without having to rewrite everything.
- you can go to next/previous value with (ctrl-)TAB key.
- As before, hitting backspace after having deleted all leading chars will first reset the edited value to init state, and on second press, the whole "modal numinput" editing will be cancelled, going back to usual transform with mouse.

Notes:
- Did not touch to how values are shown in header when modal numinput is not enabled (would do that in another commit), so this is still quite inconsistent.
- Added back radian support in BKE_unit.
- Added arcminute/arcsecond to BKE_unit.
(those unit changes affect all angle UI controls, btw, so you can now enter radians or longitude/latitude values when in degrees units).

Related to T37600.

Reviewers: brecht, campbellbarton, carter2422

Reviewed By: brecht, campbellbarton, carter2422
Thanks everybody!

Differential Revision: http://developer.blender.org/D61
2013-12-21 17:44:48 +01:00
f72b86da8c Fix T37906: Adding force field settings to boids gives hard crash
Was a regression since fix for another bug T37189.
2013-12-21 20:35:47 +06:00
b9d732e047 Fix T37907: Crash when change screen layout to "Motion Tracking"
Was a bug in recent change from my own.

Also fixed cache line being displayed twice.
2013-12-21 20:26:23 +06:00
14c9899a69 Fix T37903: Operator log serialization broken for sets.
Was a mistake in rB9d6f05ed style edits (TRUE became false ;) ).
2013-12-20 23:35:28 +01:00
163e544006 Fix bookmarks not appearing in file browser after "copy previous settings". 2013-12-20 17:57:11 +01:00
aec90a8faf Fix wrong display of movie clip cache with mask overlay enabled 2013-12-20 22:17:43 +06:00
26aeb81d00 Slightly improve undo performance in dyntopo when last operator was mask
modification. In that case no pbvh needs to be freed and recreated and
we can get away just with draw buffer update (all of them for now. When
pbvh nodes get logged for undo we will be able to only update the
affected ones).
2013-12-20 13:42:03 +02:00
48b9680578 Fix T37883: Dope Sheet - Selecting object channels in AnimEditors doesn't make them active
There was probably a reason in the past why this wasn't desirable, but since we allow
bones to be properly selected when clicking on corresponding channels here, we may as
well allow this case too.
2013-12-20 23:55:44 +13:00
f55eba5462 Code Cleanup: style 2013-12-20 21:52:08 +11:00
39daf283ae Don't use with_resol suffix for functions which doesn't get resolution 2013-12-20 16:00:05 +06:00
b54ac21622 Code cleanup: remove unused functions from mask module
This functions doesn't seem to be used even from a commented code.
2013-12-20 15:47:19 +06:00
d71bcab076 Fix for border select doesn't work with normalization enabled
Some lazy developer named Sergey typed zero instead of actual
mapping flag in unit mapping function in the original f-curve
normalization commit.
2013-12-20 14:46:50 +06:00
b2fdc591c3 UI: restore confirmation popups for delete operators.
It turned out this was leading to accidental deleting in some cases when the
info message was missed by users. Fixes T37801.
2013-12-20 01:40:33 +01:00
29e3b09825 Fix T37890: compositor did not take number of thread setting into account. 2013-12-20 00:43:26 +01:00
e8c801f86c Fix T37861: remove unnecessary error print when viewport rendering a curve that gives an empty mesh. 2013-12-19 19:19:31 +01:00
e7ac87a254 Fix T37869: vertex paint + wireframe draw mode + smoke domain did not draw correct. 2013-12-19 18:52:26 +01:00
19c0c7992a Fix T37003, Fix T37859: smoke modifier taking deforming modifiers into account
in some cases.

The smoke modifier now ignores the modifier evaluation for generated texture
coordinates, which would previously cause the undeformed mesh to be cached for
flow objects. Dynamic paint has a similar exception, and other physics systems
avoid it by not being a constructive modifier.
2013-12-19 18:25:14 +01:00
2746f7ef28 Change recent fix for T37864, now only check if the file is readonly
Other error cases are already handled elsewhere
2013-12-20 02:27:15 +11:00
aab587817c Fix T37795: Resetting a button to the default value could crash
Added ui_handle_afterfunc_add_operator so a button can queue an operator
to run without executing it immediately.
2013-12-20 01:07:09 +11:00
3fcfbf24b3 Fix missing F-Curve Generator modifier updates from the Python API.
The poly_order and mode properties were missing update and range, now they
match the UI code.

Reviewed By: brecht

Differential Revision: http://developer.blender.org/D116
2013-12-19 14:53:33 +01:00
a102d3397f Sculpting:
* Support for symmetry in lasso masking
* Optimize away symmetry multiplication of gravity vector if no gravity
active
* Move flip_v3_v3 to paint_utils (used in masking as well)
* Use OpenMP for mask flood fill too.
2013-12-19 14:40:19 +02:00
70ef1f2004 Patch T19235: bmesh comments (with updates) 2013-12-19 22:41:18 +11:00
0cb3f54fda Code Cleanup: remove duplicate errorstack 2013-12-19 22:41:18 +11:00
b0c4133c67 Followup for fix T37718: image was not saving with proper settings second time
This was actually a regression after color management re-implementation, need
to copy settings from saved image buffer to an original one since they might
be modified during save.

Also noticed image format planes detection didn't work properly from an image
buffer. Made it so save operator works fine now, but also marked a TODO in
BKE_imbuf_to_image_format() which needs to be investigated further.
2013-12-19 17:20:12 +06:00
01745d359e Fix for T37864, save/save_as blend now refuses to save and report an error, when filepath is not writeable. 2013-12-19 09:57:44 +01:00