Age | Commit message (Collapse) | Author |
|
Co-linear lines could detect as intersecting even if they weren't overlapping.
|
|
|
|
Number of system threads is quite difficult to change without need of blender
restart, so we can cache result of the systcalls (which are not really cheap)
in order to be able to call BLI_system_thread_count() without worrying of
performance issues in that function.
Reviewers: campbellbarton
Differential Revision: https://developer.blender.org/D1342
|
|
|
|
Avoids counting the whole queue when we only want to check whether it is empty or not!
|
|
Useful to fill an array in the order its added.
|
|
|
|
This is typically an error (& hangs a few seconds on win32), best catch early.
|
|
|
|
Would fail on some zero-area ngons.
|
|
|
|
|
|
|
|
|
|
Avoid data type re-declaration, it's not really working on current FreeBSD's 9
system and CLang-3.0 from OSX.
This is not a good idea to do such sort of copy-paste anyway.
If someone knows better way of dealing with this please go ahead and correct
the code :)
|
|
|
|
For areas that require append, store the last node,
Previous behavior would too easily hide poorly performing code.
Also avoid (prepend, reverse) where possible.
|
|
Adds support for selecting/deselecting files in File Browser using the
arrow keys. All directions (up, down, left, right) are possible.
When to Select, When to Deselect?
Standard behaviour is selecting, however if we move into a block of
already selected files (meaning 2+ files are selected) we start
deselecting
Possible Selection Methods
Simple selection (arrow-key): All other files are deselected
Expand selection (Shift+arrow key): Add to/remove from existing
selection
ill-Expand selection (Ctrl+Shift+arrow key): Add to/remove from existing
selection and fill everything in-between
From which file do we start navigating?
From each available selection method (Mouse-, Walk-, All-, Border
Select), we use the last selected file. If there's no selection at all
we use the first (down/right arrow) or last (up/left arrow) file.
(Ideally, the view would automatically be set to the new selection, but
this behaviour overlaps with an other patch I've been working on, so
prefer to do that separately)
(Also tweaks color for highlighted file for better feedback)
D1297, Review done by @campbellbarton, thx a lot :)
|
|
Original code from eglib, modified for reuse with multiple linked-list implementations.
Adds sort functions: BLI_linklist_sort, BLI_linklist_sort_r
|
|
|
|
|
|
|
|
filenames.
Added BLI_path utility functions to decompose a path name and
extract the frame number. It should be useful in autocollapse
feature as well
|
|
|
|
|
|
Exposed when checking on T44871
|
|
|
|
|
|
|
|
|
|
Float precision was causing problems for decimate,
small faces that create a nearly flat surface were detected as having no 'cost' to collapse.
|
|
- add_vn_vn_d
- add_vn_vnvn_d
- mul_vn_db
|
|
When calculating quadrics, using the first-vertex isn't correct.
|
|
Also add depsgraph & physics
|
|
The used heuristic of checking the value prior to lock is not totally safe
because assignment is not atomic and check might not give proper result.
|
|
For a long time this function was only intended to be used from the main thread,
but since out implementation of parallel range (which is currently only used by
mesh deform modifier) we might want to switch to threaded alloc from object
update thread.
Now we're using spinlock around the check, which makes the code safe to be used
from all over the place.
We might consider using a bit of atomics operations magic there, but it's not so
much important for now, this code is not used in the performance critical code
path.
|
|
|
|
Use the bilinear reverse to find the pixel to bleed from.
Was using pixel space which didn't work well.
|
|
|
|
Needed in cases where the memory from each key is owned by the GHash.
|
|
binary-search is confusing!
|
|
|
|
matching convention for fixed length api, eg: copy_v3_fl
|
|
|
|
|
|
This also increases the tolerances in is_orthogonal / is_orthonormal functions,
which were much too low for practical purposes.
|
|
Use for edge-split (a little less overhead compare to popping each item).
|
|
|
|
|
|
|