Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-06-12Cleanup: moar removal of G.main in BKE area...Bastien Montagne
2018-06-12Cleanup: remove moar G.main from BKE area.Bastien Montagne
2018-06-11Cleanup: Moar G.main removal of Hell.Bastien Montagne
This commit actually adds some G.main... but at much, much higher level than the ones it removes, so should still be better ;)
2018-05-31Cleanup: remove G.main from BKE objectBastien Montagne
Had to add some G.main to modifiers, but in 2.8 we do not need that anymore, so it's not that bad! ;)
2018-04-14Cleanup: use const for BKE_object argsCampbell Barton
2018-04-04Fix modifier freeing code re. ID refcounting.Bastien Montagne
Free code should not handle ID refcounting at all. This has to be done at higher level, since in some case we want to free (temp) data that actually did not refcount at all its IDs. This change seems to be working OK, but as usual in that area, only lots of testing in real-case situation will say whether there are some hidden bugs or not.
2018-03-13Cleanup: long lines, use doxy sectionsCampbell Barton
2017-11-29Cleanup: Split depsgraph uber transform function callbackSergey Sharybin
2017-11-29Cleanup: Remove unused argumentSergey Sharybin
2017-11-29Transform: Avoid use of ob->recalc in snapping codeSergey Sharybin
Do a direct update of object transform instead, without involving manual trickery of recalc flag. Shouldn't be functional changes as far as artists are concerned, but will allow us to get rid of recalc flags in 2.8. Thanks Bastien for review!
2017-08-07Refactor ID copying (and to some extent, ID freeing).Bastien Montagne
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
2017-06-14Make whole ID copying code use const source pointer.Bastien Montagne
Noisy change, but safe, and better do it sooner than later if we are to rework copying code. Also, previous commit shows this *is* useful to catch some mistakes.
2017-06-07Depsgraph: Remove modifiers operation codeSergey Sharybin
Was internally a no-op operation, which only caused extra work to be done during depsgrpah traversal and evaluation, without making any measurable improvement.
2017-03-15Fix T50938: Cache not being reset when changing simulation settings with new ↵Sergey Sharybin
depsgraph The thing i'm really starting to hate is the requirement to specify both operation code and node type. Seems to be duplicated enums without real need for that.
2017-02-14`BKE_boundbox_ensure_minimum_dimensions` is no longer necessaryGermano Cavalcante
The bug T46099 no longer applies since the addition of `dist_squared_to_projected_aabb_simple` Has also been added comments that relates to an occlusion bug with the ruler. I'll investigate this.
2017-01-31Use the same solution to test the pixel distance to the AABB, with BoundBoxGermano Cavalcante
The previous solution took arbitrary values to determine if the mouse was near or not to the Bound Box (it simply scaled the Bound Box). Now the same function that detected the distance from the BVHTree nodes to the mouse is used in the Bound Box
2017-01-29Remove `BKE_boundbox_ray_hit_check`Germano Cavalcante
Remove `BKE_boundbox_ray_hit_check` since it is no longer being used and can be easily replaced by `isect_ray_aabb_v3_simple`
2016-10-13Proxy appending: re-establish link to proxies when they are made localSybren A. Stüvel
This allows appending of an entire scene from another blend file into this one, even when that blend file contains proxified armatures. This replaces the approach from commit 1cdc54dc7db85766. Thanks @sergey for the help.
2016-07-21Refactor/deduplicate even more make_local code (and fix part of T48907).Bastien Montagne
Turns out most BKE_foo_make_local datablock-specific functions are actually doing exactly the same thing, only two currently need special additional operations (object and brush ones). So added a BKE_id_make_local_generic instead of copying same code over and over. Also, changed a bit how make_local works in case we are localizing a whole library. We need to do the 'remap' step (from old linked ID to new local one) in the second loop, otherwise we miss some dependencies. This fixes main part of T48907.
2016-07-14Add option to id_make_local to force localization of datablock, even if not ↵Bastien Montagne
used locally. Will be used by link/append code.
2016-07-13Revert "Depsgraph: Russian electric tape bodge to have multiple proxies work"Sergey Sharybin
This reverts commit 47d0d9cca4d0c3ccbdc368e97fc24652379fd368. Reverting the commit. Not only it did not solve all the cases of proxy popping, but also broke real cases with single proxy involved.
2016-07-10Cleanup/Refactor: pass Main pointer to all ID copy functions.Bastien Montagne
Also allows us to get rid of a few _copy_ex() versions...
2016-07-08Refactor/enhance BKE_object_make_local().Bastien Montagne
Now using modern features from libquery/libremap areas. Also, it should handle much better cases where localized ID was also indirectly used by non-refcounting users (typical case: object used as modifier/constraint/whatever target from another linked object, previous code would not take those into account and just localize original object instead of making a local copy. Would result in local object used by linked one, which would be partially 'undone' on next file reload... Crappy behavior). And it fixes some obvious errors too (nullifying all proxy pointers unconditionnaly, some missing refcounted usages cases in extern_local_object(), etc.).
2016-06-22ID-Remap - Step one: core work (cleanup and rework of generic ID datablock ↵Bastien Montagne
handling). This commit changes a lot of how IDs are handled internally, especially the unlinking/freeing processes. So far, this was very fuzy, to summarize cleanly deleting or replacing a datablock was pretty much impossible, except for a few special cases. Also, unlinking was handled by each datatype, in a rather messy and prone-to-errors way (quite a few ID usages were missed or wrongly handled that way). One of the main goal of id-remap branch was to cleanup this, and fatorize ID links handling by using library_query utils to allow generic handling of those, which is now the case (now, generic ID links handling is only "knwon" from readfile.c and library_query.c). This commit also adds backends to allow live replacement and deletion of datablocks in Blender (so-called 'remapping' process, where we replace all usages of a given ID pointer by a new one, or NULL one in case of unlinking). This will allow nice new features, like ability to easily reload or relocate libraries, real immediate deletion of datablocks in blender, replacement of one datablock by another, etc. Some of those are for next commits. A word of warning: this commit is highly risky, because it affects potentially a lot in Blender core. Though it was tested rather deeply, being totally impossible to check all possible ID usage cases, it's likely there are some remaining issues and bugs in new code... Please report them! ;) Review task: D2027 (https://developer.blender.org/D2027). Reviewed by campbellbarton, thanks a bunch.
2016-06-06Depsgraph: Russian electric tape bodge to have multiple proxies workSergey Sharybin
Makes behavior of proxy_from backlink working similar to the old dependency graph. it's nasty, but needed here in the studio to get proxies fixes ASAP.
2016-01-09Fix broken build from rBd7da51b727725Bastien Montagne
Please avoid specialized typed enums in headers as widely used as BKE_object.h, we do not want to include DNA_modifiers_type.h everywhere...
2016-01-09Smoke, Dynamic Paint: de-duplicate object subframe update function.Kévin Dietrich
As in the title. In the smoke version, there was also an extra 'for_render' parameter that wasn't used, and wasn't used by the callers either, so it was removed altogether. Reviewers: brecht Reviewed By: brecht Subscribers: brecht Differential Revision: https://developer.blender.org/D1718
2015-11-24Fix T46816: Vert/Edge snap fails at edge of boundsCampbell Barton
2015-11-02Library API: pass Main struct to unlink functionsCampbell Barton
2015-10-20First step to handle missing libs/datablocks when reading a file.Bastien Montagne
Idea is, instead of ignoring completely missing linked datablocks, to create void placeholders for them. That way, you can work on your file, save it, and find again your missing data once lib becomes available again. Or you can edit missing lib's path (in Outliner), save and reload the file, and you are done. Also, Outliner now shows broken libraries (and placeholders) with a 'broken lib' icon. Future plans are also to be able to relocate missing libs and reload them at runtime. Code notes: - Placeholder ID is just a regular datablock of same type as expected linked one, with 'default' data, and a LIB_MISSING bitflag set. - To allow creation of such datablocks, creation of datablocks in BKE was split in two step: + Allocation of memory itself. + Setting of all internal data to default values. See also the design task (T43351). Reviewed by @campbellbarton, thanks a bunch! Differential Revision: https://developer.blender.org/D1394
2015-10-08Fix T46386: Duplicate fails updating driver linksCampbell Barton
Duplicate wasn't updating links, so duplicatinvg a objects would still point to the originals for curve-taper, texmesh, drivers. Use generic id-looper to handle replacing data.
2015-09-14Fix T46099: snapping failed on objects with some NULL-dimension in their bbox.Bastien Montagne
Added a helper that ensures a bbox has some non-NULL dimension along all its axes. Also, fixed some (rather unlikely) NULL dereference cases (though it should not in this context, `BKE_object_boundbox_get()` can return NULL).
2015-09-03View-Selected: use custom bones boundboxCampbell Barton
Support using custom pose-bone transform and object when calculating view bounds.
2015-06-08RNA: Object.shape_key_remove methodCampbell Barton
Python had no ability to remove shape keys Original D1169 from @lichtwerk, with edits
2015-06-02Cleanup: use const for object copy funcsCampbell Barton
2015-05-12Depsgraph: Add evaluation callbacks for granular nodes updateSergey Sharybin
This commit only adds callbacks which then later be used with major dependency graph commit, keeping the upcoming commit more clean to follow. Should be no functional changes so far still.
2015-05-12Depsgraph: Make ob_get_parent_matrix() more public and reusableSergey Sharybin
Currently still only used from object.c, but in the next commit it'll be also used from granular object update callbacks.
2015-05-12Depsgraph: Add utility function to check whether modifier depends on timeSergey Sharybin
Currently unused, based on the code from old depsgraph.c. The purpose is to re-sue the code over old and new depsgraph in an easy way.
2015-05-12Depsgraph: Move update-related functions into own filesSergey Sharybin
Currently it is just moving existing functions into a new file, but in the future those new files will be grown much more due to upcoming more granular scene updates. Should be no functional changes.
2015-05-04Add name argument to data creation API callsCampbell Barton
Was adding then renaming, unnecessarily.
2015-03-28Cleanup: redundant struct declarationsCampbell Barton
2015-03-13Cycles: Free caches used by the synchronized objectsSergey Sharybin
Issue this commit is addressed to is that particle system and particle modifier will contain caches once derived mesh was requested and this cached data will never be freed. This could easily lead to unwanted memory peaks during synchronization stage of rendering. The idea is to have RNA function in object which would free caches which can't be freed otherwise. This function is not intended to deal with derived final since it might be used by other objects (for example by object with boolean modifier). This cache freeing is only happening in the background rendering and locked interface rendering. From quick tests with victor file this change reduces peak memory usage by command line rendering by around 6% (1780MB vs. 1883MB). For rendering from the interface it's about 12% (1763MB vs. 1998MB). Reviewers: campbellbarton, lukastoenne Differential Revision: https://developer.blender.org/D1121
2015-03-04Fix for snap to cursor /w parents (object/pose)Campbell Barton
Also don't use pose-bone transform unless the user is in pose-mode.
2015-01-20Make removal of existing particle systems on copying optional.Lukas Tönne
This will be most useful when copying individual particle systems one-by-one (to be implemented).
2015-01-06Remove slurph shape-key featureCampbell Barton
This is an old option which wasn't working in over a year without complaint.
2014-09-01Support more object types scene-scale (on creation)Campbell Barton
- lamp - camera - font - empty & effector Also fix inconsistency with apply transform (modified shape-keys for meshes but not curve/lattice)
2014-08-11Utility functions for getting boundbox size/scaleCampbell Barton
2014-04-09View3D: disable LOD when game engine is disabled or ifdef'dCampbell Barton
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-03-31Code cleanup: use boolCampbell Barton