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
2020-11-06Refactor: move Object .blend I/O to IDTypeInfo callbacksJacques Lucke
2020-11-06Refactor: move ShaderFx .blend I/O to blenkernelJacques Lucke
Ref T76372.
2020-11-02Cleanup: Document output of `BKE_object_where_is_calc` and friendsSybren A. Stüvel
Add a comment to the declaration of the `BKE_object_where_is_calc...()` functions to explain where the result of the calculation is stored. No functional changes.
2020-10-07Refactor: remove `BKE_<id_type>_copy` functions.Bastien Montagne
Those were only shallow wrappers around `BKE_id_copy`, barely used (even fully unused in some cases), and we want to get rid of those ID-specific helpers for the common ID management tasks. Also prevents weird custom behaviors (like `BKE_object_copy`, who was the only basic ID copy function to reset user count of the new copy to zero). Part of 71219.
2020-09-16Cleanup: Separate BKE_object_link_modifiers into functionsNathan Craddock
No functional changes. Split the grease pencil and object copy logic into separate functions. This makes the code cleaner and prepares utility functions for outliner modiifier drag and drop. Differential Revision: https://developer.blender.org/D8642
2020-09-07Cleanup: spellingCampbell Barton
Also correct wrapped lines of example code in threads.cc.
2020-09-07Cleanup: remove redundant scene argument in BKE_object_addCampbell Barton
2020-09-04Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fixSebastian Parborg
No functional changes
2020-09-03Object: add BKE_object_obdata_to_type utility functionCampbell Barton
Move functionality to get the object type from an ID into it's own function.
2020-09-02Cleanup: use bool instead of int in various placesJacques Lucke
2020-08-11Modifier: Maintain per-modifier session UUIDSergey Sharybin
Allows to keep track of modifiers, which is required, for example, for runtime data preservation in depsgraph.
2020-08-07Code Style: use "#pragma once" in source directoryJacques Lucke
This replaces header include guards with `#pragma once`. A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`), because they are used in other places. This patch has been generated by P1561 followed by `make format`. Differential Revision: https://developer.blender.org/D8466
2020-08-02Cleanup: pass const matricesCampbell Barton
Also order return matrices last.
2020-07-09Implement T77959: Never duplicate linked data during deep-copy.Bastien Montagne
Note that this behavior is enforced on user level for now, but on code side it is controlled with a flag, which should make it easy to refine that behavior if needed. Only exception is when we duplicate a linked ID directly (then we assume user wants a local deep-copy of that linked data, and we always also duplicate linked sub-data-blocks). Note that this commit also slightly refactor the handling of actions of animdata, by simplifying `BKE_animdata_copy_id_action()` and adding an explicit new `BKE_animdata_duplicate_id_action()` to be used during ID duplication (deep copy). This also allows us to get rid of the special case for liboverrides.
2020-06-17Refactor duplicate of data-blocks.Bastien Montagne
Main change from user side, besides that all pointers should now be properly remapped to new IDs, is that linked objects are no longer preserved when doing a full copy of scenes. Will open a task to check whether we actually still want that behavior (and re-code it in a more correct way then). This is the main part of work done here, it aims at uniformizing and sanitizing that 'deep copy' process for supported IDs (currently scenes, collections and objects). Note that there will be more follow up commits after that one, but this should be the most risky and changing one.
2020-06-16Fix issue with uint in headers in recent own commit.Bastien Montagne
Would break on some systems/compilers...
2020-06-16Cleanup: use explicit enum type for duplicate option of `BKE_object_duplicate`Bastien Montagne
Using enum type itself in implementations, and uint in headers (as using enums types in headers is a pain when enum are not defined and used in a single same header file...).
2020-05-08Cleanup: take includes out of 'extern "C"' blocksJacques Lucke
Surrounding includes with an 'extern "C"' block is not necessary anymore. Also that made it harder to add any C++ code to some headers, or include headers that have "optional" C++ code like `MEM_guardedalloc.h`. I tested compilation on linux and windows (and got help from @LazyDodo). If this still breaks compilation due to some linker error, the header containing the symbol in question is probably missing an 'extern "C"' block. Differential Revision: https://developer.blender.org/D7653
2020-04-03Cleanup: use tern 'sync' instead of 'synchronization' for function namesCampbell Barton
This is a common, unambiguous abbreviation already used throughout the code-base.
2020-03-18Cleanup: spellingCampbell Barton
2020-03-13Multires: Fix Subdivide, Reshape and Apply BaseSergey Sharybin
This change fixes artifacts produced by these operations. On a technical aspect this is done by porting all of the operations to the new subdivision surface implementation which ensures that tangent space used to evaluate modifier and those operations is exactly the same (before modifier will use new code and the operations will still use an old one). The next step is to get sculpting on a non-top level to work, and that actually requires fixes in the undo system.
2020-03-06Cleanup: Object: remove unused BKE API.Bastien Montagne
2020-03-04Refactor ID make local to use a single flag parameter.Bastien Montagne
Instead of using anonymous booleans flags, also allows to keep the same behavior in all cases, without needing special handling from calling code for our beloved oddballs object proxies...
2020-02-28Objects: make evaluated data runtime storage usable for types other than meshBrecht Van Lommel
This is in preparation of new object types. This only changes mesh_eval, we may do the same for mesh_deform_eval and other areas in the future if there is a need for it. This previously caused a bug in T74283, that should be fixed now. Differential Revision: https://developer.blender.org/D6695
2020-02-28Revert "Objects: make evaluated data runtime storage usable for types other ↵Brecht Van Lommel
than mesh" This reverts commit f2b95b9eae2ee913c99cff7595527b18d8b49d0a. Fix T74283: modifier display lost when moving object in edit mode. The cause is not immediately obvious so better to revert and look at this carefully.
2020-02-27Objects: make evaluated data runtime storage usable for types other than meshBrecht Van Lommel
This is in preparation of new object types. This only changes mesh_eval, we may do the same for mesh_deform_eval and other areas in the future if there is a need for it. Differential Revision: https://developer.blender.org/D6695
2020-02-20Cleanup: unused enumsCampbell Barton
2020-02-20Cleanup: declatatuons for functions that don't existCampbell Barton
2020-01-27Cleanup: removed unused derivedDeform and derivedFinalBrecht Van Lommel
2019-11-26Anim: added BKE_object_moves_in_time(object) functionSybren A. Stüvel
This function exposes the already-existing static `object_moves_in_time()` function, and optionally recursively checks the parent object for animatedness as well. I also added checking `AnimData::overrides` to `BKE_animdata_id_is_animated()`. This ensures that, apart from the optional recursion to the parent object, the function has the same functionality.
2019-11-26Removed `BKE_object_is_animated()`Sybren A. Stüvel
The function isn't used anywhere, and it's deceptively returning false negatives. For example, `modifier_dependsOnTime()` will return `false` for hook modifiers, even when the hook target is animated. Querying the depsgraph for dependency on the time source would be a better approach.
2019-11-07Fix T69822: Switching sculpt objects breaks undoCampbell Barton
This introduces object mode tagging for data which hasn't yet been written back to the ID data. Now when selecting other sculpt objects, the original objects data is flushed back to the ID before writing a memfile undo step.
2019-09-23Cleanup: remove unimplemented texture space rotation variablesBrecht Van Lommel
2019-09-09DNA: use defaults for Object, Mesh, MaterialCampbell Barton
2019-09-06Fix T69536: Setting dimensions for parented objects failsCampbell Barton
Parenting/constraints/delta-scaled all caused setting dimensions to fail. Take the difference between the input scale and final scale into account when applying the dimensions.
2019-08-25Cleanup: redundant struct declarationsCampbell Barton
2019-07-02Fix T65778: Missing selection update with linked objects in edit modeSergey Sharybin
2019-06-04Fix T65054: Blender 2.80 crashes when opening a scene created by blender ↵Bastien Montagne
2.7x with hierarchy duplication set to "group". Regression introduced by rB7fe3d1e7d718 (fixing T57934). This effectively reverts rBrB7fe3d1e7d718, since changing the type of an object is a very bad idea in general, and would need a careful and complex check of all of its usages (many object usages assume a specific type of object...). Instead, we simply remove duplicollection on those objects, and give a warning in case dupligroup was effectively used (in many reported cases, dupligroup was a 'mistake setting', without actually instancing aniything). Note that the otehr idea to fix that versioning issue (to create a new empty object for the instancing) is much less easy than it might look (one would need to take into account potential animations, relations between objects, etc.). Doable probably, but way overkill for a corner-case 'bad' usage of the feature in the first place.
2019-05-31Fix various missing updates in sculpt mode, when changing modifiers and dyntopoBrecht Van Lommel
This restores the code that updates the sculpt session and PBVH from dependency graph evaluation.
2019-05-27Depsgraph API: Allow preserving custom data layersSergey Sharybin
This commit extends dependency graph API with an argument which denotes that all custom data layers are to be preserved. This forces modifier stack re-evaluation with more inclusive mask. Far from ideal, since this might fail in certain configurations with indirectly used objects which might be missing layers needed for the current object evaluation. But this is how it worked for a long time, so should be good enough for until more sophisticated solution is found. In order to use this new behavior two things are to be passed: - Pass keep_all_data_layers=True - Pass a valid dependency graph. The dependency graph is only needed if keep_all_data_layers=True and is NOT to be passed if keep_all_data_layers=False. If keep_all_data_layers=True the dependency graph MUST be passed. Reviewers: mont29, brecht Reviewed By: mont29 Maniphest Tasks: T64994, T64794 Differential Revision: https://developer.blender.org/D4940
2019-05-16Tweak API to support adding evaluated meshes to main databaseSergey Sharybin
One of the usecases is to create mesh from an object is a manner similar to how Apply Modifiers does it, and have it in the bmain so it can be referenced by other objects. This usecase is something what went unnoticed in the previous API changes, so here is a followup. Summary of changes: * bpy.meshes.new_from_object() behaves almost the same as before this change. The difference now is that it now ensures all referenced data-blocks are original (for example, materials referenced by the mesh). * object.to_mesh() now creates free-standing Mesh data-block which is outside of any bmain. The object owns it, which guarantees the memory never leaks. It is possible to force free memory by calling object.to_mesh_clear(). Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D4875
2019-05-09DepsGraph: Multi ViewLayer SelectionJeroen Bakker
When using multiple viewlayers and switching between them the selection gets buggy. The reason for this is that the select_id is updated based on the index in the viewlayer. This makes the select_id not unique as objects might be shared or not shared at all. This fix will update the select_id on all objects in main. This will be triggered in all the selection operators. Reviewed By: sergey, brecht Maniphest Tasks: T55617 Differential Revision: https://developer.blender.org/D4824
2019-05-01BKE_pchan: add BKE_pchan_rot_to_mat3Campbell Barton
Useful to get the un-scaled rotation from a pose channel.
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-16Cleanup: trailing commasCampbell Barton
2019-03-19Cleanup: use BLI_kdtree_3d prefixCampbell Barton
Use prefix now there isn't only the 3d version.
2019-03-15Fix T62313 - No way to remove object from master collection in 3d viewDalai Felinto
This introduces a new iterator, FOREACH_COLLECTION, that unlike the FOREACH_SCENE_COLLECTION it iterates over all the Blender file collections, including the scene master collection, as well the database ones (bmain). Reviewers: brecht
2019-03-07DRW: show image empty frame when the 'side' is hiddenCampbell Barton
This behavior matches back-face culled mesh objects, where the wire outline doesn't depend on the viewing angle. Applying this before empty visibility check for view framing, since it's strange if viewing all gives different results depending on back-face culling.
2019-03-01Outliner: Collection - Duplicate Hierarchy, and Duplicate Linked HierarchyDalai Felinto
As per the suggestion on T57064, this introduces two new options to duplicate collections. We then have: * Duplicate > Collection (New collection with linked content). * Duplicate > Hierachy (Duplicate entire hierarchy and make all contents single user). * Duplicate > Linked Hierarchy (Duplicate entire hierarchy keeping content linked with original). Development TODO: `single_object_users` can/should use the new functions. Reviewers: brecht, mont29 Subscribers: pablovazquez, billreynish, JulienKaspar Differential Revision: https://developer.blender.org/D4394
2019-03-01Fix T62015: Duplicating object, rotating, pivot point not usedSergey Sharybin
Was caused by another fix in the area, and root to the wrong though that transformation is only initialized from a fully evaluated dependency graph. The latter one is not a case when changing transformation mode. Solved by copying transform to an evaluated object.