Age | Commit message (Collapse) | Author |
|
|
|
Makes it easier to add or remove fields needed to update relations.
|
|
- When returning the number of items in a collection use BLI_*_len()
- Keep _size() for size in bytes.
- Keep _count() for data structures that don't store length
(hint this isn't a simple getter).
See P611 to apply instead of manually resolving conflicts.
|
|
We've got quite comprehensive BMesh based implementation, which is way easier
for maintenance than abandoned Carve library.
After all the time BMesh implementation was working on the same level of
limitations about manifold meshes and touching edges than Carve. Is better
to focus on maintaining one boolean implementation now.
Reviewers: campbellbarton
Reviewed By: campbellbarton
Differential Revision: https://developer.blender.org/D3050
|
|
|
|
|
|
Solves these security issues from T52924:
CVE-2017-12081
CVE-2017-12082
CVE-2017-12086
CVE-2017-12099
CVE-2017-12100
CVE-2017-12101
CVE-2017-12105
While the specific overflow issue may be fixed, loading the repro .blend
files may still crash because they are incomplete and corrupt. The way
they crash may be impossible to exploit, but this is difficult to prove.
Differential Revision: https://developer.blender.org/D3002
|
|
Allow threading using subset of all available threads. Makes it faster to
evaluate lower resolution mesh but with complex deform groups and such.
|
|
Those pointers are never to be aliased, so let's be explicit about this and hope
compiler does save some CPU ticks.
|
|
Now all the fine-tuning is happening using parallel range settings structure,
which avoid passing long lists of arguments, allows extend fine-tuning further,
avoid having lots of various functions which basically does the same thing.
|
|
Wrap all arguments into TLS type of argument. Avoids some branching and also
makes it easier to extend things in the future.
|
|
D2989 by @dmarra w/ own edits
|
|
for big faces
Dot-product for angle check need either to be divided by vectors magnitude or be
calculated for normalized vectors.
|
|
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.
|
|
D2912 by @Zuorion
|
|
The offset is subtracted, so that it's intuitive (dragging slider pushes
the animation further that way on the timeline).
|
|
Replace iroundf with round_fl_to_int, add other types
|
|
Useful for baking, so UV's can be moved outside the image
and not used to bake pixels (but still used for display).
D2801 by @Zuorion
|
|
This allows to have different macro headers without them sharing
similar names to regular C modules.
|
|
Only show & use when running in debug mode.
|
|
Support for negative scaled objects.
|
|
This means boolean tessellation wont match viewport tessellation
however it's needed to avoid zero area triangles causing problems.
|
|
Vertices on the axis can be optionally merged,
nice for creating objects which close at the end-points.
|
|
That one was doing exactly same thing as `dm->getLoopTriArray()`, no
point in having twice the same code here...
|
|
Own previous fix (rBd5d626df236b) was not valid, curves are actually
supported by SoftBodies. It was rather a mere UI bug, which was not
including Surfaces and Font obect types in those valid for softbody UI.
Thanks to @brecht for the head up!
Also, fix safe for 2.79, btw.
|
|
For some reasons (c) softbody modifier was marked as compatible with
curves... Would need much more work though, so for now just removing
that flag!
|
|
|
|
|
|
Use same trick as in DataTransfer modifier e.g. to avoid modifying
existing mesh's data.
|
|
This will allow much finer controll over how we copy data-blocks, from
full copy in Main database, to "lighter" ones (out of Main, inside an
already allocated datablock, etc.).
This commit also transfers a llot of what was previously handled by
per-ID-type custom code to generic ID handling code in BKE_library.
Hopefully will avoid in future inconsistencies and missing bits we had
all over the codebase in the past.
It also adds missing copying handling for a few types, most notably
Scene (which where using a fully customized handling previously).
Note that the type of allocation used during copying (regular in Main,
allocated but outside of Main, or not allocated by ID handling code at
all) is stored in ID's, which allows to handle them correctly when
freeing. This needs to be taken care of with caution when doing 'weird'
unusual things with ID copying and/or allocation!
As a final note, while rather noisy, this commit will hopefully not
break too much existing branches, old 'API' has been kept for the main
part, as a wrapper around new code. Cleaning it up will happen later.
Design task : T51804
Phab Diff: D2714
|
|
|
|
|
|
modifier.
|
|
|
|
|
|
Was needlessly complicated code, forgot to copy a value (foam_fade), and
was utterly leaking memory!
|
|
|
|
function.
*Sigh* One more example of why we should keep ID management handling in
as few places as possible! It's impossible to keep more than a few
places in sync regarding which ID pointer is refcounted etc.
|
|
Also generally simplify/sanitize this copy code.
|
|
This way the code is more decoupled from the way where depsgraph is stored.
|
|
Was looping three times over the source mesh's vertices to get min/max
along all three axes... Nothing critical, but still!
|
|
This way we reduce amount of time wasted in spin-lock later on when all threads
are starting to sample texture.
|
|
Differential Revision: https://developer.blender.org/D2688
|
|
Root of the issue here was that two stupid modifiers could create named
vgroup CD layers (vgroup editing ones... shame on me :") ).
Fix that, and added some versionning code to also fix 'corrupted' blend
files created by those so far.
|
|
|
|
|
|
|
|
from reading baked data
Sanitize a bit how cache path is handled by fluidsim (there is much more
to be done here though :( ), and forbid empty path (we reset to default
path relative to current .blend file in case it's empty).
If people really, really want to use current OS-wise directory, they can at
least use '.' as path. ;)
|
|
|
|
|