21 months agoMath Lib: signed versions of quaternion angle
Campbell Barton [Tue, 19 Dec 2017 02:59:18 +0000 (13:59 +1100)]
Math Lib: signed versions of quaternion angle

There was no simple way to get the shortest quaternion angle.

21 months agoFix T53474, bevel glitchy with big objects.
Howard Trickey [Mon, 18 Dec 2017 17:24:42 +0000 (12:24 -0500)]
Fix T53474, bevel glitchy with big objects.

A comparison should have not just have been against an epsilon,
but relative to the edge length involved.
Thanks to mano-wii for patch on which this is based.

22 months agoDepsgraph: Add facilities to store what ID recalc flag component corresponds to
Sergey Sharybin [Mon, 18 Dec 2017 15:46:32 +0000 (16:46 +0100)]
Depsgraph: Add facilities to store what ID recalc flag component corresponds to

The idea is to de-duplicate logic in DEG_id_tag_update() and flushing where we
need to translate depsgraph tag or component type to ID level recalc flag.

Currently unused, but is required for Blender 2.8.

22 months agoAdd dedicated named constant for no ID recalc flag
Sergey Sharybin [Mon, 18 Dec 2017 15:40:18 +0000 (16:40 +0100)]
Add dedicated named constant for no ID recalc flag

22 months agoDepsgraph: Synchronize flushing with 2.8 branch
Sergey Sharybin [Mon, 18 Dec 2017 15:33:12 +0000 (16:33 +0100)]
Depsgraph: Synchronize flushing with 2.8 branch

Not only this helps merges form master to the branch, but also:

- Allows us to production-check changes as soon as possible.
- Avoids some unnecessary editors update about ID changes.
- Adds small optimization on queue size by always keeping one of the pointers
  outside of the queue.

22 months agoDepsgraph: Add query API to traverse all dependent IDs of the given ID
Sergey Sharybin [Fri, 1 Dec 2017 10:35:36 +0000 (11:35 +0100)]
Depsgraph: Add query API to traverse all dependent IDs of the given ID

22 months agoDepsgraph: Replace iteration over ghash with iteration over flat array
Sergey Sharybin [Wed, 8 Nov 2017 13:48:25 +0000 (14:48 +0100)]
Depsgraph: Replace iteration over ghash with iteration over flat array

22 months agoDepsgraph: Introduce flat list of ID nodes
Sergey Sharybin [Wed, 8 Nov 2017 13:29:58 +0000 (14:29 +0100)]
Depsgraph: Introduce flat list of ID nodes

The idea is to allow iterating over ID nodes in exact order of their
construction, and in order which will not change dependent on memory
pointers or anything.

22 months agoFix T53398: Surface deform modifier says that convex polygons are concave for big...
Sergey Sharybin [Mon, 18 Dec 2017 14:16:22 +0000 (15:16 +0100)]
Fix T53398: Surface deform modifier says that convex polygons are concave for big faces

Dot-product for angle check need either to be divided by vectors magnitude or be
calculated for normalized vectors.

22 months agoFix T53577: Rake sculpt/paint wrong on first step
Campbell Barton [Mon, 18 Dec 2017 03:35:15 +0000 (14:35 +1100)]
Fix T53577: Rake sculpt/paint wrong on first step

22 months agoCMake: bump minimum version to 3.5
Campbell Barton [Sat, 16 Dec 2017 14:04:05 +0000 (01:04 +1100)]
CMake: bump minimum version to 3.5

22 months agoDepsgraph: Cleanup, remove unused function
Sergey Sharybin [Fri, 15 Dec 2017 16:47:15 +0000 (17:47 +0100)]
Depsgraph: Cleanup, remove unused function

22 months agoDepsgraph: Cleanup, make naming more understandable
Sergey Sharybin [Fri, 15 Dec 2017 16:46:30 +0000 (17:46 +0100)]
Depsgraph: Cleanup, make naming more understandable

22 months agoDepsgraph: Use array instead of set for node factory
Sergey Sharybin [Fri, 15 Dec 2017 16:42:07 +0000 (17:42 +0100)]
Depsgraph: Use array instead of set for node factory

Avoids extra time spent on hashing and such.

Old comment is kind of weird, because types we can totally make a sequent
integer values.

22 months agoDepsgraph: Add named constant with number of node types
Sergey Sharybin [Fri, 15 Dec 2017 16:39:01 +0000 (17:39 +0100)]
Depsgraph: Add named constant with number of node types

22 months agoDepsgraph: Don't use negative enum value
Sergey Sharybin [Fri, 15 Dec 2017 16:38:12 +0000 (17:38 +0100)]
Depsgraph: Don't use negative enum value

Not sure why it sohuld be negative, we shouldn't be using any explicit value

22 months agomath utils: Add utilities to scan bit and clear it
Sergey Sharybin [Fri, 15 Dec 2017 15:41:31 +0000 (16:41 +0100)]
math utils: Add utilities to scan bit and clear it

22 months agoMath utils: Go away form naive code for highest_order_bit_uint
Sergey Sharybin [Fri, 15 Dec 2017 15:28:53 +0000 (16:28 +0100)]
Math utils: Go away form naive code for highest_order_bit_uint

22 months agoMath utils: Add bit scan operations
Sergey Sharybin [Fri, 15 Dec 2017 15:22:54 +0000 (16:22 +0100)]
Math utils: Add bit scan operations

22 months agoMath utils: Make it more clear what the functions are returning
Sergey Sharybin [Fri, 15 Dec 2017 15:17:37 +0000 (16:17 +0100)]
Math utils: Make it more clear what the functions are returning

22 months agoMath utils: Cleanup, use _uint suffix for function which operates on uint
Sergey Sharybin [Fri, 15 Dec 2017 15:16:22 +0000 (16:16 +0100)]
Math utils: Cleanup, use _uint suffix for function which operates on uint

22 months agoTracking: Cleanup, fix typo in variable name
Sebastian Koenig [Fri, 15 Dec 2017 12:53:44 +0000 (13:53 +0100)]
Tracking: Cleanup, fix typo in variable name

22 months agoTracking: Pass all markers to autotrack at once
Sergey Sharybin [Fri, 15 Dec 2017 11:51:53 +0000 (12:51 +0100)]
Tracking: Pass all markers to autotrack at once

This solves delay before tracking actually starts.

The issue is reported by Sebastian over IRC, thanks!

22 months agoLibmv: Add C-API function to set all markers within AutoTrack structure
Sergey Sharybin [Fri, 15 Dec 2017 11:51:17 +0000 (12:51 +0100)]
Libmv: Add C-API function to set all markers within AutoTrack structure

22 months agoTracking: Cleanup, make autotrack context creation code more granular
Sergey Sharybin [Fri, 15 Dec 2017 11:35:41 +0000 (12:35 +0100)]
Tracking: Cleanup, make autotrack context creation code more granular

22 months agoTracking: Cleanup, use more const qualifiers when appropriate
Sergey Sharybin [Fri, 15 Dec 2017 11:23:35 +0000 (12:23 +0100)]
Tracking: Cleanup, use more const qualifiers when appropriate

22 months agoMove ID recalc flags into dedicated field in ID
Sergey Sharybin [Fri, 15 Dec 2017 08:43:18 +0000 (09:43 +0100)]
Move ID recalc flags into dedicated field in ID

Currently this is a no-visible-changes change, but the idea is to use this
dedicated flag to tell which exact components of ID changed, make it more
granular than just OBJECT and OBJECT_DATA. Allow setting this field based
on what components new dependency graph flushed on evaluation.

22 months agoDNA: Add dedicated recalc flag to ID
Sergey Sharybin [Thu, 14 Dec 2017 14:12:05 +0000 (15:12 +0100)]
DNA: Add dedicated recalc flag to ID

Currently unused, but this is where LIB_TAG_ID_RECALC* flags will go.

Also modified other DNA to make pointer property being followed by pointer.
Makes it easier to keep track of alignment and extend nested structures without
ruining anything.

22 months agoFix missing update for particles w/ fluids
Campbell Barton [Thu, 14 Dec 2017 01:06:36 +0000 (12:06 +1100)]
Fix missing update for particles w/ fluids

D2955 by @GonVas

22 months agoFix T53322: Collada export crash w/ shape keys
Campbell Barton [Wed, 13 Dec 2017 23:41:39 +0000 (10:41 +1100)]
Fix T53322: Collada export crash w/ shape keys

D2958 by @cmbasnett

22 months agoFix T53550: E hotkey not working after the color-band picker commit
Ray Molenkamp [Wed, 13 Dec 2017 13:59:44 +0000 (06:59 -0700)]
Fix T53550: E hotkey not working after the color-band picker commit

Related to D2886, the color-band picker was lacking a poll function.

22 months agoDepsgraph: Cleanup, use less explicit checks of LIB_TAG_ID_RECALC_DATA
Sergey Sharybin [Wed, 13 Dec 2017 13:39:56 +0000 (14:39 +0100)]
Depsgraph: Cleanup, use less explicit checks of LIB_TAG_ID_RECALC_DATA

This is a part of ongoing work in Blender 2.8, where we need to replace

  `object->id.tag & LIB_TAG_ID_RECALC_DATA`


  `object->data->id.tag & LIB_TAG_ID_RECALC`

Should be no user measurable difference.

22 months agoFix T53404 - Python API documentation: UI Layout Emboss description wording
João Seixas [Wed, 13 Dec 2017 11:56:17 +0000 (12:56 +0100)]
Fix T53404 - Python API documentation: UI Layout Emboss description wording

Changed the suggested word

Reviewers: #documentation, #python, sergey

Reviewed By: #documentation, sergey

Tags: #documentation, #python

Differential Revision:

22 months agoFix T53547: Metaballs as dupli objects are not updated with the new Depsgraph
Sergey Sharybin [Wed, 13 Dec 2017 09:50:28 +0000 (10:50 +0100)]
Fix T53547: Metaballs as dupli objects are not updated with the new Depsgraph

Follow relations from old dependency graph.

22 months agoFix T53552: Unneeded particle cache reset on frame change
Sergey Sharybin [Wed, 13 Dec 2017 09:47:59 +0000 (10:47 +0100)]
Fix T53552: Unneeded particle cache reset on frame change

There shouldn't be a time dependency to cache reset operation.

22 months agoT53471: Fix crash with
Troy Sobotka [Wed, 13 Dec 2017 05:54:45 +0000 (16:54 +1100)]
T53471: Fix crash with

Default DPI of new inkscape caused incorrect image size.

22 months agoFix T53529: Rip crashes w/ wire edge
Campbell Barton [Wed, 13 Dec 2017 05:14:37 +0000 (16:14 +1100)]
Fix T53529: Rip crashes w/ wire edge

22 months agoUI: color-band eyedropper now combines samples
Campbell Barton [Wed, 13 Dec 2017 04:35:03 +0000 (15:35 +1100)]
UI: color-band eyedropper now combines samples

Resulting color-band was too noisy (especially with photos),
use gauss filter to take surrounding samples into account.

22 months agoFix bplayer (c).
Bastien Montagne [Tue, 12 Dec 2017 13:23:19 +0000 (14:23 +0100)]
Fix bplayer (c).

22 months agoRevert "Node selection: Stop operator when mouse selection selected a node"
Sergey Sharybin [Tue, 12 Dec 2017 09:34:38 +0000 (10:34 +0100)]
Revert "Node selection: Stop operator when mouse selection selected a node"

While re-route operator got fixed, node resize became broken.

This reverts commit 43f33ea30052b525b5cee5cea2a9e6431597660c.

22 months agoCleanup: split eyedropper into separate files
Campbell Barton [Tue, 12 Dec 2017 04:16:13 +0000 (15:16 +1100)]
Cleanup: split eyedropper into separate files

Each handles separate data-types and didn't share much logic,
better put each in it's own file.

22 months agoCleanup: minor edits to last commit
Campbell Barton [Tue, 12 Dec 2017 02:37:21 +0000 (13:37 +1100)]
Cleanup: minor edits to last commit

22 months agoUI: rewrite color-ramp re-sampling
Campbell Barton [Tue, 12 Dec 2017 02:14:23 +0000 (13:14 +1100)]
UI: rewrite color-ramp re-sampling

Instead of picking evenly spaced pixels color-ramp simplification
now works by removing elements with the lowest cost.

22 months agoAdd eyedropper to color-ramp widget
Ray Molenkamp [Mon, 11 Dec 2017 23:19:55 +0000 (10:19 +1100)]
Add eyedropper to color-ramp widget

D2886 by @LazyDodo with edit's by @campbellbarton

The line drawn with the eyedropper is used to fill the color-ramp.

22 months agoNode selection: Stop operator when mouse selection selected a node
Sergey Sharybin [Mon, 11 Dec 2017 16:38:47 +0000 (17:38 +0100)]
Node selection: Stop operator when mouse selection selected a node

Previously, hitting Shift-LMB will first invoke selection operator, which
then later on is transformed to mouse tweak used for reroute operator.

This was causing problems extending selection with Shift-LMB when clicking
fast or from a tablet.

22 months agoFix T53528: Empty thumbnails in filebrowser
Sergey Sharybin [Mon, 11 Dec 2017 14:47:12 +0000 (15:47 +0100)]
Fix T53528: Empty thumbnails in filebrowser

Bug in recent refactor.

22 months agoFix for inset when accessed from spacebar search
Campbell Barton [Mon, 11 Dec 2017 14:38:33 +0000 (01:38 +1100)]
Fix for inset when accessed from spacebar search

22 months agoCleanup: whitespace
Campbell Barton [Mon, 11 Dec 2017 08:28:40 +0000 (19:28 +1100)]
Cleanup: whitespace

22 months agoDNA/RNA: add 'py_instance' for ID types
Campbell Barton [Mon, 11 Dec 2017 07:37:54 +0000 (18:37 +1100)]
DNA/RNA: add 'py_instance' for ID types

Avoid creating new Python instances
every time a scene, object, mesh .. etc are accessed.

Also resolves crashes T28724, T53530
although it's only valid for ID types, not modifiers vertices etc.

Back-ported from blender2.8 branch.

22 months agoMSVC: Fix compiling with some system languages
Campbell Barton [Sun, 10 Dec 2017 04:12:31 +0000 (15:12 +1100)]
MSVC: Fix compiling with some system languages

Report from @cyaoeu that compiling failed for Japanese system language.

22 months agoFix T53512: Vertices with index 0 were not being selected
Germano [Fri, 8 Dec 2017 14:42:00 +0000 (12:42 -0200)]
Fix T53512: Vertices with index 0 were not being selected

Bug introduced on rB9f5bf197a0c3.
The offset for selection of vertices (`bm_vertoffs`) starts where the offset o edges ends (`bm_wireoffs`).
However, the `bm_wireoffs` depends on the offset of face selection (`bm_solidoffs`).

Before the commit that introduced the bug, the drawn of edges (in backbuff) was always computed along with the `bm_wireoffs`:
bm_wireoffs = bm_solidoffs + em->bm->totedge;

Now that the edges are not always drawn in backbuff, `bm_wireoffs` has to start from `bm_solidoffs`.

22 months agoCleanup: moar busting of nasty C++ keywords-as-varnames.
Bastien Montagne [Fri, 8 Dec 2017 13:50:45 +0000 (14:50 +0100)]
Cleanup: moar busting of nasty C++ keywords-as-varnames.

22 months agoCleanup: avoid using C++ keywords as variables, even in pure C code.
Bastien Montagne [Fri, 8 Dec 2017 13:36:07 +0000 (14:36 +0100)]
Cleanup: avoid using C++ keywords as variables, even in pure C code.

This tends to make some IDE unhappy (like QTCreator)...

22 months agoCycles: Fix difference in image Clip extension method between CPU and GPU
Sergey Sharybin [Fri, 8 Dec 2017 10:20:12 +0000 (11:20 +0100)]
Cycles: Fix difference in image Clip extension method between CPU and GPU

Our own implementation was behaving different comparing to OSL and GPU,
namely on the border pixels OSL and CUDA was doing interpolation with
black, but we were clamping coordinate.

This partially fixes issue reported in T53452.

Similar change should also be done for 3D interpolation perhaps, but this
is to be investigated separately.

22 months agoCycles: Cleanup, split 2D interpolation function
Sergey Sharybin [Thu, 7 Dec 2017 16:45:37 +0000 (17:45 +0100)]
Cycles: Cleanup, split 2D interpolation function

22 months agobl_app_override: support empty UI layout items
Campbell Barton [Fri, 8 Dec 2017 01:48:12 +0000 (12:48 +1100)]
bl_app_override: support empty UI layout items

Returning None from ui_ignore functions creates empty labels,
allows removing items without breaking layout in some cases.

22 months agoFix Collada building
Dalai Felinto [Thu, 7 Dec 2017 13:44:05 +0000 (11:44 -0200)]
Fix Collada building

Bug introduced in cc811d1fd634.

22 months agoFix T53419: Masking "Add" menu is not present in Image editor, but shortcut is
Sebastian Koenig [Thu, 7 Dec 2017 13:44:10 +0000 (14:44 +0100)]
Fix T53419: Masking "Add" menu is not present in Image editor, but shortcut is

22 months agoDPX/Cineon: Report orientation when running with --debug
Sergey Sharybin [Thu, 7 Dec 2017 13:37:59 +0000 (14:37 +0100)]
DPX/Cineon: Report orientation when running with --debug

22 months agoCMake: GREATER_EQUAL is from v3.7, use GREATER
Campbell Barton [Thu, 7 Dec 2017 13:19:35 +0000 (00:19 +1100)]
CMake: GREATER_EQUAL is from v3.7, use GREATER

22 months agoFix T53499: Cannot load DPX files
Sergey Sharybin [Thu, 7 Dec 2017 13:07:57 +0000 (14:07 +0100)]
Fix T53499: Cannot load DPX files

The issue was caused by unspecified color transfer. New behavior gives same
result as other viewers here, so likely is fine :)

22 months agoDPX: Fix wrong flag being checked for debug
Sergey Sharybin [Thu, 7 Dec 2017 13:04:12 +0000 (14:04 +0100)]
DPX: Fix wrong flag being checked for debug

22 months agoCleanup: Use BKE_colorband prefix
Campbell Barton [Thu, 7 Dec 2017 04:52:59 +0000 (15:52 +1100)]
Cleanup: Use BKE_colorband prefix

22 months agoCleanup: extract BKE_colorband from BKE_texture
Campbell Barton [Thu, 7 Dec 2017 04:36:26 +0000 (15:36 +1100)]
Cleanup: extract BKE_colorband from BKE_texture

22 months agoArray Modifier: option to offset UV's
Campbell Barton [Wed, 6 Dec 2017 17:33:52 +0000 (04:33 +1100)]
Array Modifier: option to offset UV's

D2912 by @Zuorion

22 months agoProposed fix for T53263 -- Blender crashes when rendering with Stabilizer 2D node...
Daniel Silva [Wed, 6 Dec 2017 13:53:21 +0000 (14:53 +0100)]
Proposed fix for T53263 -- Blender crashes when rendering with Stabilizer 2D node without movie selected

The program won't crash anymore, but a warning won't be displayed. Anyway, this gives the user the chance to save the project.

Reviewers: lukastoenne

Differential Revision:

22 months agoLibrary: Add flag top keep ID library pointer around
Sergey Sharybin [Wed, 6 Dec 2017 11:59:00 +0000 (12:59 +0100)]
Library: Add flag top keep ID library pointer around

This only applies to ID being copied outside of bmain. Handy for cases when it
is important to check if the copy corresponds to a data block coming from

Example of that is proxy evaluation with copy on write.

Thanks Bastien for review!

22 months agoDepsgraph: Cleanup, use less geenric data type
Sergey Sharybin [Wed, 6 Dec 2017 11:26:10 +0000 (12:26 +0100)]
Depsgraph: Cleanup, use less geenric data type

22 months agoDepsgraph: Forgot this in previous commit
Sergey Sharybin [Wed, 6 Dec 2017 10:57:57 +0000 (11:57 +0100)]
Depsgraph: Forgot this in previous commit

22 months agoDepsgraph: Ignore text datablocks from nodes
Sergey Sharybin [Wed, 6 Dec 2017 10:54:52 +0000 (11:54 +0100)]
Depsgraph: Ignore text datablocks from nodes

Those are not part of dependency graph, but still could be referenced from
the tree.

22 months agoDepsgraph: Add missing bone properties to proxy rigs
Sergey Sharybin [Tue, 5 Dec 2017 16:34:11 +0000 (17:34 +0100)]
Depsgraph: Add missing bone properties to proxy rigs

22 months agoDepsgraph: Add missing NULL pointer check
Sergey Sharybin [Tue, 5 Dec 2017 16:14:17 +0000 (17:14 +0100)]
Depsgraph: Add missing NULL pointer check

22 months agoDepsgraph: Cleanup, remove unused function
Sergey Sharybin [Tue, 5 Dec 2017 15:51:21 +0000 (16:51 +0100)]
Depsgraph: Cleanup, remove unused function

22 months agoDepsgraph: Remove workaround of parameters animation in node tree
Sergey Sharybin [Tue, 5 Dec 2017 15:47:20 +0000 (16:47 +0100)]
Depsgraph: Remove workaround of parameters animation in node tree

22 months agoDepsgraph: Remove workaround of parameters animation in lamp
Sergey Sharybin [Tue, 5 Dec 2017 15:43:27 +0000 (16:43 +0100)]
Depsgraph: Remove workaround of parameters animation in lamp

22 months agoDepsgraph: Remove workaround of parameters animation in camera
Sergey Sharybin [Tue, 5 Dec 2017 15:35:58 +0000 (16:35 +0100)]
Depsgraph: Remove workaround of parameters animation in camera

This is something what should be done by build_animation().

22 months agoDepsgraph: Remove workaround for animated geometry component
Sergey Sharybin [Tue, 5 Dec 2017 15:21:28 +0000 (16:21 +0100)]
Depsgraph: Remove workaround for animated geometry component

22 months agoDepsgraph: Remove workaround for animated modifiers
Sergey Sharybin [Tue, 5 Dec 2017 15:19:00 +0000 (16:19 +0100)]
Depsgraph: Remove workaround for animated modifiers

22 months agoDepsgraph: Leave armature animation relation to build_animation()
Sergey Sharybin [Tue, 5 Dec 2017 15:09:03 +0000 (16:09 +0100)]
Depsgraph: Leave armature animation relation to build_animation()

Needs some optimization trick to hook pose init function to animation
instead of a bone. This is how flush will work anyway.

22 months agoDepsgraph: Use default argument value for relations builder
Sergey Sharybin [Tue, 5 Dec 2017 14:59:48 +0000 (15:59 +0100)]
Depsgraph: Use default argument value for relations builder

Follows other function definitions.

22 months agoDepsgraph: Cleanup, line wrapping
Sergey Sharybin [Tue, 5 Dec 2017 12:02:36 +0000 (13:02 +0100)]
Depsgraph: Cleanup, line wrapping

22 months agoDepsgraph: Use build_animation() to build relations to animated properties
Sergey Sharybin [Tue, 5 Dec 2017 11:57:01 +0000 (12:57 +0100)]
Depsgraph: Use build_animation() to build relations to animated properties

Before that it was up to lots of other places to keep track on whether
something is to be dependent on time or not. Was annoying, and unreliable,
and fragile.

This commit avoids hacks in object builder. Other areas will be adopted

22 months agoDepsgraph: Add ability to check whether relation exists before adding it
Sergey Sharybin [Tue, 5 Dec 2017 11:52:17 +0000 (12:52 +0100)]
Depsgraph: Add ability to check whether relation exists before adding it

Currently not used, but this is aimed to be used when adding relations from
FCurve to property which is being animated.

22 months agoDepsgraph: Cleanup, line wrapping
Sergey Sharybin [Tue, 5 Dec 2017 10:37:27 +0000 (11:37 +0100)]
Depsgraph: Cleanup, line wrapping

22 months agoDepsgraph: Move implementation part of relations header to own file
Sergey Sharybin [Tue, 5 Dec 2017 10:35:28 +0000 (11:35 +0100)]
Depsgraph: Move implementation part of relations header to own file

22 months agoFix T53408: Updating Cycles Nodes via Drivers in Material View
Sergey Sharybin [Tue, 5 Dec 2017 09:14:12 +0000 (10:14 +0100)]
Fix T53408: Updating Cycles Nodes via Drivers in Material View

This is something what should be supported by the new dependency graph.

Fixed by making it so, build_animation() adds relation between Animation
component and whatever-is-being-animated. In fact, for now, only relations to
ID properties are added. Rest of the relations are kind of hacked in all over
the code and needs to be removed and verified with specific .blend files.

22 months agoDepsgraph: Cleanup, split build_animation
Sergey Sharybin [Mon, 4 Dec 2017 17:34:27 +0000 (18:34 +0100)]
Depsgraph: Cleanup, split build_animation

22 months agoDepsgraph: Correct fallback for the parameters calculation
Sergey Sharybin [Mon, 4 Dec 2017 17:24:38 +0000 (18:24 +0100)]
Depsgraph: Correct fallback for the parameters calculation

We can't use a single component here, sine it might consist of multiple
operations. So, for example, having driver operation will confuse targets
of another driver.

22 months agoDepsgraph: Cleanup, split driver builder function
Sergey Sharybin [Mon, 4 Dec 2017 17:11:43 +0000 (18:11 +0100)]
Depsgraph: Cleanup, split driver builder function

22 months agoDepsgraph: Cleanup, deduplicate as much as possible in build_driver
Sergey Sharybin [Mon, 4 Dec 2017 17:08:29 +0000 (18:08 +0100)]
Depsgraph: Cleanup, deduplicate as much as possible in build_driver

22 months agoDepsgraph: Remove old comments which are likely outdated
Sergey Sharybin [Mon, 4 Dec 2017 17:06:52 +0000 (18:06 +0100)]
Depsgraph: Remove old comments which are likely outdated

22 months agoDepsgraph: Replace last obvious part of driver builder with generic RNA code
Sergey Sharybin [Mon, 4 Dec 2017 17:06:13 +0000 (18:06 +0100)]
Depsgraph: Replace last obvious part of driver builder with generic RNA code

22 months agoDepsgraph: Add criteria for RNA_Key
Sergey Sharybin [Mon, 4 Dec 2017 17:06:02 +0000 (18:06 +0100)]
Depsgraph: Add criteria for RNA_Key

22 months agoDepsgraph: Remove confusing ID node criteria
Sergey Sharybin [Mon, 4 Dec 2017 17:00:24 +0000 (18:00 +0100)]
Depsgraph: Remove confusing ID node criteria

it sometimes overrides all possible other criteria, even tho we might want to
be very specific about what component we are looking for here.

22 months agoDepsgraph: Use generic function for shape key driver target
Sergey Sharybin [Mon, 4 Dec 2017 16:39:58 +0000 (17:39 +0100)]
Depsgraph: Use generic function for shape key driver target

There was a second place for shape keys.

22 months agoDepsgraph: Fix wrong relations built for drivers
Sergey Sharybin [Mon, 4 Dec 2017 16:37:21 +0000 (17:37 +0100)]
Depsgraph: Fix wrong relations built for drivers

When target was changed from bone to regular object, new dependency graph was
still trying to build relations as if driver was using bone.

22 months agoDepsgraph: Use generic function for shape key driver target
Sergey Sharybin [Mon, 4 Dec 2017 13:08:53 +0000 (14:08 +0100)]
Depsgraph: Use generic function for shape key driver target

22 months agoDepsgraph: Use generic function for modifiers driver target
Sergey Sharybin [Mon, 4 Dec 2017 12:59:17 +0000 (13:59 +0100)]
Depsgraph: Use generic function for modifiers driver target

22 months agoDepsgraph: Use existing utility function to get driver target node
Sergey Sharybin [Mon, 4 Dec 2017 12:49:13 +0000 (13:49 +0100)]
Depsgraph: Use existing utility function to get driver target node

Only done for pose bone for now, but the idea is to go case bu case in
build_driver and move all custom logic from there to find_node_from_pointer().

22 months agoDepsgraph: Cleanup, split build_driver function up
Sergey Sharybin [Mon, 4 Dec 2017 16:01:02 +0000 (17:01 +0100)]
Depsgraph: Cleanup, split build_driver function up