Commit Graph

52002 Commits

Author SHA1 Message Date
Campbell Barton bb42703ea3 - remove edge collapse loop operator (now replaced by dissolve).
- fix missing null pointer check from own recent changes.
- add asserts if BLI path functions are given wrong id's
2013-06-27 01:10:19 +00:00
Campbell Barton 46808dd22c fix for python api bug: assigning the wrong size array to an RNA property wasn't checking the length and could crash, eg:
mesh.polygons[0].vertices = (10,)
2013-06-27 01:01:11 +00:00
Campbell Barton 8107c543ec remove redundant casts 2013-06-27 00:37:42 +00:00
Gaia Clary dc16faaaaf Added checks to vertex Weight editor to respect locked Vertex Groups 2013-06-26 22:29:31 +00:00
Campbell Barton 329b832dc2 BM_face_legal_splits - perform calculations in 2d (was using 3d vectors for all 2d operations) 2013-06-26 21:47:08 +00:00
Campbell Barton 56a47b6114 avoid calling axis_dominant_v3_to_m3 twice from BM_face_legal_splits 2013-06-26 21:17:10 +00:00
Brecht Van Lommel a2552c5836 Fix #35882: render to image editor, ctrl+up fullscreen, click back to previous
did not work.
2013-06-26 20:51:41 +00:00
Brecht Van Lommel af36eb86e2 Further fix for #35880: theme color of enabled option buttons in popups was still
controlled by the wrong color, now it's controlled by "Menu Back" text color. This
is somewhat confusing but we like some other widgets the standard colors do not
work well on the dark background of popups.
2013-06-26 20:28:12 +00:00
Campbell Barton 5fac3d9db5 remove bmesh arg from BM_face_legal_splits(), don't use a bmesh iterator. 2013-06-26 20:15:02 +00:00
Brecht Van Lommel 2daa901ec0 Fix #35883: freestyle + envmap render crashed. 2013-06-26 19:23:03 +00:00
Campbell Barton ca51930a90 fix [#33068] Can't paint weights of some vertices in some situations.
old limitation where you could only paint onto one side of a mirrored mesh (weight paint, vertex paint).
2013-06-26 18:40:55 +00:00
Campbell Barton 9c85cdceb2 remove unused struct 2013-06-26 16:59:58 +00:00
Antonis Ryakiotakis 3b0328436f Fix #35365 Texture cloning not behaving correctly in perspective view
This issue was caused by doing pespective interpolation of clone uv
coordinates in perspective view. To fix this we need to use perspective
correction for screen coordinates, but return regular barycentric
weights back for clone layer uv coordinate interpolation.
2013-06-26 14:28:39 +00:00
Bastien Montagne 42940807ee Style cleanup (indent of switch/case in own code). 2013-06-26 13:22:25 +00:00
Brecht Van Lommel ab1a0d6cf7 Fix #35879: missing 3D viewport redraws when changing lamp settings, after recent
changes to avoid unnecessary redraws.
2013-06-26 12:33:30 +00:00
Brecht Van Lommel b7ca8cef35 Fix #35880: popup menus like F6 redo did not use the right theme color for
highlighted text, it should use the UI instead of 3D view color.
2013-06-26 12:24:36 +00:00
Thomas Dinges 63f1e253c3 Merged revision(s) 57671-57767 from trunk/blender into soc-2013-dingto 2013-06-26 11:46:55 +00:00
Antonis Ryakiotakis 5eda86a678 Fix #35583 Smooth brush ignores hidden parts
The bug only exists for multires smoothing. Other cases were handled by
BKE_pbvh_vertex_iter_begin, which culled hidden parts accordingly. Added
a manual check on the multires smoothing code.
2013-06-26 11:39:48 +00:00
Antonis Ryakiotakis 56f5951ed3 Fix #34837 Texture Painting using Face Selection Mask fails to show
texture if more than 1 texture is used

The problem here is that no flushing is done when the texface image
changes between rendered triangles. Added a compare function and
slightly modified the draw_tface_mapped__set_draw callback to compliant
with the new user data.
2013-06-26 10:14:30 +00:00
Gaia Clary 725543241a Avoid blender crash during collada export (when armature has animation data) 2013-06-26 09:02:11 +00:00
Bastien Montagne 063be8fdc0 Fix [#35750] list items in properties editor (text colors not following list item theme).
Issue goes back since we stopped using LISTROW button to draw item's name (i.e. since we have custom buttons in list items!).

This commit:
* Adds a new flag to uiBlock, UI_BLOCK_LIST_ITEM, to mark blocks used for each list item.
* Adds a new button type, LISTLABEL, which basically behaves exactly as LABEL, but uses wcol_list_item color set.
* When uiItemL is called, it checks whether current block has UI_BLOCK_LIST_ITEM set, and if so, switch produced button to LISTLABEL type.
* Adds a new helper func, ui_layout_list_set_labels_active, called after the active list item has been "drawn", to set all LISTLABEL buttons as UI_SELECT.

Note custom widget_state_label() was removed, in interface_widgets.c, as it did nothing more than default widget_state().

Thanks to Brecht for the review and advices.
2013-06-26 07:28:55 +00:00
Campbell Barton c0c9f5386b fix [#35507] BMesh module: Crash on to_mesh() if faces.layers.tex is used but no loops.layers.uv 2013-06-26 04:17:41 +00:00
Campbell Barton 7d608452d0 bmesh mirror operator was counting layers in inner loop for no good reason. 2013-06-26 04:17:02 +00:00
Campbell Barton a050ddf279 remove unused callback 2013-06-26 03:42:45 +00:00
Campbell Barton 28e14794e7 fix for vert/face mask modes using last used select option when using the select-all key shortcut. 2013-06-26 02:57:05 +00:00
Campbell Barton a7858767f4 fix [#35858] Weight Paint: Hiding faces isnt flushing the flag to the vertices. 2013-06-26 02:47:56 +00:00
Campbell Barton fad1da062d correct typos in comments. 2013-06-25 22:58:23 +00:00
Gaia Clary b52d01dea6 Rename operator for better clarity 2013-06-25 22:28:20 +00:00
Gaia Clary 06b82088fa disable normalize when active vertex contains locked weights 2013-06-25 22:19:48 +00:00
Gaia Clary eacd013cb4 disable vertex editing when weight group is locked 2013-06-25 21:00:00 +00:00
Campbell Barton 8245bdca2b quiet double promotion warning and some style cleanup 2013-06-25 20:52:33 +00:00
Brecht Van Lommel daa54f0f5c Fix #35846: crash rendering with dupligroups visible in 3D viewport during render
in some cases. The dupli code would still do object updates during render indirectly,
while this is disabled for thread safety everywhere else, now we disable it for this
case as well.

Not a pretty solution but this is for the depgraph refactor to solve.
2013-06-25 14:57:45 +00:00
Brecht Van Lommel 40d4dfaba8 Fix #35824: finding missing files not working correct for filepaths with special
characters on Windows.

Replaced some uses of stat() by BLI_stat() to properly handle such filepaths.
2013-06-25 14:48:30 +00:00
Campbell Barton 689ca4aef7 correct assertion error (clear dirty normal flag when there are no vertices) 2013-06-25 14:31:52 +00:00
Brecht Van Lommel 6268434eee Fix part of #35859: lib linking errors were not shown when opening files through open recent. 2013-06-25 13:39:51 +00:00
Antonis Ryakiotakis bd59bae651 Fix #34909 Texture paint mode does not correctly update when using
textures larger than 2048x2048.

Check if texture is over user preference or GPU limit in texture paint
mode and if it is, scale the partial redraw rectangle before uploading
to GPU. This should be faster than rescaling the whole texture.
2013-06-25 13:27:43 +00:00
Brecht Van Lommel 9ae8e4ca1a Fix #35715: graph editor > channels > move.. menu item showed wrong keyboard shortcut. 2013-06-25 12:26:49 +00:00
Campbell Barton 64968e3618 patch [#35830] Add Catmull-Rom spline as an option for lattice deformer 2013-06-25 10:49:20 +00:00
Campbell Barton 37f5945188 style cleanup 2013-06-25 10:44:30 +00:00
Campbell Barton 02bcfa1950 new weight operators had zero min/max range for the 'weight_group' 2013-06-25 10:40:15 +00:00
Bastien Montagne 436c546d67 Use bit-shift op for all bit-flags.
Btw, there is a comment stating that bits 12-15 are the same for uiBlock->flag and uiBut->flag, this is obviously no more true currently (maybe it is now bits 14-17, i.e. ALIGN flags?).
2013-06-25 10:30:07 +00:00
Sergey Sharybin b132f6b6ce Merging r57726 through r57728 from trunk into soc-2013-depsgraph_mt 2013-06-25 09:32:20 +00:00
Sergey Sharybin 45d7ebbdf2 Include DNA_scene_types before ED_object instead of forward enum declaration
Forward enum declaration is a bad idea, especially for C++ which requires
enum specification to dteermine which data type to use to store it.

Alternative would be to not use enum as an arument and pass it as int,
but actually would rather be strict on typing -- using explicit enum
as parameter type helps understanding the code and prevents possible
mistakes when using the function.
2013-06-25 09:27:31 +00:00
Sergey Sharybin c4e88dd908 Experimental feature to lock the interface while rendering
Added function called WM_set_locked_interface which does
two things:

- Prevents event queue from being handled, so no operators
  or values are even possible to run or change. This prevents
  any kind of "destructive" action performed from user while
  rendering.

- Locks interface refresh for regions which does have lock
  set to truth in their template. Currently it's just a 3D
  viewport, but in the future more regions could be considered
  unsafe, or we could want to lock different parts of
  interface when doing different jobs.

  This is needed because 3D viewport could be using or changing
  the same data as renderer currently uses, leading to threading
  conflict.

Notifiers are still allowed to handle, so render progress is
seen on the screen, but would need to doublecheck on this, in
terms some notifiers could be changing the data.

For now interface locking happens for render job only in case
"Lock Interface" checkbox is enabled.

Currently this option would only make rendering thread-safe, but
in the future more benefits are possible to gain from it. Namely,
if we'll make renderer using it's own graph, this option would
allow to free memory used by 3D viewport graph, which would help
keeping memory usage low (or even would allow renderer not to
copy anything in this case).

Initially thought this change will also allow to free DMs used
by viewport, but we couldn't actually do this. This is because
of modifiers which uses other objects (like boolean), They're
in fact using viewport DM. This is bad because of few reasons.

We currently need to have viewport DM when rendering.
And for sure even in background render viewport DMs are being
calculated. This sounds like 2x computing is needed: one is for
viewport DM and one is for RenderDM.

If we'll have local graphs, we'll be able to compute RenderDMs
only and store them in graph. This would require a bit more of
the memory, but would solve current issues with viewport DM
used for modifiers operands while rendering and it should give
quite noticeable speedup.

Other tools like backing would also benefit of this option,
but rather get approval of current way of locking first.
2013-06-25 09:04:42 +00:00
Sergey Sharybin 65040080ac Merging r57695 through r57725 from trunk into soc-2013-desgraph_mt 2013-06-25 07:27:59 +00:00
Sergey Sharybin d3b6117068 Fix typo made back in svn rev35785
Callback handle was assigning to wrong storage in RE_draw_lock_cb.
So far it was completely harmless because all the callbacks are
using the same handle, so test_break_callback was using correct
handle, and since draw_lock_callback didn't use handle at all
nobody noticed this.

But this typo lead to draw_lock_callback using NULL instead of
real RenderJob, which is bad for the feature we're working in
GSoC branch.
2013-06-25 07:22:28 +00:00
Brecht Van Lommel 54db7f1b43 Buildbot: disable command length workaround for now, seems to give link errors. 2013-06-25 00:49:43 +00:00
Brecht Van Lommel d54b2391c4 Buildbot: another workaround for the Windows command length limit, this time
with the freestyle module which has 242 cpp files.
2013-06-25 00:11:04 +00:00
Brecht Van Lommel cd8959c4bf Attempt to workaround mingw64 buildbot issue with Windows command length limits,
by splitting the compositor module into 3 parts. The operating system limit is
32767, which gives less than 120 characters per file with 272 cpp files.
2013-06-24 23:55:50 +00:00
Brecht Van Lommel c2d5afd81f Fix OpenGL render not working correct with display color space set to None
(color management off).
2013-06-24 23:24:39 +00:00