Commit Graph

47594 Commits

Author SHA1 Message Date
Campbell Barton
9598990b9b UI API: don't use a text label when icon_only is set 2014-01-30 15:28:39 +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
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
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
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
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
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
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
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
Howard Trickey
37f1b717eb Bevel code cleanup: get rid of old 'ADJ' code.
The new subdiv 'adj' pattern is working well, so removing the
old code and taking opportunity to remove 'subdiv' from a number
of names.
2014-01-28 07:03:25 -05:00
Sergey Sharybin
be6643b5ec Followup to the previous commit
Need to take weight into account when drawing per-frame track
reprojection curve and when computing per-track average error.
2014-01-28 18:02:22 +06:00
Campbell Barton
c2da706a36 Code cleanup: remove references to svn and code style 2014-01-28 23:01:22 +11:00
Sergey Sharybin
9178dc9d38 Rework detector API and implement Harris detector
Switch the detector API to a single function which accepts
a float image and detector options. This makes usage of
feature detection more unified across different algorithms.

Options structure is pretty much straightforward and contains
detector to be used and all the detector-specific settings.

Also implemented Harris feature detection algorithm which
is not as fast as FAST one but is expected to detect more
robust feature points. It is also likely that less features
are detected, but better quality than quantity.

Blender will now use Harris detector by default, later we'll
remove FAST detector.
2014-01-28 15:37:19 +06:00
Sergey Sharybin
f194ab7659 Compilation fix for SCons
Was broken by recent FFmpeg changes.
2014-01-28 15:14:00 +06:00
Sergey Sharybin
dfdf19cc59 Code cleanup: more preprocessor indentation 2014-01-28 14:34:52 +06:00
Anton Khirnov
f99e581ae1 libavformat API usage: use avformat_close_input() instead of av_close_input_file() 2014-01-28 14:20:22 +06:00
Anton Khirnov
414e40c353 libavformat API usage: use avg_frame_rate instead of r_frame_rate
r_frame_rate is a guessed number defined as "the least common multiple of
all framerates in the stream". It has been deprecated and removed in new
Libav releases.

Use avg_frame_rate instead, which is the average framerate of the
stream.
2014-01-28 14:18:41 +06:00
Anton Khirnov
b7f8bfef25 libavcodec API usage: use new video encoding API
avcodec_encode_video() has been replaced with avcodec_encode_video2()
in new libavcodec versions.
2014-01-28 14:17:50 +06:00
Anton Khirnov
8c3b27ce27 Change libavcodec CODEC_ID_* to AV_CODEC_ID_*
CODEC_ID_* have been replaced with AV_CODEC_ID_* in new libavcodec
versions.

Update the code to use those new identifiers.

Added a compatibility code to ffmpeg_compat.h
2014-01-28 14:00:31 +06:00
Sergej Reich
6fe5b3be38 Fix T37673: Ray casting could fail with 0 collision margins
Use bullet's old method of doing ray casts to stay compatible with old
files. It's faster but a bit less accurate.
2014-01-28 08:31:56 +01:00
Campbell Barton
8fa4517a20 BGE: remove freestyle from stubs, all functions were out of use 2014-01-28 17:59:00 +11:00
Jens Verwiebe
8bf9bf37ec Identified the freestyle stubs breaking pragma GCC diagnostic error "-Wmissing-prototypes”, diasabling this case for now 2014-01-27 23:01:03 +01:00
Thomas Dinges
e983ed6aaa Revert the removal of Blender Internal Edge rendering, after artist feedback.
This reverts commit fb91a602c7.
2014-01-27 19:59:06 +01:00
Jens Verwiebe
15e08394a0 OSX/scons: consequently make use of the recently introduced C_COMPILER_ID and CCVERSION env vars 2014-01-27 19:56:15 +01:00
Jens Verwiebe
74108e2d6c Fix player compile in scons and disable -Wmissing-prototypes for Apple atm. 2014-01-27 19:36:05 +01:00
Campbell Barton
a5c35fb27f Code cleanup: use booleans where appropriate 2014-01-28 04:00:04 +11:00
Campbell Barton
0c6a01ca00 Use includes for blenderplayer stubs
exposes many incorrect and redundant stubs
2014-01-28 01:55:10 +11:00
Campbell Barton
5aa006bc1c Fix incorrect extern 2014-01-28 01:50:09 +11:00
Lukas Tönne
21c56f754f Fix T38355: Crash with Shader Node Group with missing datablock,
only in "Material" viewport shading.
2014-01-27 12:27:30 +01:00
Sergey Sharybin
1d12c3fd53 Implement clipboard for mask splines
So now it's possible to copy-paste splines between layers.

Implementation is pretty much straightforward and duplicates
some logic which we've got in sequencer/tracking clipboards.

Will work on a common routine for clipboards later, for now
it's not so much crucial to have.
2014-01-27 15:42:46 +06:00
Campbell Barton
bee6c1779e Code Cleanup: de-duplicate nested node tree checking 2014-01-27 20:19:27 +11:00