Commit Graph

66005 Commits

Author SHA1 Message Date
Lukas Tönne
2b55d7895c Fix T38403: Laplacian smooth on instanced objects leads to crash.
The laplacian modifiers (smooth and deform) use the OpenNL library,
which is not threadsafe due to the use of a global context variable.
Ideally this would be changed so that an explicit context can be
created for every caller of the OpenNL functions, but since OpenNL's
most recent version is from 2010 this is unlikely to happen.

As a workaround for now just use a mutex to prevent conflicting OpenNL
calls. Eventually OpenNL can be replaced by eigen or ceres.
2014-01-30 13:09:32 +01:00
Bastien Montagne
810c6d1880 Fix T38358: typo in own rB77089a3bf203.
Also allowed me to fine another potential issue, hit.dist was no more initialized correctly - and I had forgotten to take into account Brecht's remark about normalize_v3() also returning the vector's previous length.
2014-01-30 11:54:55 +01:00
Campbell Barton
1f64371ec0 Smallhash: refactor and fixes
- BLI_smallhash_remove didnt decrement total entries.
- rename vars to match closer to ghash.
- smallhash_lookup returns NULL when no entry found.
- using a zero value key wasn't supported.
- no need to memset or calloc bucket arrays
- add asserts for unsupported conditions.
- added BLI_smallhash_lookup_p
2014-01-30 21:10:55 +11:00
Campbell Barton
ab6157a06a PyAPI: noise.seed_set(), note that zero is a special case. 2014-01-30 17:56:07 +11:00
Campbell Barton
bd697dd4d7 Fix T38402: invalid message for bad type assignments (Quat, Vector) 2014-01-30 16:45:20 +11:00
Campbell Barton
6e479b18ef Code cleanup: remove (now) redundant empty text with icon_only 2014-01-30 16:31:57 +11:00
Campbell Barton
5f47f1370e UI: move toggle icons out of layout checks into rna 2014-01-30 16:24:51 +11:00
Campbell Barton
9598990b9b UI API: don't use a text label when icon_only is set 2014-01-30 15:28:39 +11:00
Campbell Barton
b3bb50f687 Warnings: quiet unused define message 2014-01-30 15:26:22 +11:00
Brecht Van Lommel
dd684f5a04 Fix T38400: crash in image_listener accessing deleted object.
Listeners should never dereference this pointer because the object may have
been deleted, it can only be used for comparisons.
2014-01-29 20:29:30 +01:00
Bastien Montagne
77089a3bf2 Fix T38358: Face snapping fails on Orthographic view
Issue is caused by start point of ray used to detect faces under the mouse is set rather far away in ortho 3dviews.
The loss of precision on the ray location induced by this can lead to face snapping failures.

Solution is to do the raycasting with a temp start point, much closer to the object we check, and add back
to the found distance the diff to the real start point once detection is done (as we need all hit distances
from all tested objects to be relative to a common point!).

Note this commit only addresses the "face snapping on mesh" case, other kind of snapping do not seem to suffer
from this issue.

Reviewers: brecht, campbellbarton

Differential Revision: https://developer.blender.org/D268
2014-01-29 20:10:03 +01:00
Brecht Van Lommel
95e153a319 Fix T37661: color ramps and curve mapping editing not disabled for linked data. 2014-01-29 19:02:32 +01:00
Lawrence D'Oliveiro
8ba9702284 Code cleanup: remove redundant makesrna call with platform "linuxcross".
Reviewed By: brecht

Differential Revision: https://developer.blender.org/D235
2014-01-29 18:29:20 +01:00
Brecht Van Lommel
fa0d65d512 Fix accidental description change in recent commit. 2014-01-29 18:28:09 +01:00
Brecht Van Lommel
6c329304c1 Fix bone transform issue where the bone roll depends on intermediate mouse positions.
It computed the roll compatible with the previous mouse position roll value,
now it uses the initial roll value.
2014-01-29 17:03:16 +01:00
Jonathan Williamson
26f3df5565 Update Edit Mode tabs for mesh objects
This greatly improves the mesh edit tabs after a few weeks of feedback, making the tabs more practical with less need to switch tabs often.  Based on discussion on IRC and T37568.

Reviewers: campbellbarton

CC: campbellbarton, brecht

Reviewers: campbellbarton

Reviewed By: campbellbarton

CC: campbellbarton, brecht

Differential Revision: https://developer.blender.org/D269
2014-01-29 09:53:20 -06:00
Brecht Van Lommel
289c5de7d8 Fix T38359: incorrect display of material slot with pinned particle settings.
Just hide it in this case, the material slot is not really valid without an
object in the context.
2014-01-29 16:50:37 +01:00
Brecht Van Lommel
299180f3c6 Fix T36955: API docs referred to sys.maxint which does not exist in Python 3. 2014-01-29 16:49:12 +01:00
Brecht Van Lommel
be849f6f7e Fix T37038: user preferences > input category names unnecessarily cut off. 2014-01-29 16:36:42 +01:00
Brecht Van Lommel
1e0654f162 Fix T38393: bone roll not restored properly after cancelling rotation of bones. 2014-01-29 16:14:21 +01:00
gaiaclary
41ee052a45 renamed unclear API parameter 2014-01-29 15:37:02 +01:00
Sergej Reich
f17a1bd58b Fix T38388: Creating a new scene with full copy sets rigidbody collision shapes to box.
Tweak world rebuilding logic, so it's not done before object data was
updated.
2014-01-29 15:03:41 +01:00
Brecht Van Lommel
44cb138cf2 Fix sconscript syntax error when using python 2.x instead of 3.x. 2014-01-29 14:50:20 +01:00
Thomas Dinges
ac27a1a0f6 Scons: Some tweaks for f70d966047, we don't need SSE41 kernel for 32bit, nor vc2008 x64. 2014-01-29 13:29:24 +01:00
Thomas Dinges
bc08cf5857 UI: Make "Lock Interface" a icon only button and pack into the Display row, we don't need a dedicated row for this option, also it looked quite bad for Cycles. 2014-01-29 13:29:23 +01:00
Campbell Barton
9612433884 UI: minor optimization for button lookup, break early when button found
also reduce int/float conversion
2014-01-29 23:05:32 +11:00
Sergey Sharybin
5c750b76f2 Move depsgraph debug print under --debug-depsgraph command line argument 2014-01-29 17:48:07 +06:00
Sergey Sharybin
a68ceb0af8 Option 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
  (see below) 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.

  Other tools like backing would also benefit of this option.

  It is possible to mark operator as safe to be used in locked
  interface mode by adding OPTYPE_ALLOW_LOCKED bit to operator
  template flags.

  This bit is completely handled by wm_evem_system, not
  with operator run routines, so it's still possible to
  run operators from drivers and handlers.

  Currently allowed image editor navigation and zooming.

Reviewers: brecht, campbellbarton

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D142
2014-01-29 16:07:14 +06:00
Campbell Barton
39eb314cb9 UI: Refactor timecode functions into BLI_timecode
- deduplicate timecode_simple_string from image.c
- replace V2D_UNIT_SECONDSSEQ with V2D_UNIT_SECONDS
- avoid possible buffer overflow bugs (sprintf -> BLI_snprintf)
- remove option not to use timecode and split into 2 functions

Patch D227 by Andrew Buttery with own refactoring.
2014-01-29 20:44:01 +11:00
Brecht Van Lommel
f70d966047 Scons: refactor cycles kernel code to avoid building the AVX kernel with
compilers that don't support it.

CMake still needs to updated to work the same for consistency, but this should
fix the OS X buildbot at least.
2014-01-28 23:02:06 +01:00
Brecht Van Lommel
52ea13e970 Fix T37999: incorrect windows size with Visual Studio 2013 builds.
This is a known bug in Windows, now work around it.
https://bugreports.qt-project.org/browse/QTBUG-36192
http://connect.microsoft.com/VisualStudio/feedback/details/753224/regression-getsystemmetrics-delivers-different-values
2014-01-28 21:37:40 +01:00
Campbell Barton
ae46e8a698 RNA: add rna_space_api.c for space functions 2014-01-29 07:31:54 +11:00
Campbell Barton
5643c29fbe File Reading: add revert operator
Patch D247 by Evans Jahja with edits
2014-01-29 05:34:57 +11:00
Campbell Barton
8c688a052c File Reading: add wrapper function for WM_file_read
also return cancelled when an operator fails to load a file
2014-01-29 05:33:05 +11:00
Howard Trickey
39202a53b5 Bevel: fix glitch in "pipe" case with square profile.
The "pipe" case -- where two beveled edges are in line
and there is at least one more beveled edge -- needed better
handling when profile parameter = 1.0 (square outward).
2014-01-28 13:20:42 -05:00
Martijn Berger
84f9587540 Cuda use streams and async to avoid busywaiting
This is my first stab at this and is based on this IRC converstation:

<mib2berlin> brecht: this is meaning as reminder only, I know you have other things to do > http://openvidia.sourceforge.net/index.php/Optimization_Notes#avoiding_busy_waits
<brecht> mib2berlin: thanks, bookmarked

only tested on Ubuntu 14.04 / cuda 5.0 but ill do some more testing tomorrow.

Also unsure about the placement and the lifetime of the stream and the event. But creating / deleting these seems to incur a non trivial cost.

Reviewers: brecht

Reviewed By: brecht

CC: mib2berlin, dingto

Differential Revision: https://developer.blender.org/D262
2014-01-28 18:40:08 +01:00
Campbell Barton
abf18033f3 Fix T38383: glitch drawing inactive slider 2014-01-29 04:10:39 +11:00
Campbell Barton
d34d7451a9 Viewport Drawing: apply matcaps to all objects 2014-01-29 03:39:19 +11:00
Campbell Barton
90ff9d7dca Code cleanup: remove check for painting non-mesh objects (its impossible) 2014-01-29 03:38:07 +11:00
Sergey Sharybin
aa51f499b3 Fix unused variable in the right way
It IS to be used :)
2014-01-28 22:14:50 +06:00
Campbell Barton
22e915e196 Code cleanup: unused var 2014-01-29 02:55:27 +11:00
Campbell Barton
9a1dcfbf2d Fix T38367: operators activated from popups didnt reuse settings 2014-01-29 02:54:46 +11:00
Campbell Barton
a283b099b1 Code cleanup: pep8 2014-01-29 02:20:59 +11:00
Brecht Van Lommel
deab0d1040 Fix T38381, Fix T38184: key events getting lost when modal operator is running.
There is a hack for modal keymaps and double click events, which was (ab)using
the wmEvent.prevval variable to temporarily assign it KM_DBL_CLICK indicating
that the double click event was disabled. However the value of prevval can
actually be KM_DBL_CLICK in other circumstances too, which caused a key press
event to get converted to a double click event.
2014-01-28 16:15:45 +01:00
Tamito Kajiyama
4683ac3886 Fix for a typo reported by flokkievids through code review comments D163#1. 2014-01-28 23:34:02 +09:00
Tamito Kajiyama
0b22827033 Moved the Operators class from the 'freestyle' module to the 'freestyle.types' submodule. 2014-01-28 23:34:01 +09:00
Tamito Kajiyama
e847328585 Patch set by Folkert Vries (flokkievids) with respect to T37565-patch-v1.zip (F32402).
Applied with minor modifications.
2014-01-28 23:34:00 +09:00
Tamito Kajiyama
8ab3cf1db0 Fix for a missing submodule in the top-level 'freestyle' module package.
Reported by flokkievids, thanks!
2014-01-28 23:33:59 +09:00
Tamito Kajiyama
54e9016770 Updated Freestyle API modules according to the new hierarchical package structure.
Additional bug fixes were also done along with the code updates:
* Fix for the use of old Interface1D.pointsBegin() and .pointsEnd() method names
in the definition of pyDensityAnisotropyF1D and pyViewMapGradientNormF1D.
* Fix for wrong data types (int instead of bool) for:
- pyChainSilhouetteGenericIterator constructor and its .orientation property in
modules/freestyle/chainingiterators.py.
- SpatialNoiseShader constructor in styles/external_contour_sketchy.py.
- ChainSilhouetteIterator constructor in styles/multiple_parameterization.py.
2014-01-28 23:33:58 +09:00
Tamito Kajiyama
6498b96ce7 Reorganized the Freestyle Python API in a hierarchical package structure.
Both C- and Python-coded API components were rearranged into logical groups.
New Python modules are packaged as follows:

freestyle - Top-level package
freestyle.types - Classes for core data structues (e.g., view map)
freestyle.chainingiterators - Pre-defined chaining iterators
freestyle.functions - Pre-defined 0D and 1D functions
freestyle.predicates - Pre-defined 0D and 1D predicates
freestyle.shaders - Pre-defined stroke shaders
freestyle.utils - Utility functions

The Python modules are installed in scripts/freestyle/modules.  Pre-defined
styles are installed in scripts/freestyle/styles.

To-do: update styles according to the new Freestyle API package structure.
2014-01-28 23:33:57 +09:00