Sergey Sharybin
342226a670
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.
2017-12-18 16:33:12 +01:00
Sergey Sharybin
344eff9c48
Depsgraph: Add query API to traverse all dependent IDs of the given ID
2017-12-18 16:15:47 +01:00
Sergey Sharybin
c5d9eb88e2
Depsgraph: Replace iteration over ghash with iteration over flat array
2017-12-18 16:14:50 +01:00
Sergey Sharybin
8fe556a337
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.
2017-12-18 16:10:22 +01:00
Sergey Sharybin
a41fe949d8
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.
2017-12-18 15:16:22 +01:00
Campbell Barton
076616898b
Fix T53577: Rake sculpt/paint wrong on first step
2017-12-18 14:35:15 +11:00
Sergey Sharybin
50ef25d73f
Depsgraph: Cleanup, remove unused function
2017-12-15 17:47:15 +01:00
Sergey Sharybin
da570fcbb4
Depsgraph: Cleanup, make naming more understandable
2017-12-15 17:46:30 +01:00
Sergey Sharybin
3d72b94196
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.
2017-12-15 17:43:07 +01:00
Sergey Sharybin
4ce38abfcd
Depsgraph: Add named constant with number of node types
2017-12-15 17:39:01 +01:00
Sergey Sharybin
68a7f5e594
Depsgraph: Don't use negative enum value
...
Not sure why it sohuld be negative, we shouldn't be using any explicit value
comparison.
2017-12-15 17:38:12 +01:00
Sergey Sharybin
5e28b71457
math utils: Add utilities to scan bit and clear it
2017-12-15 16:54:28 +01:00
Sergey Sharybin
de9e5a0926
Math utils: Go away form naive code for highest_order_bit_uint
2017-12-15 16:54:28 +01:00
Sergey Sharybin
412de222f8
Math utils: Add bit scan operations
2017-12-15 16:54:28 +01:00
Sergey Sharybin
02ec0b53df
Math utils: Make it more clear what the functions are returning
2017-12-15 16:54:28 +01:00
Sergey Sharybin
2aa0f8a41b
Math utils: Cleanup, use _uint suffix for function which operates on uint
2017-12-15 16:54:28 +01:00
Sebastian Koenig
ff0d3c520f
Tracking: Cleanup, fix typo in variable name
2017-12-15 13:53:44 +01:00
Sergey Sharybin
6b62f1dcb9
Tracking: Pass all markers to autotrack at once
...
This solves delay before tracking actually starts.
The issue is reported by Sebastian over IRC, thanks!
2017-12-15 12:51:53 +01:00
Sergey Sharybin
e50442418a
Tracking: Cleanup, make autotrack context creation code more granular
2017-12-15 12:37:23 +01:00
Sergey Sharybin
4cc0f09881
Tracking: Cleanup, use more const qualifiers when appropriate
2017-12-15 12:23:53 +01:00
Sergey Sharybin
c4046e9082
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.
2017-12-15 09:43:18 +01:00
Sergey Sharybin
400d59be9b
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.
2017-12-14 15:25:51 +01:00
Campbell Barton
99b7dc60be
Fix missing update for particles w/ fluids
...
D2955 by @GonVas
2017-12-14 12:06:36 +11:00
Campbell Barton
1f95347882
Fix T53322: Collada export crash w/ shape keys
...
D2958 by @cmbasnett
2017-12-14 10:59:41 +11:00
Ray Molenkamp
a621850224
Fix T53550: E hotkey not working after the color-band picker commit
...
Related to D2886, the color-band picker was lacking a poll function.
2017-12-13 07:00:16 -07:00
Sergey Sharybin
81f135677b
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`
with
`object->data->id.tag & LIB_TAG_ID_RECALC`
Should be no user measurable difference.
2017-12-13 14:43:32 +01:00
João Seixas
4838512e7d
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: https://developer.blender.org/D2952
2017-12-13 12:56:38 +01:00
Sergey Sharybin
2ac33b47dc
Fix T53547: Metaballs as dupli objects are not updated with the new Depsgraph
...
Follow relations from old dependency graph.
2017-12-13 10:50:28 +01:00
Sergey Sharybin
2c64615438
Fix T53552: Unneeded particle cache reset on frame change
...
There shouldn't be a time dependency to cache reset operation.
2017-12-13 10:47:59 +01:00
Campbell Barton
be54868ec3
Fix T53529: Rip crashes w/ wire edge
2017-12-13 16:14:37 +11:00
Campbell Barton
611752ce33
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.
2017-12-13 15:38:11 +11:00
Bastien Montagne
ef8bbc8cba
Fix bplayer (c).
2017-12-12 14:23:19 +01:00
Sergey Sharybin
99069c8ae2
Revert "Node selection: Stop operator when mouse selection selected a node"
...
While re-route operator got fixed, node resize became broken.
This reverts commit 43f33ea300 .
2017-12-12 10:34:38 +01:00
Campbell Barton
b3c147a04f
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.
2017-12-12 15:44:59 +11:00
Campbell Barton
58aa31a9ec
Cleanup: minor edits to last commit
2017-12-12 13:37:21 +11:00
Campbell Barton
f7a1a1a700
UI: rewrite color-ramp re-sampling
...
Instead of picking evenly spaced pixels color-ramp simplification
now works by removing elements with the lowest cost.
2017-12-12 13:20:56 +11:00
Ray Molenkamp
7ae4c3a019
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.
2017-12-12 13:11:38 +11:00
Sergey Sharybin
43f33ea300
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.
2017-12-11 17:38:47 +01:00
Sergey Sharybin
7719f7d27a
Fix T53528: Empty thumbnails in filebrowser
...
Bug in recent refactor.
2017-12-11 15:47:52 +01:00
Campbell Barton
54f7bb4582
Fix for inset when accessed from spacebar search
2017-12-12 01:38:33 +11:00
Campbell Barton
dd4e0cd3e3
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.
2017-12-11 18:37:54 +11:00
Germano
e6838ecc26
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`.
2017-12-08 12:42:00 -02:00
Bastien Montagne
f39a97fac5
Cleanup: moar busting of nasty C++ keywords-as-varnames.
2017-12-08 14:50:45 +01:00
Bastien Montagne
c7ee64b2d9
Cleanup: avoid using C++ keywords as variables, even in pure C code.
...
This tends to make some IDE unhappy (like QTCreator)...
2017-12-08 14:36:07 +01:00
Dalai Felinto
237df2f860
Fix Collada building
...
Bug introduced in cc811d1fd6 .
2017-12-07 11:51:46 -02:00
Sergey Sharybin
70957565dd
DPX/Cineon: Report orientation when running with --debug
2017-12-07 14:38:20 +01:00
Sergey Sharybin
bfbcc5e581
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 :)
2017-12-07 14:07:57 +01:00
Sergey Sharybin
9ea7d0bf44
DPX: Fix wrong flag being checked for debug
2017-12-07 14:04:27 +01:00
Campbell Barton
2e2e6e3bdb
Cleanup: Use BKE_colorband prefix
2017-12-07 15:52:59 +11:00
Campbell Barton
cc811d1fd6
Cleanup: extract BKE_colorband from BKE_texture
2017-12-07 15:40:11 +11:00