18 months agoMerge branch 'blender2.7'
Brecht Van Lommel [Tue, 19 Mar 2019 17:54:17 +0000 (18:54 +0100)]
Merge branch 'blender2.7'

18 months agoUI: Remove redundant separator
William Reynish [Tue, 19 Mar 2019 17:41:33 +0000 (18:41 +0100)]
UI: Remove redundant separator

18 months agoUI: Make Stroke panel consistent between Image Editor and 3D View texture painting
William Reynish [Tue, 19 Mar 2019 17:39:08 +0000 (18:39 +0100)]
UI: Make Stroke panel consistent between Image Editor and 3D View texture painting

This should probably become de-duplicated, but at least they look consistent now

18 months agoFix: own wrong path to image paint tool settings in recent commit
William Reynish [Tue, 19 Mar 2019 17:37:51 +0000 (18:37 +0100)]
Fix: own wrong path to image paint tool settings in recent commit

18 months agoCycles: add cycles.merge_images operator for combing EXR renders.
Brecht Van Lommel [Tue, 19 Mar 2019 13:38:57 +0000 (14:38 +0100)]
Cycles: add cycles.merge_images operator for combing EXR renders.

This is only available through the API, mainly intended for render farms to
combine rendered multilayer EXR Files with different samples. The images are
currently expected to have the exact same render layers and passes, just with
different samples.

Variance passes are still simply a weighted average, ideally these should be
merged more intelligently.

Differential Revision:

18 months agoUI: Re-organize Brush Properties
William Reynish [Tue, 19 Mar 2019 17:17:50 +0000 (18:17 +0100)]
UI: Re-organize Brush Properties

 - Consolidate each brush section (Color, Palette, Gradient) and make them distinct
 - Remove the lock icons and move these items into an Options sub-panel, together with other toggles
  - They now have more descriptive names
  - Use an enum for view vs scene brush unit
 - Use Property Split layout and sub-panels in line with the rest of 2.8
 - Rename Curve panel to Falloff

Reviewed by: campbellbarton, pablovazquez

Maniphest Tasks: D4529

Differential Revision:

18 months agoUnits: Use PROP_PIXEL for grad_spacing
William Reynish [Tue, 19 Mar 2019 17:10:00 +0000 (18:10 +0100)]
Units: Use PROP_PIXEL for grad_spacing

18 months agoCycles: Implement function to format and parse human readable time
Sergey Sharybin [Tue, 19 Mar 2019 14:19:22 +0000 (15:19 +0100)]
Cycles: Implement function to format and parse human readable time

Gives value in seconds for a string which is encoded in format HH:MM:SS.hh.

18 months agoFix: Add poll methods for quick effects operators
matc [Tue, 19 Mar 2019 16:16:49 +0000 (17:16 +0100)]
Fix: Add poll methods for quick effects operators

Differential Revision:

18 months agoCleanup: correct comment
Campbell Barton [Tue, 19 Mar 2019 16:14:50 +0000 (03:14 +1100)]
Cleanup: correct comment

18 months agoUI: scale cursor motion threshold by DPI
Campbell Barton [Tue, 19 Mar 2019 15:48:11 +0000 (02:48 +1100)]
UI: scale cursor motion threshold by DPI

This was using hard coded values of 2-3px.

Move both drag and motion thresholds to defines.

18 months agoFix T60684 Fourth and subsequent vertex color / UV layers displayed black
Clément Foucault [Tue, 19 Mar 2019 15:25:52 +0000 (16:25 +0100)]
Fix T60684 Fourth and subsequent vertex color / UV layers displayed black

18 months agoBLI_kdtree: use 1d tree for select similar
Campbell Barton [Tue, 19 Mar 2019 14:56:53 +0000 (01:56 +1100)]
BLI_kdtree: use 1d tree for select similar

18 months agoBLI_kdtree: add 1d kdtree support
Campbell Barton [Tue, 19 Mar 2019 14:20:46 +0000 (01:20 +1100)]
BLI_kdtree: add 1d kdtree support

Some users only use the tree to store a single value.

18 months agoFix T62715: Grease Pencil Apply Armature Modifier Issue
Antonioya [Tue, 19 Mar 2019 15:03:50 +0000 (16:03 +0100)]
Fix T62715: Grease Pencil Apply Armature Modifier Issue

@sergey wrote: "The reason it was failing is because md points to an original armature, which doesn't have runtime data needed for deformation. That data is to come from evaluated armature."

Thanks to @sergey for his help.

18 months agoFix T62622: Animating vertex does not update viewport
Sergey Sharybin [Tue, 19 Mar 2019 14:56:09 +0000 (15:56 +0100)]
Fix T62622: Animating vertex does not update viewport

Missing dependency graph update due to wrong relation.

18 months agoWorkbench: World Clipping For Specular Transparent
Jeroen Bakker [Tue, 19 Mar 2019 14:41:14 +0000 (15:41 +0100)]
Workbench: World Clipping For Specular Transparent

When Specular Transparent materials are used the world clipping
did not work on the transparent materials. The reason was that the
accum shaders did not vary on the existance of the clipping planes

This patch will variate the accum shaders when clipping planes are

Reviewed By: fclem

Maniphest Tasks: T61023

18 months agoFix T62558: Certain IES file causes crash
Jacques Lucke [Tue, 19 Mar 2019 14:33:28 +0000 (15:33 +0100)]
Fix T62558: Certain IES file causes crash

Reviewers: brecht

Differential Revision:

18 months agoCleanup: name 3D/4D trees in similar selection code
Campbell Barton [Tue, 19 Mar 2019 14:16:04 +0000 (01:16 +1100)]
Cleanup: name 3D/4D trees in similar selection code

Do this so trees have matching & logical names.

18 months agoUV: Use BLI_kdtree_2d for 2D data
Campbell Barton [Tue, 19 Mar 2019 13:58:22 +0000 (00:58 +1100)]
UV: Use BLI_kdtree_2d for 2D data

18 months agoBLI_kdtree: add 2D kdtree support
Campbell Barton [Tue, 19 Mar 2019 13:57:52 +0000 (00:57 +1100)]
BLI_kdtree: add 2D kdtree support

Some users of the 3D versions were storing 2D data in it.

Using a 3D tree for 2D data adds a spatially redundant branch
every 3rd level, as well as some extra memory use, best avoid this.

18 months agoWorkbench: Support Odd Number Of AA Samples
Jeroen Bakker [Tue, 19 Mar 2019 11:51:19 +0000 (12:51 +0100)]
Workbench: Support Odd Number Of AA Samples

Workbench render engine did not work when an odd number of AA samples
were used. A user could enter these values by disabling AA or set the
number of AA samples in the Render/Film panel to an odd number.

This commit will not perform TAA passes when AA is disabled.
For supporting the setting of 5 or 11 samples the bitmask was replaced
by an if statement as this was making the odd number not render

As extra introduce the jitter samples of 5 and 11 so the images will
be more clean. a jitter sample of 11 used to read outside the allocated
space of the jitter samples.

Fix T60820

Reviewed By: fclem

Maniphest Tasks: T60820

Differential Revision:

18 months agoCleanup: use BLI_kdtree_3d prefix
Campbell Barton [Tue, 19 Mar 2019 13:46:33 +0000 (00:46 +1100)]
Cleanup: use BLI_kdtree_3d prefix

Use prefix now there isn't only the 3d version.

18 months agoFix T62732: Bpy/Python is letting create inputs at the node level for node groups...
Bastien Montagne [Tue, 19 Mar 2019 13:43:14 +0000 (14:43 +0100)]
Fix T62732: Bpy/Python is letting create inputs at the node level for node groups that make blend file unsaveable.

Group nodes should not allow to add IO sockets to themselves directly,
in that case we actually want to add IO sockets to their underlying
node tree. Fairly straioght forward to support actually.

18 months agoFix T62595: Select co-planar faces fails
Campbell Barton [Tue, 19 Mar 2019 13:34:40 +0000 (00:34 +1100)]
Fix T62595: Select co-planar faces fails

18 months agoBLI_kdtree: refactor to support different numbers of dimensions
Campbell Barton [Mon, 18 Mar 2019 00:22:48 +0000 (11:22 +1100)]
BLI_kdtree: refactor to support different numbers of dimensions

This moves logic into kdtree_impl.h which is included in a source
file that defines the number of dimensions - so we can easily support
different numbers of dimensions as needed
(currently 3D and 4D are supported).

Macro use isn't so nice but avoids a lot of duplicate code.

18 months agoFix T61475 Particle edit does not render children if path step > 7
Clément Foucault [Tue, 19 Mar 2019 13:25:32 +0000 (14:25 +0100)]
Fix T61475 Particle edit does not render children if path step > 7

Gives 2 more bits to the segment count. Also subtract 1 because segment
count cannot be negative.

18 months agoGPencil: Include gpencil objects in BKE_object_minmax
Campbell Barton [Tue, 19 Mar 2019 13:05:58 +0000 (00:05 +1100)]
GPencil: Include gpencil objects in BKE_object_minmax

Also remove redundant check for meshes.

18 months agoCleanup: remove unused for gpencil bounds calculation
Campbell Barton [Tue, 19 Mar 2019 12:55:04 +0000 (23:55 +1100)]
Cleanup: remove unused for gpencil bounds calculation

18 months agoFix T62743: GPencil dimensions are large when no geometry exists
Campbell Barton [Tue, 19 Mar 2019 12:49:56 +0000 (23:49 +1100)]
Fix T62743: GPencil dimensions are large when no geometry exists

Use fallback when no data exists
matching bound-box for other kinds of geometry.

18 months agoEEVEE/LookDev: Fix Cache In Quad View
Jeroen Bakker [Tue, 19 Mar 2019 12:29:22 +0000 (13:29 +0100)]
EEVEE/LookDev: Fix Cache In Quad View

When using LookDev in Quad view the cache was only updated for the first
Q-view. The evaluation data of the last cache was not stored with the
lightprobe textures. As the evaluation data was reused between the
Q-views only the lightprobe textures of the first view was updated.

With this patch the evaluated data is stored amongside the actual
lightprobe textures.

Fix T59046

Reviewed By: fclem

Maniphest Tasks: T59046

18 months agoFix view selected ignoring all non-grease pencil objects
Campbell Barton [Tue, 19 Mar 2019 12:11:36 +0000 (23:11 +1100)]
Fix view selected ignoring all non-grease pencil objects

When the grease pencil was active no other objects were taken into
account. There is no need for a special case here since objects
bounding boxes are used.

18 months agoUI: Make UV Editor contextual menu more consistent with 3D View
William Reynish [Tue, 19 Mar 2019 12:14:35 +0000 (13:14 +0100)]
UI: Make UV Editor contextual menu more consistent with 3D View

-Use same ordering of Add, Modify, Remove
-Add back Remove Doubles here

18 months agoUI: Make EV Editor UV menu more consistent with 3D VIew
William Reynish [Tue, 19 Mar 2019 12:13:32 +0000 (13:13 +0100)]
UI: Make EV Editor UV menu more consistent with 3D VIew

-Transform, Mirror, Snap at the top
-Remove redundant Proportional Editing entry from this menu - we already have it in the header

18 months agoFix T62713: Paste Normal Vectors - needed better selection handling.
Bastien Montagne [Tue, 19 Mar 2019 11:23:32 +0000 (12:23 +0100)]
Fix T62713: Paste Normal Vectors - needed better selection handling.

Existing code was not really handling well cases were only edges or
faces were selected (with match select modes).

In those cases, we can assume user want to only affect loop normals of
selected faces/edges, not all lnors of all (indirectly) selected verts.

Also refactored the code a bit to move whole 'loop to edit' selection
process into its own single function.

18 months agoMinor cleanup/refactor of EditMesh custom normals copy code.
Bastien Montagne [Tue, 19 Mar 2019 10:10:30 +0000 (11:10 +0100)]
Minor cleanup/refactor of EditMesh custom normals copy code.

Do not compute temp helper data when we do not need it (even though in
that case it was totally cheap to compute).

18 months agoreadfile: add off64_t typedef for __APPLE__
Campbell Barton [Tue, 19 Mar 2019 10:59:26 +0000 (21:59 +1100)]
readfile: add off64_t typedef for __APPLE__

18 months agoGPencil: Rename annotation functions
Antonioya [Tue, 19 Mar 2019 10:01:27 +0000 (11:01 +0100)]
GPencil: Rename annotation functions

The annotation drawing functions were using gpencil prefix and it's better to keep all annotation code separated to avoid confusion.

18 months agoGPencil: Cleanup unused code
Antonioya [Tue, 19 Mar 2019 09:54:27 +0000 (10:54 +0100)]
GPencil: Cleanup unused code

18 months agoGPencil: Rename functions to annotation prefix
Antonioya [Tue, 19 Mar 2019 09:52:37 +0000 (10:52 +0100)]
GPencil: Rename functions to annotation prefix

This code was used only in annotations.

18 months agoFix T62734: Crash when annotations are rendered from the VSE .view menu.
Antonioya [Tue, 19 Mar 2019 09:48:24 +0000 (10:48 +0100)]
Fix T62734: Crash when annotations are rendered from the VSE .view menu.

The render was using the old grease pencil code and not the new annotation code for render.

18 months agoWindows: use int64_t instead of off_t
Campbell Barton [Tue, 19 Mar 2019 09:28:05 +0000 (20:28 +1100)]
Windows: use int64_t instead of off_t

Avoids 2gb file size limit.

18 months agoFix T62707: opening blend files over 2gb on win32 fails
Campbell Barton [Tue, 19 Mar 2019 09:04:23 +0000 (20:04 +1100)]
Fix T62707: opening blend files over 2gb on win32 fails

Regression in 358e07f447e9ed7 for ms-windows since off_t is an int32_t
even on 64bit systems causing files over 2gb not to load.

Poison off_t so this doesn't happen again.

18 months agoBLI_math: use fallback for compatible quaternion calculation
Campbell Barton [Tue, 19 Mar 2019 06:39:14 +0000 (17:39 +1100)]
BLI_math: use fallback for compatible quaternion calculation

Copy the new value when the compatible quaternion isn't usable.

18 months agoFix pose slide interpolation
Campbell Barton [Tue, 19 Mar 2019 06:17:34 +0000 (17:17 +1100)]
Fix pose slide interpolation

- Quaternions weren't normalized before interpolating
  causing incorrect results & assert.

- Make the newly calculated quaternion compatible with the previous
  to avoid axis-flipping & setting values with large changes compared
  to existing key-frames.

18 months agoBLI_math: add utility to calculate compatible quaternions
Campbell Barton [Tue, 19 Mar 2019 05:50:18 +0000 (16:50 +1100)]
BLI_math: add utility to calculate compatible quaternions

18 months agoCleanup: comment blocks
Campbell Barton [Tue, 19 Mar 2019 04:17:46 +0000 (15:17 +1100)]
Cleanup: comment blocks

18 months agoCleanup: trailing space
Campbell Barton [Tue, 19 Mar 2019 04:03:21 +0000 (15:03 +1100)]
Cleanup: trailing space

18 months agoDocs: group debug/disable args in --help output
Campbell Barton [Tue, 19 Mar 2019 03:32:15 +0000 (14:32 +1100)]
Docs: group debug/disable args in --help output

18 months agoFix T61872: Sculpt key shortcut assignment fails
Campbell Barton [Tue, 19 Mar 2019 02:50:32 +0000 (13:50 +1100)]
Fix T61872: Sculpt key shortcut assignment fails

18 months agoFix assigning keys to paint operators
Campbell Barton [Tue, 19 Mar 2019 02:48:33 +0000 (13:48 +1100)]
Fix assigning keys to paint operators

Comparing context mode with object flag (decade old bug from 2.5x).

18 months agoCleanup: use enum for CTX_data_mode_enum
Campbell Barton [Tue, 19 Mar 2019 02:42:54 +0000 (13:42 +1100)]
Cleanup: use enum for CTX_data_mode_enum

Exposes errors in some cases when compared against incompatible values.

18 months agoFix T61368: Brush texture preview ignores rotation
Campbell Barton [Tue, 19 Mar 2019 02:07:48 +0000 (13:07 +1100)]
Fix T61368: Brush texture preview ignores rotation

18 months agoCleanup: unused warning
Campbell Barton [Mon, 18 Mar 2019 21:39:48 +0000 (08:39 +1100)]
Cleanup: unused warning

18 months agoFix T61104 Compositing two scenes with different output scales crashes
Clément Foucault [Mon, 18 Mar 2019 20:39:54 +0000 (21:39 +0100)]
Fix T61104 Compositing two scenes with different output scales crashes

Was due to incorrect output size. Use engine->resolution_x/y instead of
computing the size on the fly from the scene specific settings (which are
not overwritten by the rendering scene).

18 months agoUI: Use 'Display' instead of 'Draw' for show_particles
William Reynish [Mon, 18 Mar 2019 20:33:01 +0000 (21:33 +0100)]
UI: Use 'Display' instead of 'Draw' for show_particles

18 months agoUnits: Use PROP_DISTANCE for emitter_distance
William Reynish [Mon, 18 Mar 2019 20:32:02 +0000 (21:32 +0100)]
Units: Use PROP_DISTANCE for emitter_distance

18 months agoUI: Particle Edit Mode Tool Properties
William Reynish [Mon, 18 Mar 2019 20:30:56 +0000 (21:30 +0100)]
UI: Particle Edit Mode Tool Properties

-Use property split
-Use sub-panels for Options panel
-Slightly re-organize Options panel
-Remove redundant Deflect Emitter from Options panel (it was already in the tool settings for the Comb tool)

18 months agoScale waveforms & show clipping
Richard Antalik [Mon, 18 Mar 2019 19:10:33 +0000 (12:10 -0700)]
Scale waveforms & show clipping

Scale waveforms in sound strips by volume.
If any drawn line exceeds value 1 or -1 it is drawn by red color so user can see point, where clipping occurs.

Reviewers: brecht

Differential Revision:

18 months agoFix strip text hiding behind scrollers
Richard Antalik [Mon, 18 Mar 2019 19:09:22 +0000 (12:09 -0700)]
Fix strip text hiding behind scrollers

Reviewers: brecht

Differential Revision:

18 months agoFix VSE color picker
Richard Antalik [Mon, 18 Mar 2019 19:04:11 +0000 (12:04 -0700)]
Fix VSE color picker

Fix VSE color picker mouse coords calculation

Reviewers: brecht

Differential Revision:

18 months agoFix T54117 Movie clip undistorted - proxy not working
Richard Antalik [Mon, 18 Mar 2019 19:01:40 +0000 (12:01 -0700)]
Fix T54117 Movie clip undistorted - proxy not working
Add movieclip fallback render option, for case, when proxies are not enabled or built

Reviewers: sergey

Differential Revision:

18 months agoFix T57590: assert with zero length array buttons.
Brecht Van Lommel [Mon, 18 Mar 2019 18:56:14 +0000 (19:56 +0100)]
Fix T57590: assert with zero length array buttons.

18 months agoFix T56183: flip matcap not working for workbench as render engine.
Brecht Van Lommel [Mon, 18 Mar 2019 18:26:01 +0000 (19:26 +0100)]
Fix T56183: flip matcap not working for workbench as render engine.

18 months agoMerge branch 'blender2.7'
Brecht Van Lommel [Mon, 18 Mar 2019 18:06:21 +0000 (19:06 +0100)]
Merge branch 'blender2.7'

18 months agoFix Cycles curve UVs wrong after recent changes.
Brecht Van Lommel [Mon, 18 Mar 2019 17:51:24 +0000 (18:51 +0100)]
Fix Cycles curve UVs wrong after recent changes.

18 months agoFix T62712: Cycles world light path node not working.
Brecht Van Lommel [Mon, 18 Mar 2019 17:45:17 +0000 (18:45 +0100)]
Fix T62712: Cycles world light path node not working.

18 months agoFix T62587: Particle instances Use Count not saved correctly
Jacques Lucke [Mon, 18 Mar 2019 16:53:03 +0000 (17:53 +0100)]
Fix T62587: Particle instances Use Count not saved correctly

Reviewers: brecht

Differential Revision:

18 months agoFix T62700: Disconnect hair bug
Sergey Sharybin [Mon, 18 Mar 2019 16:49:53 +0000 (17:49 +0100)]
Fix T62700: Disconnect hair bug

Need to use evaluated mesh from evaluated modifier data.

18 months agoFix T62636: Overlapping scrollbar in driver editor
Jacques Lucke [Mon, 18 Mar 2019 16:28:36 +0000 (17:28 +0100)]
Fix T62636: Overlapping scrollbar in driver editor

Instead of only `ymin` and `ymax`, `ANIM_channel_draw_widgets`
has a rectangle as input now.
This allows the caller to set a custom width for the channel.

Some space types need the extra space for the scrollbar
(drivers, graph), but the other don't have a scrollbar.

Reviewers: brecht

Differential Revision:

18 months agoSubdiv: Enable topology cache in edit mode
Sergey Sharybin [Mon, 18 Mar 2019 14:56:16 +0000 (15:56 +0100)]
Subdiv: Enable topology cache in edit mode

The general idea of this change is to have a runtime data pointer
in the ModifierData, so it can be preserved through copy-on-write
updates by the dependency graph.

This is where subdivision surface modifier can store its topology
cache, so it is not getting trashed on every copy-on-write which
is happening when moving a vertex.

Similar mechanism should be used by multiresolution, dynamic paint
and some other modifiers which cache evaluated data.

This fixes T61746.

Thing to keep in mind, that there are more reports about slow
subdivision surface in the tracker, but that boils down to the
fact that those have a lot of extraordinary vertices, and hence
a lot slower to evaluated topology.
Other thing is, this speeds up oeprations which doesn't change
topology (i.e. moving vertices).

Reviewers: brecht

Reviewed By: brecht

Maniphest Tasks: T61746

Differential Revision:

18 months agoFix T62706: Orphan Data : I have now to save a file, close and reopen it, only then...
Bastien Montagne [Mon, 18 Mar 2019 15:48:31 +0000 (16:48 +0100)]
Fix T62706: Orphan Data : I have now to save a file, close and reopen it, only then I can purge previous deleted meshes.

libquery code has some specific handling for IDs tagged as 'no_main',
among which to never consider them as refcounted/refcounting other IDs.

This is fine, but it also means we have to be careful when moving an ID
from main to out-of-main status, to do all id remapping we need
//before// we tag it as no_main.

That was a bit tedious to track down, we'll have to be careful that all
the corner cases we have to take care of, do not end up in a giant soup
of expections to exceptions, where nobody can find its way anymore...

18 months agoFix AMD OpenCL build error after recent changes.
Brecht Van Lommel [Mon, 18 Mar 2019 15:36:55 +0000 (16:36 +0100)]
Fix AMD OpenCL build error after recent changes.

Always use native function since this was already the case due to
__CL_USE_NATIVE__ not being defined in time, and seems to have caused no
known issues.

18 months agoFix: Cycles Subdivisions panel was showing, even when using Eevee
William Reynish [Mon, 18 Mar 2019 14:56:54 +0000 (15:56 +0100)]
Fix: Cycles Subdivisions panel was showing, even when using Eevee

18 months agoDepsgraph: Store original modifier pointer
Sergey Sharybin [Mon, 18 Mar 2019 13:21:35 +0000 (14:21 +0100)]
Depsgraph: Store original modifier pointer

Currently not needed that much, but will ease some further
development which is related on preserving runtime modifier

18 months agoCleanup: Comments
Sergey Sharybin [Mon, 18 Mar 2019 11:51:01 +0000 (12:51 +0100)]
Cleanup: Comments

18 months agoFix T62633: Model normals not updating in a modifier stack after a deform modifier.
Bastien Montagne [Mon, 18 Mar 2019 14:37:46 +0000 (15:37 +0100)]
Fix T62633: Model normals not updating in a modifier stack after a deform modifier.

A deform-only modifier that needs access to normals need a copy of
evaluated mesh with those normals updated, when it is not the first one
in the stack.

That issue had been partially fixed in Object mode a long time ago
(see T23673), but it was still broken for deform-only stacks cases.

And it was also completely missing from the Edit mode code
(`editbmesh_calc_modifiers()` function).

18 months agoSilence sorted function declaration/const warnings
Dalai Felinto [Mon, 18 Mar 2019 14:40:29 +0000 (14:40 +0000)]
Silence sorted function declaration/const warnings

18 months agoCleanup: fix compiler warnings.
Brecht Van Lommel [Mon, 18 Mar 2019 13:56:08 +0000 (14:56 +0100)]
Cleanup: fix compiler warnings.

18 months agoFix (unreported) broken Py API doc after adding gpencil to buttons_context...
Bastien Montagne [Mon, 18 Mar 2019 13:42:07 +0000 (14:42 +0100)]
Fix (unreported) broken Py API doc after adding gpencil to buttons_context...

18 months agoCleanup: remove compare_len_squared utility
Campbell Barton [Mon, 18 Mar 2019 13:35:24 +0000 (00:35 +1100)]
Cleanup: remove compare_len_squared utility

There isn't any advantage to this over comparing the squared length.

18 months agoFix T62643: ID user decrement error, likely related to custom material PointerProperty.
Bastien Montagne [Mon, 18 Mar 2019 12:55:26 +0000 (13:55 +0100)]
Fix T62643: ID user decrement error, likely related to custom material PointerProperty.

We are in a totally out-of-main context here, so no refcounting of any ID...

Note that this whole 'render preview' area could use some refactor with
modern ID management API, but that would go way beyond a mere bugfix,
and it is not the time to do such things.

18 months agoFix T61226: Make hair editing (more?) thread safe
Jacques Lucke [Mon, 18 Mar 2019 12:31:54 +0000 (13:31 +0100)]
Fix T61226: Make hair editing (more?) thread safe

This replaces the global `PEData->dist` with a thread local variable
that is passed into the callback functions separately.

There are two new function types which have `Hit` in the name.
Those take the distance to the mouse as an additional parameter.

Reviewers: sergey

Differential Revision:

18 months agoCleanup: C++ style of structure definition
Sergey Sharybin [Mon, 18 Mar 2019 11:47:18 +0000 (12:47 +0100)]
Cleanup: C++ style of structure definition

18 months agoMerge branch 'blender2.7'
Sergey Sharybin [Mon, 18 Mar 2019 11:03:22 +0000 (12:03 +0100)]
Merge branch 'blender2.7'

18 months agoCycles: Cleanup strict compiler warnings
Sergey Sharybin [Mon, 18 Mar 2019 11:02:41 +0000 (12:02 +0100)]
Cycles: Cleanup strict compiler warnings

18 months agoCleanup: we now have a way to tag 'from' ID pointers in libquery code.
Bastien Montagne [Mon, 18 Mar 2019 10:47:54 +0000 (11:47 +0100)]
Cleanup: we now have a way to tag 'from' ID pointers in libquery code.

So no need to have custom verbose own detection cases for those guys...

18 months agoFix mistake in previous commit.
Bastien Montagne [Mon, 18 Mar 2019 10:40:03 +0000 (11:40 +0100)]
Fix mistake in previous commit.

18 months agoFix T62670: insert_link() method not working for ShaderNodeCustomGroup.
Miguel Porces [Mon, 18 Mar 2019 10:16:34 +0000 (11:16 +0100)]
Fix T62670: insert_link() method not working for ShaderNodeCustomGroup.

Allow Python to override this method.

Differential Revision:

18 months agoCleanup: Main id looping: add FOREACH_MAIN_LISTBASE macro.
Bastien Montagne [Mon, 18 Mar 2019 10:32:06 +0000 (11:32 +0100)]
Cleanup: Main id looping: add FOREACH_MAIN_LISTBASE macro.

We don't want to use flow control like `break` statement into the basic
`FOREACH_MAIN_ID` macro, as this is a nested loop.

When refined behavior is needed (like breaking whole iteration, or just
skipping to next ID type), FOREACH_MAIN_LISTBASE and
FOREACH_MAIN_LISTBASE_ID macros should be used instead.

Based on D4382 by @campbellbarton
(Other potential solution, using flow control macros: D4384).

18 months agoAdd-ons: disable 3ds add-on in all existing preferences.
Brecht Van Lommel [Mon, 18 Mar 2019 10:00:15 +0000 (11:00 +0100)]
Add-ons: disable 3ds add-on in all existing preferences.

Silences warning when running with --debug. If/when this add-on is ported,
users that need it can enable it again.

18 months agoCleanup: fix compiler warning.
Brecht Van Lommel [Mon, 18 Mar 2019 09:42:40 +0000 (10:42 +0100)]
Cleanup: fix compiler warning.

18 months agoFix noisy console messages about unported add-ons by default.
Bastien Montagne [Mon, 18 Mar 2019 09:36:50 +0000 (10:36 +0100)]
Fix noisy console messages about unported add-ons by default.

* Make those single-line warning, there is really no reason to raise
exception (i.e. error) for that.
* Only show them when `--debug` option is set.

18 months agoCleanup: unused vars in last commit
Campbell Barton [Mon, 18 Mar 2019 09:30:05 +0000 (20:30 +1100)]
Cleanup: unused vars in last commit

18 months agoFix T58763: Sample color fails with mirror modifier
Campbell Barton [Mon, 18 Mar 2019 09:01:59 +0000 (20:01 +1100)]
Fix T58763: Sample color fails with mirror modifier

18 months agoCleanup: rename color band to color ramp
Campbell Barton [Mon, 18 Mar 2019 07:20:44 +0000 (18:20 +1100)]
Cleanup: rename color band to color ramp

18 months agoFix color ramp eyedropper menu item
Campbell Barton [Mon, 18 Mar 2019 06:41:37 +0000 (17:41 +1100)]
Fix color ramp eyedropper menu item

This couldn't be accessed because the poll function was checking the
active button.

Add a "color_ramp" context pointer which is set by the menu.

Alternative fix to D3984

18 months agoCleanup: spaces around operators in DNA headers
Campbell Barton [Mon, 18 Mar 2019 03:21:37 +0000 (14:21 +1100)]
Cleanup: spaces around operators in DNA headers

18 months agoCleanup: style, duplicate include
Campbell Barton [Mon, 18 Mar 2019 03:13:06 +0000 (14:13 +1100)]
Cleanup: style, duplicate include

18 months agoUI: clarify "Remap Relative" tooltip
Campbell Barton [Mon, 18 Mar 2019 02:57:16 +0000 (13:57 +1100)]
UI: clarify "Remap Relative" tooltip

Resolves T62612