4 years agoBLI_path_utils: fix/enhance BLI_filename_make_safe(), add BLI_path_make_safe().
Bastien Montagne [Tue, 14 Jul 2015 16:42:22 +0000 (18:42 +0200)]
BLI_path_utils: fix/enhance BLI_filename_make_safe(), add BLI_path_make_safe().

BLI_filename_make_safe had several issues:
* Would replace all dots ('.'), not a great idea since it would break extensions.
* Was not checking for 'control' ASCII chars (though unlikely, better to be safe here).
* Win32 only: was not checking for forbidden names (con, aux, ltp0, com0, etc.).

New BLI_path_make_safe() simply checks each path's item with BLI_filename_make_safe().

4 years agoBLI_fileops: Make BLI_dir_create_recursive() return success/error status.
Bastien Montagne [Tue, 14 Jul 2015 16:36:48 +0000 (18:36 +0200)]
BLI_fileops: Make BLI_dir_create_recursive() return success/error status.

Handy to know directly whether a file creation succeeded or not.

Also, made a few more changes in this func, and harmonized a bit win32/*nix versions.

4 years agoParticle Info node support for GLSL mode and the internal render.
Alexander Romanov [Tue, 14 Jul 2015 16:48:54 +0000 (18:48 +0200)]
Particle Info node support for GLSL mode and the internal render.

With this patch "Particle Info" node from Cycles works in GLSL and BI

Alexander (Blend4Web Team)

Reviewers: psy-fi
Note: moved particle info to object render instance instead of
shadeinput during review - Antony.

Differential Revision:

4 years agoDisplay optimizations part 1.
Antony Riakiotakis [Tue, 14 Jul 2015 14:48:23 +0000 (16:48 +0200)]
Display optimizations part 1.

This patch changes the way we draw meshes by introducing
indexed drawing. This makes it possible to easily
upload and rearrange faces ad lib according to any criteria.

Currently we use material sorting but textured sorting and
hiding will be added to optimize textured drawing and skip
per face testing.

It also adds support for vertex buffers for subsurf
modifiers (Except from GLSL drawing), making drawing of
subsurf much faster without need for bogus modifiers.

Tests show that we gain approximately 20-25% performance
by that for solid mode drawing with up to 50% gains for
material drawing. Textured drawing should also have a
small performance gain, but more substantial optimizations
are possible there.

Reviewers: campbellbarton

Differential Revision:

4 years agoCorrect last commit
Campbell Barton [Tue, 14 Jul 2015 13:37:11 +0000 (23:37 +1000)]
Correct last commit

4 years agoMove from MTFace to MTexPoly w/ texture checks
Campbell Barton [Tue, 14 Jul 2015 12:27:25 +0000 (22:27 +1000)]
Move from MTFace to MTexPoly w/ texture checks

Part of moving away from MFace.

4 years agoMatch face tessellation order in edimode
Campbell Barton [Tue, 14 Jul 2015 12:09:14 +0000 (22:09 +1000)]
Match face tessellation order in edimode

add a negated version of axis_dominant_v3_to_m3

4 years agoCleanup: headers (wm)
Campbell Barton [Tue, 14 Jul 2015 08:37:14 +0000 (18:37 +1000)]
Cleanup: headers (wm)

4 years agoFix for recent optimization commit in endian switch
Sergey Sharybin [Tue, 14 Jul 2015 09:33:50 +0000 (11:33 +0200)]
Fix for recent optimization commit in endian switch

Pre-4.8 GCC had a bug which lead to non-exposed __builtin_bswap16() symbol.

See for details.

4 years agoFix T45423: depsgraph: crash in IDDepsNode::tag_update
Sergey Sharybin [Tue, 14 Jul 2015 09:19:27 +0000 (11:19 +0200)]
Fix T45423: depsgraph: crash in IDDepsNode::tag_update

Two issues fixed in this commit:

- Clearing or adding animation via python should ensure relations are valid.
- Animation component animation data might be null caused by removing animation
  from python.

4 years agoMake tooltip parsable by human compilers (thanks to Pablo for
Antony Riakiotakis [Tue, 14 Jul 2015 09:18:27 +0000 (11:18 +0200)]
Make tooltip parsable by human compilers (thanks to Pablo for

4 years agoData Transfer: very minor cleanup...
Bastien Montagne [Tue, 14 Jul 2015 09:13:20 +0000 (11:13 +0200)]
Data Transfer: very minor cleanup...

4 years agoWorkaround for non-bleeding edge compilers and const cast of pointer arrays.
Sergey Sharybin [Tue, 14 Jul 2015 07:55:21 +0000 (09:55 +0200)]
Workaround for non-bleeding edge compilers and const cast of pointer arrays.

4 years agoCycles: Add logging to detected OpenCL platforms and devices
Sergey Sharybin [Tue, 14 Jul 2015 07:49:15 +0000 (09:49 +0200)]
Cycles: Add logging to detected OpenCL platforms and devices

Happens on verbosity level 2, should help looking into some of the
bug reports in the tracker.

4 years agoCleanup: replace BLI_split_file_part w/ BLI_path_basename
Campbell Barton [Mon, 13 Jul 2015 23:34:53 +0000 (09:34 +1000)]
Cleanup: replace BLI_split_file_part w/ BLI_path_basename

4 years agoCleanup: use ascii as suffix (as with utf8)
Campbell Barton [Mon, 13 Jul 2015 23:17:00 +0000 (09:17 +1000)]
Cleanup: use ascii as suffix (as with utf8)

4 years agoBKE_deform: assert on invalid args
Campbell Barton [Mon, 13 Jul 2015 22:41:15 +0000 (08:41 +1000)]
BKE_deform: assert on invalid args

Will phase these out eventually

4 years agoDraw emboss when area is full but in quad-split
Campbell Barton [Mon, 13 Jul 2015 21:28:30 +0000 (07:28 +1000)]
Draw emboss when area is full but in quad-split

4 years agoFix T45348: Collapse gives sel verts in face mode
Campbell Barton [Mon, 13 Jul 2015 21:02:35 +0000 (07:02 +1000)]
Fix T45348: Collapse gives sel verts in face mode

4 years agoEditMesh: show angles of adjacent selected verts
Campbell Barton [Mon, 13 Jul 2015 20:30:02 +0000 (06:30 +1000)]
EditMesh: show angles of adjacent selected verts

Useful since moving vertices will change angles on adjacent,
unselected face-corners too.

4 years agoFix T45247: Softbody ignores lattice weight
Campbell Barton [Mon, 13 Jul 2015 20:18:58 +0000 (06:18 +1000)]
Fix T45247: Softbody ignores lattice weight

Now multiply the lattice wight by the goal weight too.

4 years agoSoftbody goal weights cleanup
Campbell Barton [Mon, 13 Jul 2015 20:10:56 +0000 (06:10 +1000)]
Softbody goal weights cleanup

- avoid searching for vertex group for each vertex.
- add support for mass and spring weights to lattice.
- multiply the vertex group weight by the overall goal weight value.

4 years agoAdd some pedantic casts, since some guys around like to take all warnings from their...
Bastien Montagne [Mon, 13 Jul 2015 20:00:49 +0000 (22:00 +0200)]
Add some pedantic casts, since some guys around like to take all warnings from their compilers as errors, even the stupidest ones!

4 years agoincrease mathutils callback count (BGE devs, read the log)
Dalai Felinto [Mon, 13 Jul 2015 19:11:59 +0000 (16:11 -0300)]
increase mathutils callback count (BGE devs, read the log)

This was causing the BGE to crash on Debug mode when built with "break on asserts", meaning the BGE was not debuggeable.
Please make sure to test patches in debug mode with the proper flags enabled before committing

4 years agoRNA assert: make object game state to comply with RNA_property_boolean_get_index...
Dalai Felinto [Mon, 13 Jul 2015 18:51:31 +0000 (15:51 -0300)]
RNA assert: make object game state to comply with RNA_property_boolean_get_index() 1/0 requirement

4 years agoFix T45402: Transform crash w/ project+align snap
Campbell Barton [Mon, 13 Jul 2015 18:27:32 +0000 (04:27 +1000)]
Fix T45402: Transform crash w/ project+align snap

Only euler rotations were checked for.
Also delta rotations caused random/unusable output.

4 years agoFix T45394: Motion tracking constraints did not work with Cycles motion blur
Sergey Sharybin [Mon, 13 Jul 2015 16:17:07 +0000 (18:17 +0200)]
Fix T45394: Motion tracking constraints did not work with Cycles motion blur

4 years agoData Transfer: Add an option to 'auto-transform' destination mesh so that it matches...
Bastien Montagne [Mon, 13 Jul 2015 16:00:08 +0000 (18:00 +0200)]
Data Transfer: Add an option to 'auto-transform' destination mesh so that it matches best the source one.

This allows to match and transfer data between two meshes with similar shape but complete arbitrary different transform.

Note that the result will be best if the meshes (more precisely, their vertices) are exact copies of each other.
Otherwise, method used can only perform an approximated best match, which means you'll likely get better
results if you 'visually' make them match in 3D space (and use 'Object Transform') instead.

4 years agoAdd BLI_math_statistics, where stats tool shall be!
Bastien Montagne [Mon, 13 Jul 2015 15:53:22 +0000 (17:53 +0200)]
Add BLI_math_statistics, where stats tool shall be!

For now, only contains some 3x3 matrix covariance computing.

4 years agoAdd BLI_math_solver, where non-linear solvers should be.
Bastien Montagne [Mon, 13 Jul 2015 15:48:13 +0000 (17:48 +0200)]
Add BLI_math_solver, where non-linear solvers should be.

For now, only has an eigen solver for 3×3 (symmetric) matrix.

4 years agoAdd a skeleton of C API for Eigen3.
Bastien Montagne [Mon, 13 Jul 2015 15:40:06 +0000 (17:40 +0200)]
Add a skeleton of C API for Eigen3.

Title says pretty much everything. For now, only thing available is a solver of eigen
values/vectors for self-adjoint matrices.

We can easily add more when needed.

Thanks to Sergey and Campbell for quick review.

4 years agoAdd icon scale argument for ui-template-previews
Campbell Barton [Mon, 13 Jul 2015 15:46:25 +0000 (01:46 +1000)]
Add icon scale argument for ui-template-previews

4 years agoAllow spin/screw to run outside 3D view
Campbell Barton [Mon, 13 Jul 2015 14:55:04 +0000 (00:55 +1000)]
Allow spin/screw to run outside 3D view

This lets scripts call them

4 years agoFix T45364: NEW DEPSGRAPH: New Torus created can't be transformed
Sergey Sharybin [Mon, 13 Jul 2015 13:59:58 +0000 (15:59 +0200)]
Fix T45364: NEW DEPSGRAPH: New Torus created can't be transformed

Linking objects to a scene via python should ensure relations are properly
updated for that scene.

4 years agoFix T45333: Volume Scatter crash blender
Sergey Sharybin [Mon, 13 Jul 2015 13:53:48 +0000 (18:53 +0500)]
Fix T45333: Volume Scatter crash blender

4 years agoFreestyle: Fix compilation error with strict compiler flags
Sergey Sharybin [Mon, 13 Jul 2015 13:24:19 +0000 (15:24 +0200)]
Freestyle: Fix compilation error with strict compiler flags

4 years agoFix T45390: Cycles experimental displacement method ignores scaling when render
Sergey Sharybin [Mon, 13 Jul 2015 13:22:36 +0000 (15:22 +0200)]
Fix T45390: Cycles experimental displacement method ignores scaling when render

From artists perspective it makes sense to always apply displacement in a local

TODO: Double-check that BVH is being packed properly. From quick tests seems it's
all fine, but might be missing some obvious failure still.

4 years agoCleanup: IMB prefix for ImBuf defines
Campbell Barton [Mon, 13 Jul 2015 12:00:07 +0000 (22:00 +1000)]
Cleanup: IMB prefix for ImBuf defines

4 years ago Imbuf types refactor.
Antony Riakiotakis [Mon, 13 Jul 2015 11:58:17 +0000 (13:58 +0200)]
Imbuf types refactor.

    ImBuf types were getting stored as bitflags in a 32bit integer which had
    already run out of space. Solved the problem by separating file type to
    an ftype enum, and file specific options to foptions.

    Reviewed by Campbell, thanks a lot!

4 years agoUse regex for cmake config parsing
Campbell Barton [Mon, 13 Jul 2015 10:03:15 +0000 (20:03 +1000)]
Use regex for cmake config parsing

4 years agoFix T45397: Frameserver rendering no longer works in 2.75 or 2.75a
Sergey Sharybin [Mon, 13 Jul 2015 09:10:33 +0000 (11:10 +0200)]
Fix T45397: Frameserver rendering no longer works in 2.75 or 2.75a

Issue was caused by a typo in original multiview commit.

4 years agoFix T45385: Crash on render occurring when two hair modifiers are active that both...
Sergey Sharybin [Mon, 13 Jul 2015 09:01:34 +0000 (11:01 +0200)]
Fix T45385: Crash on render occurring when two hair modifiers are active that both use a UV mapped material for render

Not sure it's totally correct solution, but seems reasonable because it's
possible dmcache is set to ISCHILD.

Someone more familiar with the particles code might want to revisit this :)

4 years agoMinor tweaking to Knife header text.
Bastien Montagne [Sun, 12 Jul 2015 19:52:59 +0000 (21:52 +0200)]
Minor tweaking to Knife header text.

Confirm/cancel shall always be first, and also makes more sense to have
define cut/close cut/new cut together.

4 years agoShortcut-to-string converter: add 'dbl-' in front of key when expecting a double...
Bastien Montagne [Sun, 12 Jul 2015 19:39:59 +0000 (21:39 +0200)]
Shortcut-to-string converter: add 'dbl-' in front of key when expecting a double-click.

I think this is the only Keymap value we really need to handle here...

4 years agoAdd new modalkeymap usage in helper header message to Knife tool.
Bastien Montagne [Sun, 12 Jul 2015 19:32:16 +0000 (21:32 +0200)]
Add new modalkeymap usage in helper header message to Knife tool.

4 years agoAdd new modalkeymap usage in helper header message to Fly mode.
Bastien Montagne [Sun, 12 Jul 2015 19:14:06 +0000 (21:14 +0200)]
Add new modalkeymap usage in helper header message to Fly mode.

4 years agoCleanup: style
Campbell Barton [Sun, 12 Jul 2015 17:48:08 +0000 (03:48 +1000)]
Cleanup: style

4 years agoRemove redundant string copy
Campbell Barton [Sun, 12 Jul 2015 17:43:41 +0000 (03:43 +1000)]
Remove redundant string copy

4 years agoMissed essential part in previous commit.
Bastien Montagne [Sun, 12 Jul 2015 17:04:31 +0000 (19:04 +0200)]
Missed essential part in previous commit.

Or how to epic fail a fix when working on two different systems.
Or how to increase your commit rate.

4 years agoFix T45375: Cant clear temp fluid cache after closing Blender (Windows).
Bastien Montagne [Sun, 12 Jul 2015 16:47:29 +0000 (18:47 +0200)]
Fix T45375: Cant clear temp fluid cache after closing Blender (Windows).

There was two different issues here actually:
* Own (very high) stupidity only gave 8 chars to file name (sic).
* list dir returns dirpaths without a trailing slahs, but expects them to have it it seems. :|

4 years agoCycles: Expose "Max Bounces" for the world light.
Thomas Dinges [Sun, 12 Jul 2015 15:56:54 +0000 (17:56 +0200)]
Cycles: Expose "Max Bounces" for the world light.

When using MIS, the world is treated as regular light and in this case
we can now also limit the maximum amount of bounces, the background light
will contribute to the scene.

This can improve performance in some cases, where it's e.g. sufficient to
only have a contribution on first 1-2 bounces.
Examples can be found in the differential.

Differential revision:

4 years agoBGE Clean-up: New EXP prefix for the BGE Expression module
Jorge Bernal [Sun, 12 Jul 2015 14:55:33 +0000 (16:55 +0200)]
BGE Clean-up: New EXP prefix for the BGE Expression module

The expression module now uses an EXP prefix and it follows a
distribution similar to blender.

Additionally the hash function in EXP_HashedPtr.h was simplified and the
files EXP_C-Api.h &.EXP_C-Api.cpp were deleted because were unused.

Reviewers: campbellbarton, moguri, sybren, hg1

Projects: #game_engine

Differential Revision:

4 years agoFix crash in redraw timer
Campbell Barton [Sun, 12 Jul 2015 14:21:08 +0000 (00:21 +1000)]
Fix crash in redraw timer

Was modifying wrong regions flag, that could also be NULL.

4 years agoAdd ability for redraw timer to run for fixed time
Campbell Barton [Sun, 12 Jul 2015 12:57:35 +0000 (22:57 +1000)]
Add ability for redraw timer to run for fixed time

Also avoid accessing context vars in timer loop.

4 years agoPyAPI: Use separate writes for operator reports
Campbell Barton [Sun, 12 Jul 2015 12:16:54 +0000 (22:16 +1000)]
PyAPI: Use separate writes for operator reports

This allows us to temp override the stdout and extract individual reports

4 years agoDocs; Py API gotcha's section
Campbell Barton [Sun, 12 Jul 2015 10:50:44 +0000 (20:50 +1000)]
Docs; Py API gotcha's section

Minor corrections and cleanup

4 years agoUse const for direntry strings
Campbell Barton [Sat, 11 Jul 2015 19:50:07 +0000 (05:50 +1000)]
Use const for direntry strings

4 years agoFile Browser: Fix possible bug and some minor tweaks
Julian Eisel [Sat, 11 Jul 2015 19:37:50 +0000 (21:37 +0200)]
File Browser: Fix possible bug and some minor tweaks

BLI_add_slash appended to a char *, a potential buffer overflow

Also partially removed an assert, which failed after changing file format of a saved image. We need a better way to handle such cases.

4 years agoError in last commit
Campbell Barton [Sat, 11 Jul 2015 19:35:44 +0000 (05:35 +1000)]
Error in last commit

4 years agoMinor changes for more efficient endian switching
Campbell Barton [Sat, 11 Jul 2015 19:33:04 +0000 (05:33 +1000)]
Minor changes for more efficient endian switching

4 years agoUse const for sculpt vars
Campbell Barton [Sat, 11 Jul 2015 17:49:47 +0000 (03:49 +1000)]
Use const for sculpt vars

resolves building with gcc4.9

4 years agoImBuf: Fix compilation error with older libpng
Sergey Sharybin [Sat, 11 Jul 2015 17:18:20 +0000 (19:18 +0200)]
ImBuf: Fix compilation error with older libpng

Older libpng library does not use const pointer to a memory.

The exact version is a bit of a guess here, maybe needs tweaks to it tho.

4 years agoremove redundant casts
Campbell Barton [Sat, 11 Jul 2015 16:53:37 +0000 (02:53 +1000)]
remove redundant casts

4 years agoerror in own last commit
Campbell Barton [Sat, 11 Jul 2015 15:43:32 +0000 (01:43 +1000)]
error in own last commit

4 years agoAdd Thai and Khmer charsets to our i18n font.
Bastien Montagne [Sat, 11 Jul 2015 16:02:19 +0000 (18:02 +0200)]
Add Thai and Khmer charsets to our i18n font.

4 years agoAvoid static var for OpenEXR
Campbell Barton [Sat, 11 Jul 2015 15:43:32 +0000 (01:43 +1000)]
Avoid static var for OpenEXR

4 years agoMake Iris image loading thread-safe
Campbell Barton [Sat, 11 Jul 2015 15:06:32 +0000 (01:06 +1000)]
Make Iris image loading thread-safe

Needed for thumbnails

4 years agoImBuf: cleanup, use const for memory passed in
Campbell Barton [Sat, 11 Jul 2015 13:52:18 +0000 (23:52 +1000)]
ImBuf: cleanup, use const for memory passed in

4 years agoAdd some basic report/timing/logging tool as util py module `progress_report`.
Bastien Montagne [Sat, 11 Jul 2015 14:47:59 +0000 (16:47 +0200)]
Add some basic report/timing/logging tool as util py module `progress_report`.

It supports any level of sub-steps, timing, messaging, and uses WindowManage.progress API
to report progress in UI, in addition to console printing.

4 years agoAdd WM_framebuffer_to_index_array
Campbell Barton [Sat, 11 Jul 2015 11:09:22 +0000 (21:09 +1000)]
Add WM_framebuffer_to_index_array

Convert buffer to index in one loop,
also minor cleanup to backbuf/selection functions.

- Use IMB_rectcpy instead of inline pixel copy.
- Redundant WM_framebuffer_to_index call.

4 years agoFile Browser: Keep file name after changing directory
Julian Eisel [Sat, 11 Jul 2015 03:20:35 +0000 (05:20 +0200)]
File Browser: Keep file name after changing directory

Actually this was an intentional change in rBaeeb23efa28dc to prevent Blender from trying to open the old file from the new directory. Issue is that this is really bad for saving and basically breaks "Save As".

Some more tweaks were needed to make it work like before, so now it keeps the name of the last selected file, but clears it when selecting a folder.

4 years agoBLI_matrix space_transform: Add a 'local-invariant' setter.
Bastien Montagne [Fri, 10 Jul 2015 22:04:27 +0000 (00:04 +0200)]
BLI_matrix space_transform: Add a 'local-invariant' setter.

`BLI_space_transform_from_matrices()` defines a 'global-invariant' transform
(same point in global space, two different coordinates in local and target spaces).

New `BLI_space_transform_global_from_matrices()` is kind of opposite, it defines
a 'local-invariant' transform (two different points in global space, same coordinates in local and target spaces).

Useful to 'match' meshes.

4 years agoFix T45405: Crash on opening a file (in filebrowser code)
Julian Eisel [Fri, 10 Jul 2015 20:04:06 +0000 (22:04 +0200)]
Fix T45405: Crash on opening a file (in filebrowser code)

Quoting Bastien from IRC: "Filebrowser is a nest of bad surprises" -- indeed :S

4 years agoCleanup: use const for mesh functions
Campbell Barton [Fri, 10 Jul 2015 18:39:27 +0000 (04:39 +1000)]
Cleanup: use const for mesh functions

4 years agoCleanup: use const for gpu buffer
Campbell Barton [Fri, 10 Jul 2015 17:25:28 +0000 (03:25 +1000)]
Cleanup: use const for gpu buffer

4 years agoCleanup: remove redundant includes
Campbell Barton [Fri, 10 Jul 2015 16:49:04 +0000 (02:49 +1000)]
Cleanup: remove redundant includes

4 years agoSequencer: changes to text effect strip
Campbell Barton [Fri, 10 Jul 2015 16:17:06 +0000 (02:17 +1000)]
Sequencer: changes to text effect strip

- default alignment to lower center.
- placement is now relative,
  so changing output size keeps correct placement.
- instead of center override, add align option (left/right/center).

Also don't use pixel-size for setting the font size, on new strips.
Better not have UI prefs impact low level API's.

4 years agoFix crash when appending from File Browser
Julian Eisel [Fri, 10 Jul 2015 15:48:49 +0000 (17:48 +0200)]
Fix crash when appending from File Browser

Again own mistake in rBaeeb23efa28dc1

4 years agoFreestyle: Missing __all__ symbols added in D963.
Tamito Kajiyama [Fri, 10 Jul 2015 13:55:06 +0000 (22:55 +0900)]
Freestyle: Missing __all__ symbols added in D963.

4 years agoCode cleanup: White space and dead code.
Tamito Kajiyama [Fri, 10 Jul 2015 13:53:58 +0000 (22:53 +0900)]
Code cleanup: White space and dead code.

4 years agoFreestyle: new stroke modifiers
Folkert de Vries [Fri, 10 Jul 2015 12:57:23 +0000 (21:57 +0900)]
Freestyle: new stroke modifiers

This patch introduces a couple new stroke modifiers. The ones currently implemented are based on prototypes by @kjym3 and myself.

The new modifiers:
  - Tangent
  - Thickness noise
  - Crease Angle
  - Simplification
  - Curvature 3D

The documentation for these new modifier types can be found [[ | in the manual ]]:

(left: AnisotropicThicknessShader, right: NoiseThicknessShader)

(left: Curvature 3D, right: Simplification)

Author: Folkert de Vries (flokkievids)

Reviewers: kjym3

Subscribers: #user_interface, plasmasolutions, kjym3

Projects: #bf_blender

Differential Revision:

4 years agoBLI_math 'compare' cleanup & enhancements.
Bastien Montagne [Fri, 10 Jul 2015 12:32:35 +0000 (14:32 +0200)]
BLI_math 'compare' cleanup & enhancements.

This commit:
* Adds a 'compare_ff' function for absolute 'almost equal' comparison of floats.
* Makes 'compare_vxvx' functions use that new 'compare_ff' one.
* Adds a 'compare_ff_relative' function for secured ulp-based relative comparison of floats.
* Adds matching 'compare_vxvx_relative' functions.
* Adds some basic tests for compare_ff_relative.


Note that we could replace our python/mathutils' EXPP_FloatsAreEqual() by BLI's compare_ff_relative
(using a very small absolute max_diff), but these do not have exact same behavior...
Left a comment there for now, we can do it later if/when we are sure it won't break anything!

4 years agoREmove stupid apple check on OMP in weightvg modifier.
Bastien Montagne [Fri, 10 Jul 2015 07:55:01 +0000 (09:55 +0200)]
REmove stupid apple check on OMP in weightvg modifier.

This is handled in build files...

4 years agoCustomData: deprecate CD_ID_MCOL
Campbell Barton [Fri, 10 Jul 2015 06:47:39 +0000 (16:47 +1000)]
CustomData: deprecate CD_ID_MCOL

4 years agomakesrna: use int64 for rounding check
Campbell Barton [Fri, 10 Jul 2015 06:42:36 +0000 (16:42 +1000)]
makesrna: use int64 for rounding check

Harmless but larger values would overflow

4 years agoDNA: replace GCC poison with ifdef for enums
Campbell Barton [Fri, 10 Jul 2015 05:58:08 +0000 (15:58 +1000)]
DNA: replace GCC poison with ifdef for enums

4 years agoFix T45398: Saving file from File Browser doesn't work if no file is selected
Julian Eisel [Thu, 9 Jul 2015 21:48:55 +0000 (23:48 +0200)]
Fix T45398: Saving file from File Browser doesn't work if no file is selected

Own mistake in rBaeeb23efa28dc16e20

4 years agoFile Browser: (Re-)Allow selecting '..' parent entry for file navigation
Julian Eisel [Thu, 9 Jul 2015 17:48:03 +0000 (19:48 +0200)]
File Browser: (Re-)Allow selecting '..' parent entry for file navigation

Selecting '..' entry was intentionally disabled in rB76b4fad6dbda1b10c, however, for file navigation this can be really useful. So this basically allows selecting '..' entry again, *if it is the only entry to select*. It won't be selected using box select, select all or when expanding selection.

4 years agoFile Browser: Improve usage of Enter-key to open files/directories
Julian Eisel [Thu, 9 Jul 2015 16:40:34 +0000 (18:40 +0200)]
File Browser: Improve usage of Enter-key to open files/directories

From a user-POV this makes following changes:
* Adds support for using the Enter-key to open directories
* Updates the upper text-buttons for file and directory on selection
* Last selected file/directory is opened now (in sync with upper text-buttons)
* Changes text in open button to "Open Directory" if a directory is selected

D1349, Reviewed by @mont29

4 years agoCleanup: warnings
Campbell Barton [Thu, 9 Jul 2015 09:39:37 +0000 (19:39 +1000)]
Cleanup: warnings

4 years agoCleanup: quiet warning
Campbell Barton [Thu, 9 Jul 2015 09:23:49 +0000 (19:23 +1000)]
Cleanup: quiet warning

4 years agoUse it->second instead of (*it).second in KX_BlenderSceneConverter.
Porteries Tristan [Thu, 9 Jul 2015 07:45:21 +0000 (09:45 +0200)]
Use it->second instead of (*it).second in KX_BlenderSceneConverter.

4 years agoSelect Shortest Path for edit-curve
Campbell Barton [Thu, 9 Jul 2015 03:14:09 +0000 (13:14 +1000)]
Select Shortest Path for edit-curve

D1391 by @pink.vertex with own fixes/edits

4 years agoCurve: change rules wrt active bezier
Campbell Barton [Thu, 9 Jul 2015 04:52:01 +0000 (14:52 +1000)]
Curve: change rules wrt active bezier

Activate the vertex even if only a single handle is selected

4 years agoCurve selection, de-duplicate & cleanup
Campbell Barton [Thu, 9 Jul 2015 04:31:27 +0000 (14:31 +1000)]
Curve selection, de-duplicate & cleanup

4 years agoSelect Similar for edit-curve
Campbell Barton [Wed, 8 Jul 2015 16:58:40 +0000 (02:58 +1000)]
Select Similar for edit-curve

D1381 by @johnroper100 with edits

4 years agoAdd BKE_nurb_bpoint_calc_normal
Campbell Barton [Wed, 8 Jul 2015 16:56:04 +0000 (02:56 +1000)]
Add BKE_nurb_bpoint_calc_normal

4 years agoEditCurve: move selection into own file
Campbell Barton [Wed, 8 Jul 2015 13:24:16 +0000 (23:24 +1000)]
EditCurve: move selection into own file

4 years agoFix/Cleanup mesh remap dest transformation in tree/source space.
Bastien Montagne [Tue, 7 Jul 2015 17:23:01 +0000 (19:23 +0200)]
Fix/Cleanup mesh remap dest transformation in tree/source space.

In org work, bvhtree helpers were modifying passed co/no in place according to given transform.

However, during review pass we decided this was bad, and made them modify copies. But this broke
some cases where we'd do extra tests after bvhtree query, expecting tmp_co to be in tree (aka source) space!

Further more, since in quite a few cases we were already doing that transform outside of bvhtree helpers,
decided to remove this alltogether from the helpers - makes things more clear and easy to follow,
avoids needless copy of vector, and ensures we are always using tmp_co in its transformed version!

4 years agoCorrect default enum values
Campbell Barton [Tue, 7 Jul 2015 13:09:08 +0000 (23:09 +1000)]
Correct default enum values

Had assert creating cheat sheet