7 years agoRigidbody: Add option to choose mesh source for collision shapes
Sergej Reich [Thu, 26 Dec 2013 16:02:28 +0000 (17:02 +0100)]
Rigidbody: Add option to choose mesh source for collision shapes

The options are:
Base: Base mesh
Deform: shape keys and deform modifiers
Final: All deformations and modifiers

It would be nice to have a way of specifying where exactly in the
modifier stack the collision shape is generated. However this is not
staight forward since the rigid body simulation is not part of the
modifier system and would require hacks to make it work.

7 years agoUsual minor UI messages fixes...
Bastien Montagne [Thu, 26 Dec 2013 16:15:40 +0000 (17:15 +0100)]
Usual minor UI messages fixes...

7 years agoAvoid temporary change of animation data flags for nodes filter
Sergey Sharybin [Thu, 26 Dec 2013 12:46:54 +0000 (18:46 +0600)]
Avoid temporary change of animation data flags for nodes filter

Use temporary runtime flag of filter_mode argument instead.

This commit also fixes some weirdo mix of filter_mode with
filterflag bits.

7 years agoBullet: Update to svn r2719
Sergej Reich [Thu, 26 Dec 2013 11:41:52 +0000 (12:41 +0100)]
Bullet: Update to svn r2719

Fixes part of T37905, fixed constraint didn't work correctly.

7 years agoThreaded object update and EvaluationContext
Sergey Sharybin [Thu, 26 Dec 2013 11:24:42 +0000 (17:24 +0600)]
Threaded object update and EvaluationContext

Made objects update happening from multiple threads. It is a task-based
scheduling system which uses current dependency graph for spawning new
tasks. This means threading happens on object level, but the system is
flexible enough for higher granularity.

Technical details:

- Uses task scheduler which was recently committed to trunk
  (that one which Brecht ported from Cycles).

- Added two utility functions to dependency graph:
  * DAG_threaded_update_begin, which is called to  initialize threaded
    objects update. It will also schedule root DAG node to the queue,
    hence starting evaluation process.

    Initialization will calculate how much parents are to be evaluation
    before current DAG node can be scheduled. This value is used by task
    threads for faster detecting which nodes might be scheduled.

  * DAG_threaded_update_handle_node_updated which is  called from task
    thread function when node was fully handled.

This function decreases num_pending_parents of node children and
schedules children with zero valency.

    As it might have become clear, task thread receives DAG nodes and
    decides which callback to call for it.

    Currently only BKE_object_handle_update is called for object nodes.

    In the future it'll call node->callback() from Ali's new DAG.

- This required adding some workarounds to the render pipeline.
  Mainly to stop using get_object_dm() from modifiers' apply callback.
  Such a call was only a workaround for dependency graph glitch when
  rendering scene with, say, boolean modifiers before displaying
  this scene.

  Such change moves workaround from one place to another, so overall
  hackentropy remains the same.

- Added paradigm of EvaluaitonContext. Currently it's more like just a
  more reliable replacement for G.is_rendering which fails in some

  Future idea of this context is to also store all the local data needed
  for objects evaluation such as local time, Copy-on-Write data and so.

  There're two types of EvaluationContext:

  * Context used for viewport updated and owned by Main. In the future
    this context might be easily moved to Window or Screen to allo
    per-window/per-screen local time.

  * Context used by render engines to evaluate objects for render purposes.
    Render engine is an owner of this context.

  This context is passed to all object update routines.

Reviewers: brecht, campbellbarton

Reviewed By: brecht

CC: lukastoenne
Differential Revision:

7 years agoFix T37945: Crash after undo
Sergey Sharybin [Thu, 26 Dec 2013 10:34:57 +0000 (16:34 +0600)]
Fix T37945: Crash after undo

Issue was caused by some typos in readfile.c made in
original commit of image cache rewrite.

7 years agoSimplify isect_point_poly_v2 functions using angle_signed_v2v2
Campbell Barton [Thu, 26 Dec 2013 09:05:03 +0000 (20:05 +1100)]
Simplify isect_point_poly_v2 functions using angle_signed_v2v2

7 years agoCycles / Hair: Further cleanup of UI and internals.
Thomas Dinges [Thu, 26 Dec 2013 02:25:13 +0000 (03:25 +0100)]
Cycles / Hair: Further cleanup of UI and internals.

* UI: Remove deprecated condition (CURVE_RIBBONS) and hide backface property, when it's hardcoded in C (Curve/Line segments && Ribbons).

* Remove "use_tangent_normal" and "CURVE_KN_TANGENTGNORMAL" as its unused (follow up for last commit).

7 years agoPolyfill: minor changes to which fix rare errors with float precision
Campbell Barton [Thu, 26 Dec 2013 01:21:40 +0000 (12:21 +1100)]
Polyfill: minor changes to which fix rare errors with float precision

7 years agoFix T37946: Error filling ngons
Campbell Barton [Thu, 26 Dec 2013 01:05:42 +0000 (12:05 +1100)]
Fix T37946: Error filling ngons

7 years agoCycles / Hair: Some cleanup and optimizations for hair code.
Thomas Dinges [Thu, 26 Dec 2013 01:02:14 +0000 (02:02 +0100)]
Cycles / Hair: Some cleanup and optimizations for hair code.

* Remove dead code from line segments BVH refine.
CURVE_KN_TANGENTGNORMAL and CURVE_KN_TRUETANGENTGNORMAL are either both true, or both false. Therefore a true/false condition is impossible.
This was a leftover of CURVE_CUSTOM, which was removed in r59234.

* Use "else if" in blender_curves.cpp.

7 years agocorrection to last commit
Campbell Barton [Wed, 25 Dec 2013 22:46:25 +0000 (09:46 +1100)]
correction to last commit

7 years agoCorrect alloc string and comment in makesdna
Campbell Barton [Wed, 25 Dec 2013 22:29:25 +0000 (09:29 +1100)]
Correct alloc string and comment in makesdna

7 years agoFix T37939: Crash on exit (reading from freed node trees)
Campbell Barton [Wed, 25 Dec 2013 21:57:44 +0000 (08:57 +1100)]
Fix T37939: Crash on exit (reading from freed node trees)

7 years agocorrection to last commit
Campbell Barton [Wed, 25 Dec 2013 21:37:28 +0000 (08:37 +1100)]
correction to last commit

7 years agoBGE: Add missing NULL check from recent LOD updates
Campbell Barton [Wed, 25 Dec 2013 21:28:00 +0000 (08:28 +1100)]
BGE: Add missing NULL check from recent LOD updates

7 years agoCode Cleanup: remove object arg to CDDM_from_mesh mesh_create_derived
Campbell Barton [Wed, 25 Dec 2013 21:26:41 +0000 (08:26 +1100)]
Code Cleanup: remove object arg to CDDM_from_mesh mesh_create_derived

7 years agoMissed this in last commit
Sergej Reich [Wed, 25 Dec 2013 18:25:46 +0000 (19:25 +0100)]
Missed this in last commit

7 years ago3D View: Draw rigid body collision shapes.
Sergej Reich [Wed, 25 Dec 2013 18:05:55 +0000 (19:05 +0100)]
3D View: Draw rigid body collision shapes.

7 years ago3D View: Fix drawing bounds for game engine
Sergej Reich [Wed, 25 Dec 2013 18:01:42 +0000 (19:01 +0100)]
3D View: Fix drawing bounds for game engine

Needs to be drawn around the origin to accurately represent collision

7 years agoCode cleanup: no need to switch to threaded alloc, it's done by task pool
Sergey Sharybin [Wed, 25 Dec 2013 14:34:58 +0000 (20:34 +0600)]
Code cleanup: no need to switch to threaded alloc, it's done by task pool

7 years agoUse generic task scheduler for threaded image processor
Sergey Sharybin [Wed, 25 Dec 2013 14:32:13 +0000 (20:32 +0600)]
Use generic task scheduler for threaded image processor

It allows to schedule tasks of smaller size without having
threads overhead or extra worry about splitting tasks into
smaller pieces.

This simplifies code in color management which was manually
splitting task into smaller chunks to keep memory usage low.

Further optimization is possible by avoid malloc called from
threads, but that's how it used to work for ages already
and would be optimized as a separate patch.

7 years agoMotion tracking curves: correct some operator's poll functions
Sergey Sharybin [Wed, 25 Dec 2013 13:35:29 +0000 (19:35 +0600)]
Motion tracking curves: correct some operator's poll functions

Curve selection and transform were allowed in cases track's motion
curve wasn't visible.

7 years agoImplement per-frame track reprojection error visualization
Sergey Sharybin [Sun, 13 Oct 2013 20:26:29 +0000 (22:26 +0200)]
Implement per-frame track reprojection error visualization

It is now possible to display per-frame track reprojection
error in curve view of clip editor. Simply enable corresponding
option in filter buttons.

Currently displayed using blue color which might confuse with
average reprojection error, further color tweaks are possible
and easy.

Also changed icon track x/y curves. Better icons here are
really appreciated.

7 years agoFix T37709: Memory corruption when freeing custom bone shape objects
Sergey Sharybin [Wed, 25 Dec 2013 10:43:26 +0000 (16:43 +0600)]
Fix T37709: Memory corruption when freeing custom bone shape objects

Issue was caused by access to pchan->custom object from channel free
function when freeing all objects from main. Order of objects free
is not defined and such an access might easily end up with access
to freed memory.

We don't need to do user counter stuff when freeing main, so added
an _ex functions with do_id_user flag which is used when freeing main.

We had the same issue with other datablocks, so now it should be
easier to support relevant user counter.

This issue was caused by the fix for T36391, so perhaps that's indeed
high time to do real user counter.

Reviewers: brecht, campbellbarton

Reviewed By: campbellbarton

Maniphest Tasks: T37709

Differential Revision:

7 years agoCycles / OpenCL: Let the OpenCL runtime determine its optimal work-group size automat...
Thomas Dinges [Tue, 24 Dec 2013 19:20:35 +0000 (20:20 +0100)]
Cycles / OpenCL: Let the OpenCL runtime determine its optimal work-group size automatically, by passing a NULL pointer here.

This is recommended in the Intel OpenCL optimization docs ( and I can confirm a small performance increase here (1-2% on nVidia OpenCL, up to 8% on Intel OpenCL).

7 years agoUse HTTPS protocol for arc
Sergey Sharybin [Tue, 24 Dec 2013 16:52:05 +0000 (22:52 +0600)]
Use HTTPS protocol for arc

7 years agoString API: BLI_ascii_strtolower/upper now check NULL terminator
Campbell Barton [Tue, 24 Dec 2013 14:20:46 +0000 (01:20 +1100)]
String API: BLI_ascii_strtolower/upper now check NULL terminator

This wasn't needed before now, but since recent change to bUnit_ReplaceString,
it uses in a context where NULL terminator is expected - best add.
(spotted by Sergey)

7 years agofind_package(OPENAL) does not play nice with our current library naming nonvention
Martijn Berger [Tue, 24 Dec 2013 12:21:56 +0000 (13:21 +0100)]
find_package(OPENAL) does not play nice with our current library naming nonvention

7 years agoFix for own recent commit
Campbell Barton [Tue, 24 Dec 2013 07:56:07 +0000 (18:56 +1100)]
Fix for own recent commit

7 years agoUI: Display alpha checkers in image info's color swatch.
Campbell Barton [Tue, 24 Dec 2013 06:20:37 +0000 (17:20 +1100)]
UI: Display alpha checkers in image info's color swatch.

7 years agoUI: fix for slight glitch drawing image info
Campbell Barton [Tue, 24 Dec 2013 04:06:38 +0000 (15:06 +1100)]
UI: fix for slight glitch drawing image info

Using sub-pixel position made the text clip badly sometimes.

7 years agoFix T37914: Mask modifier behaves differently until painted
Campbell Barton [Tue, 24 Dec 2013 03:26:31 +0000 (14:26 +1100)]
Fix T37914: Mask modifier behaves differently until painted

7 years agoCycles / Hair: No need to calculate curvepoint() when we use Ribbon curves.
Thomas Dinges [Tue, 24 Dec 2013 03:00:27 +0000 (04:00 +0100)]
Cycles / Hair: No need to calculate curvepoint() when we use Ribbon curves.

Also some style cleanup.

7 years agoBMesh optimize face splitting by taking loops rather then verts
Campbell Barton [Tue, 24 Dec 2013 00:04:03 +0000 (11:04 +1100)]
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

7 years agoStyle cleanup: BGE
HG1 [Mon, 23 Dec 2013 18:44:54 +0000 (05:44 +1100)]
Style cleanup: BGE

7 years agoCode Cleanup: style
Campbell Barton [Mon, 23 Dec 2013 18:04:29 +0000 (05:04 +1100)]
Code Cleanup: style

7 years agoUI: communicate external data autopack better in the UI.
Simon Repp [Mon, 23 Dec 2013 17:35:32 +0000 (18:35 +0100)]
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:

7 years agoMove python threading stuff to own file in bf_python_ext
Sergey Sharybin [Mon, 23 Dec 2013 16:48:20 +0000 (22:48 +0600)]
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.

7 years agoCMake: attempt to fix Boost detection on Fedora 20, which omits -mt.
Brecht Van Lommel [Mon, 23 Dec 2013 15:52:34 +0000 (16:52 +0100)]
CMake: attempt to fix Boost detection on Fedora 20, which omits -mt.

7 years agoMake makesdna capable of detecting 32bit alignment issues on 64bit platform
Sergey Sharybin [Mon, 23 Dec 2013 15:37:39 +0000 (21:37 +0600)]
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:

7 years agoFix T37929: inherit scale for dupli faces was not shown greyed out when it should be.
Brecht Van Lommel [Mon, 23 Dec 2013 15:27:43 +0000 (16:27 +0100)]
Fix T37929: inherit scale for dupli faces was not shown greyed out when it should be.

7 years agoFix compile error on 32 bits linux / windows, wireframe modifier needs padding.
Brecht Van Lommel [Mon, 23 Dec 2013 14:47:24 +0000 (15:47 +0100)]
Fix compile error on 32 bits linux / windows, wireframe modifier needs padding.

Thanks to Scott Petrovic and Jia Wang for submitting fixes.

Differential Revision:
Differential Revision:

7 years agoSyntax correction for gpu docs, D124
Campbell Barton [Mon, 23 Dec 2013 06:24:23 +0000 (17:24 +1100)]
Syntax correction for gpu docs, D124

7 years agoBMesh API: optimize BM_edge_exists().
Campbell Barton [Mon, 23 Dec 2013 05:52:43 +0000 (16:52 +1100)]
BMesh API: optimize BM_edge_exists().

7 years agoBMesh API: make simple, low level functions inline
Campbell Barton [Mon, 23 Dec 2013 05:03:07 +0000 (16:03 +1100)]
BMesh API: make simple, low level functions inline

7 years agoFix for crash when no args where given with -o, -x command line args
Campbell Barton [Mon, 23 Dec 2013 02:08:32 +0000 (13:08 +1100)]
Fix for crash when no args where given with -o, -x command line args

Patch D123 from djnz (Masakazu Ito)

7 years agoUI: Resolve T37917, disable tooltip scaling (zoomout only)
Campbell Barton [Mon, 23 Dec 2013 01:46:50 +0000 (12:46 +1100)]
UI: Resolve T37917, disable tooltip scaling (zoomout only)

7 years agoFix for tooltip right side having zero offset
Campbell Barton [Mon, 23 Dec 2013 01:42:46 +0000 (12:42 +1100)]
Fix for tooltip right side having zero offset

7 years agoFix for converting unfilled 3d text into a mesh
Campbell Barton [Mon, 23 Dec 2013 01:12:40 +0000 (12:12 +1100)]
Fix for converting unfilled 3d text into a mesh

7 years agoDupliverts: avoid calculating normals if not used
Campbell Barton [Sun, 22 Dec 2013 23:53:46 +0000 (10:53 +1100)]
Dupliverts: avoid calculating normals if not used

7 years agoMore CMakeLists.txt changes
Martijn Berger [Sun, 22 Dec 2013 22:24:47 +0000 (23:24 +0100)]
More CMakeLists.txt changes

I added a function that adds all libdir/* to  CMAKE_PREFIX_PATH :

further there where two places where if(MSVC) else (mingq) where defined after each other. I moved those into one place.
The things common to MSVC and mingw are now blow the special code as we set libdir and such things depending on compiler.

Besides find_package() working and some cleanups there should be no functional changes

Reviewers: dingto

Reviewed By: dingto

Differential Revision:

7 years agoCode cleanup / Cycles: Remove CUDA check (we don't support sm_1x anymore) and unused...
Thomas Dinges [Sun, 22 Dec 2013 13:43:37 +0000 (14:43 +0100)]
Code cleanup / Cycles: Remove CUDA check (we don't support sm_1x anymore) and unused hair flag.

7 years agoCode cleanup / Cycles: Remove unused interpolation code for hair triangles, we only...
Thomas Dinges [Sun, 22 Dec 2013 13:13:49 +0000 (14:13 +0100)]
Code cleanup / Cycles: Remove unused interpolation code for hair triangles, we only support cardinal curves.

7 years agoFix T37898: blenderplayer painfully slow in recent builds
Sergey Sharybin [Sun, 22 Dec 2013 09:26:59 +0000 (15:26 +0600)]
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.

7 years agoAdd ItemDestroyable to the cache limitor
Sergey Sharybin [Tue, 10 Dec 2013 08:40:09 +0000 (14:40 +0600)]
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.

7 years agoCode Cleanup: de-duplicate constraint checks with armature join
Campbell Barton [Sun, 22 Dec 2013 05:05:09 +0000 (16:05 +1100)]
Code Cleanup: de-duplicate constraint checks with armature join

7 years agoStyle Cleanup: remove preprocessor indentation (updated wiki style guide too)
Campbell Barton [Sun, 22 Dec 2013 03:11:10 +0000 (14:11 +1100)]
Style Cleanup: remove preprocessor indentation (updated wiki style guide too)

7 years agoFix T37910: maya key configuration not working after recent changes.
Brecht Van Lommel [Sat, 21 Dec 2013 22:27:35 +0000 (23:27 +0100)]
Fix T37910: maya key configuration not working after recent changes.

7 years agoFix for extrude poll functions not checking active object
Campbell Barton [Sat, 21 Dec 2013 20:59:24 +0000 (07:59 +1100)]
Fix for extrude poll functions not checking active object

7 years agoerror in recent commit (this is getting ridiculous),
Campbell Barton [Sat, 21 Dec 2013 20:27:07 +0000 (07:27 +1100)]
error in recent commit (this is getting ridiculous),
faces were flipping the wrong way

7 years agoerror in last commit, missing normal update.
Campbell Barton [Sat, 21 Dec 2013 20:19:48 +0000 (07:19 +1100)]
error in last commit, missing normal update.

7 years agoerror in last commit, flag names.
Campbell Barton [Sat, 21 Dec 2013 20:16:41 +0000 (07:16 +1100)]
error in last commit, flag names.

7 years agoModifier: New Wireframe Modifier
Campbell Barton [Sat, 21 Dec 2013 20:08:35 +0000 (07:08 +1100)]
Modifier: New Wireframe Modifier

Based on patch originally by Thomas Beck,
uses options similar to solidify.

7 years agoEditMesh: wireframe tool, add offset and vgroup support (not used yet)
Campbell Barton [Sat, 21 Dec 2013 19:54:37 +0000 (06:54 +1100)]
EditMesh: wireframe tool, add offset and vgroup support (not used yet)

7 years agoFix for mesh deform modifier missing copy for flag.
Campbell Barton [Sat, 21 Dec 2013 17:45:00 +0000 (04:45 +1100)]
Fix for mesh deform modifier missing copy for flag.

7 years agoMesh Modifiers: refactor copying using a generic function
Campbell Barton [Sat, 21 Dec 2013 17:35:52 +0000 (04:35 +1100)]
Mesh Modifiers: refactor copying using a generic function

7 years agoSupport units in modal numinput
Bastien Montagne [Sat, 21 Dec 2013 16:11:43 +0000 (17:11 +0100)]
Support units in modal numinput

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).

- 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.

- 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:

7 years agoFix T37906: Adding force field settings to boids gives hard crash
Sergey Sharybin [Sat, 21 Dec 2013 14:35:47 +0000 (20:35 +0600)]
Fix T37906: Adding force field settings to boids gives hard crash

Was a regression since fix for another bug T37189.

7 years agoFix T37907: Crash when change screen layout to "Motion Tracking"
Sergey Sharybin [Sat, 21 Dec 2013 14:26:23 +0000 (20:26 +0600)]
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.

7 years agoCleanup: Code and style cleanup for Cycles curve export code.
Thomas Dinges [Fri, 20 Dec 2013 23:20:16 +0000 (00:20 +0100)]
Cleanup: Code and style cleanup for Cycles curve export code.

7 years agoFix T37903: Operator log serialization broken for sets.
Bastien Montagne [Fri, 20 Dec 2013 22:35:28 +0000 (23:35 +0100)]
Fix T37903: Operator log serialization broken for sets.

Was a mistake in rB9d6f05ed style edits (TRUE became false ;) ).

7 years agoFix bookmarks not appearing in file browser after "copy previous settings".
Brecht Van Lommel [Fri, 20 Dec 2013 16:39:22 +0000 (17:39 +0100)]
Fix bookmarks not appearing in file browser after "copy previous settings".

7 years agoFix wrong display of movie clip cache with mask overlay enabled
Sergey Sharybin [Fri, 20 Dec 2013 16:16:53 +0000 (22:16 +0600)]
Fix wrong display of movie clip cache with mask overlay enabled

7 years agoSlightly improve undo performance in dyntopo when last operator was mask
Antony Riakiotakis [Fri, 20 Dec 2013 11:41:38 +0000 (13:41 +0200)]
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).

7 years agoMSVC 2013 cmake changes
Martijn Berger [Fri, 20 Dec 2013 13:32:51 +0000 (14:32 +0100)]
MSVC 2013 cmake changes

I think we should try to use find_package more over just setting the variables it would set.
I added find_package with old behavior as a feedback for boost and openexr

@dingto can you test it in msvc2008 setup ?

Reviewers: dingto

Reviewed By: dingto

CC: dingto, brecht
Differential Revision:

7 years agoFix T37883: Dope Sheet - Selecting object channels in AnimEditors doesn't make them...
Joshua Leung [Fri, 20 Dec 2013 02:30:00 +0000 (15:30 +1300)]
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.

7 years agoCode Cleanup: style
Campbell Barton [Fri, 20 Dec 2013 10:43:42 +0000 (21:43 +1100)]
Code Cleanup: style

7 years agoDon't use with_resol suffix for functions which doesn't get resolution
Sergey Sharybin [Fri, 20 Dec 2013 10:00:05 +0000 (16:00 +0600)]
Don't use with_resol suffix for functions which doesn't get resolution

7 years agoCode cleanup: remove unused functions from mask module
Sergey Sharybin [Fri, 20 Dec 2013 09:47:19 +0000 (15:47 +0600)]
Code cleanup: remove unused functions from mask module

This functions doesn't seem to be used even from a commented code.

7 years agoFix for border select doesn't work with normalization enabled
Sergey Sharybin [Fri, 20 Dec 2013 08:46:50 +0000 (14:46 +0600)]
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.

7 years agoUI: restore confirmation popups for delete operators.
Brecht Van Lommel [Fri, 20 Dec 2013 00:38:07 +0000 (01:38 +0100)]
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.

7 years agoFix T37890: compositor did not take number of thread setting into account.
Brecht Van Lommel [Thu, 19 Dec 2013 23:43:26 +0000 (00:43 +0100)]
Fix T37890: compositor did not take number of thread setting into account.

7 years agoFix T37884: cycles hair rendering crash with UV coordinates.
Brecht Van Lommel [Thu, 19 Dec 2013 23:05:54 +0000 (00:05 +0100)]
Fix T37884: cycles hair rendering crash with UV coordinates.

This was broken in a recent bugfix for zero length hairs.

7 years agoRaise Python version to 3.3.3.
Bastien Montagne [Thu, 19 Dec 2013 21:44:51 +0000 (22:44 +0100)]
Raise Python version to 3.3.3.

7 years agoFix T37861: remove unnecessary error print when viewport rendering a curve that gives...
Brecht Van Lommel [Thu, 19 Dec 2013 18:19:31 +0000 (19:19 +0100)]
Fix T37861: remove unnecessary error print when viewport rendering a curve that gives an empty mesh.

7 years agoFix T37869: vertex paint + wireframe draw mode + smoke domain did not draw correct.
Brecht Van Lommel [Thu, 19 Dec 2013 17:52:26 +0000 (18:52 +0100)]
Fix T37869: vertex paint + wireframe draw mode + smoke domain did not draw correct.

7 years agoFix T37003, Fix T37859: smoke modifier taking deforming modifiers into account
Brecht Van Lommel [Thu, 19 Dec 2013 17:25:14 +0000 (18:25 +0100)]
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.

7 years agoChange recent fix for T37864, now only check if the file is readonly
Campbell Barton [Thu, 19 Dec 2013 15:23:21 +0000 (02:23 +1100)]
Change recent fix for T37864, now only check if the file is readonly

Other error cases are already handled elsewhere

7 years agoFix T37795: Resetting a button to the default value could crash
Campbell Barton [Thu, 19 Dec 2013 14:04:01 +0000 (01:04 +1100)]
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.

7 years agoFix missing F-Curve Generator modifier updates from the Python API.
Peter Staples [Thu, 19 Dec 2013 13:48:57 +0000 (14:48 +0100)]
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:

7 years agoSculpting:
Antony Riakiotakis [Thu, 19 Dec 2013 12:39:54 +0000 (14:39 +0200)]

* Support for symmetry in lasso masking
* Optimize away symmetry multiplication of gravity vector if no gravity
* Move flip_v3_v3 to paint_utils (used in masking as well)
* Use OpenMP for mask flood fill too.

7 years agoPatch T19235: bmesh comments (with updates)
Campbell Barton [Thu, 19 Dec 2013 11:40:25 +0000 (22:40 +1100)]
Patch T19235: bmesh comments (with updates)

7 years agoCode Cleanup: remove duplicate errorstack
Campbell Barton [Thu, 19 Dec 2013 11:38:01 +0000 (22:38 +1100)]
Code Cleanup: remove duplicate errorstack

7 years agoFollowup for fix T37718: image was not saving with proper settings second time
Sergey Sharybin [Thu, 19 Dec 2013 11:17:40 +0000 (17:17 +0600)]
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.

7 years agoFix for T37864, save/save_as blend now refuses to save and report an error, when...
Thomas Dinges [Thu, 19 Dec 2013 08:54:02 +0000 (09:54 +0100)]
Fix for T37864, save/save_as blend now refuses to save and report an error, when filepath is not writeable.

7 years agoFix T37830: UILists text now right align.
Bastien Montagne [Thu, 19 Dec 2013 08:34:53 +0000 (09:34 +0100)]
Fix T37830: UILists text now right align.

Simply check for non-embossed TEX buttons inside uiList items, and align their text like labels do.

7 years agoFix T37387 VIEW3D_OT_view_selected in sculpt mode zooms far from
Antony Riakiotakis [Thu, 19 Dec 2013 03:09:42 +0000 (05:09 +0200)]
Fix T37387 VIEW3D_OT_view_selected in sculpt mode zooms far from
sculpted object if last sculpt stroke ends outside the mesh.

Code here used the last true location which is invalid in that case,
just reuse the average stroke location instead.

7 years agoSupport for symmetry in gravity.
Antony Riakiotakis [Thu, 19 Dec 2013 00:14:25 +0000 (02:14 +0200)]
Support for symmetry in gravity.

Also fix previous commit original coordinate change for proxy calculation
(broke all non-anchored brushes -facepalm-) and cache the gravity support

7 years agoFix T37812, anchored sculpting on a flat plane created artifacts.
Antony Riakiotakis [Wed, 18 Dec 2013 23:48:30 +0000 (01:48 +0200)]
Fix T37812, anchored sculpting on a flat plane created artifacts.

This must be an ancient bug, almost as old as anchored brushes
themselves. Code did not do sphere node intersection against original
bounding boxes if an anchored brush required it. In practice this was
not easy to see because vertices were displaced inside brush radius most
of the time. However in the provided report file, displacement was far
away from the brush sphere, making the issue apparent.

Also added original check in proxy combination code (might cause issues
with dyntopo but quick test did not show any) and did some style int ->
bool style changes.