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-05-01Cleanup: moved drivers to BKE_fcurve_driver.h / fcurve_driver.cSybren A. Stüvel
All the driver-specific code in `fcurve.c` has been moved into a new file `fcurve_driver.c`. The corresponding declarations have been moved from `BKE_fcurve.h` to `BKE_fcurve_driver.h`. All the `#include "BKE_fcurve.h"` statements have been investigated and replaced with `BKE_fcurve_driver.h` where necessary. No functional changes.
2020-04-20Simulations: Add new simulation data blockJacques Lucke
This data block will be the container for simulation node trees. It will be used for the new particle node system (T73324). The new data block has the type `ID_SIM`. It is not visible to users and other developers by default yet. To enable it, activate the cmake option `WITH_NEW_SIMULATION_TYPE`. New simulation data blocks can be created by running `bpy.data.simulations.new("name")`. Reviewers: brecht Differential Revision: https://developer.blender.org/D7225
2020-04-03Code Quality: Replace for loops with LISTBASE_FOREACHDalai Felinto
Note this only changes cases where the variable was declared inside the for loop. To handle it outside as well is a different challenge. Differential Revision: https://developer.blender.org/D7320
2020-03-19Cleanup/refactor: remove BKE_idcode, in favour of BKE_idtype.Bastien Montagne
Mpving utils from idcode to idtype proved to be somewhat painful for some reasons, but now all looks good. Had to add a fake/empty shell for the special snowflake too, `ID_LINK_PLACEHOLDER/INDEX_ID_NULL`...
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-18Objects: add Volume object type, and prototypes for Hair and PointCloudBrecht Van Lommel
Only the volume object is exposed in the user interface. It is based on OpenVDB internally. Drawing and rendering code will follow in another commit. https://wiki.blender.org/wiki/Source/Objects/Volume https://wiki.blender.org/wiki/Reference/Release_Notes/2.83/Volumes Hair and PointCloud object types are hidden behind a WITH_NEW_OBJECT_TYPES build option. These are unfinished, and included only to make it easier to cooperate on development in the future and avoid tricky merges. https://wiki.blender.org/wiki/Source/Objects/New_Object_Types Ref T73201, T68981 Differential Revision: https://developer.blender.org/D6945
2020-03-06Cleanup: Rename ARegion variables from ar to regionJulian Eisel
The old convention was easy to confuse with ScrArea. Part of https://developer.blender.org/T74432. This is mostly a batch rename with some manual fixing. Only single word variable names are changed, no prefixed/suffixed names. Brecht van Lommel and Campbell Barton both gave me a green light for this convention change. Also ran clan clang format on affected files.
2020-02-28Fix T71611: Outliner - Show only Visible/Hidden Objects not working when ↵Philipp Oeser
hiding Collections Use BASE_VISIBLE_VIEWLAYER (rather than BASE_VISIBLE_DEPSGRAPH -- which is not including the 'Hide in Viewport') Note: the is one case where this still 'fails': - 'Show only Hidden' plus excluding the parent collection (would be nice to show those -- but contents of excluded excluded collections dont get show in any case... this would be more work and for another report...) Maniphest Tasks: T71611 Differential Revision: https://developer.blender.org/D6953
2020-02-10Cleanup/refactor: Rename `BKE_library` files to `BKE_lib`.Bastien Montagne
Note that `BKE_library.h`/`library.c` were renamed to `BKE_lib_id.h`/`lib_id.c` to avoid having a too generic name here. Part of T72604.
2020-01-16Fix T72887: Outliner crashes when after undo of some linking operation.Bastien Montagne
Outliner tree building code was not handling properly empty libraries (i.e. Lib datablocks in our bmain which have no used actual data anymore). Main issue here is unclean states of indirect hierarchies of linking involving several libraries after undo operation. This is not a critical issue though, just annoying and untidy.
2020-01-07Fix T69246: Outliner - Objects Filter Selected, Hidden and Active notPhilipp Oeser
working properly 'outliner_extract_children_from_subtree()' (introduced in rB40a1c671655c) was extracting the children of non-matching parents regardless of their own matching state. Now properly filter the subtree prior to extracting. Maniphest Tasks: T69246 Differential Revision: https://developer.blender.org/D6517
2019-10-09Local Collections: Allow users to show hidden collectionsDalai Felinto
Users now can turn on in a viewport collections that are temporarily hidden (eye) in the view layer. Design task: T61327 As for the implementation, I had to decouple the visibility in the depsgraph from the visibility in the view layer. Also there is a "bug" that in a way was there before which is some operators (e.g., writing a text inside of a text object, tab into edit mode) run regardless of the visibility of the active object. The bug was present already (with object type visibility restriction) in 2.80 so if we decide to tackle it, can be done separately (I have a patch for it though P1132). Reviewed by: brecht (thank you) Differential Revision: D5992
2019-08-31Cleanup: rename natural string comparisonCampbell Barton
2019-08-30UI: Outliner Natural SortHarley Acheson
Collection contents alphabetical sort now uses a Natural Sort that takes number magnitude into account. Differential Revision: https://developer.blender.org/D5636 Reviewed by Brecht Van Lommel
2019-08-23RNA: Cleanup PointerRNA structJacques Lucke
The old layout of `PointerRNA` was confusing for historic reasons: ``` typedef struct PointerRNA { struct { void *data; } id; struct StructRNA *type; void *data; } PointerRNA; ``` This patch updates it to: ``` typedef struct PointerRNA { struct ID *owner_id; struct StructRNA *type; void *data; } PointerRNA; ``` Throughout the code base `id.data` was replaced with `owner_id`. Furthermore, many explicit pointer type casts were added which were implicit before. Some type casts to `ID *` were removed. Reviewers: brecht, campbellbarton Differential Revision: https://developer.blender.org/D5558
2019-08-19Outliner: rename filter "invisible" to "hidden"Nathan Craddock
No functional changes. Renames the "invisible" object filter to "Hidden" to be more consistent.
2019-08-16Outliner: Fix scenes in scene display not starting openNathan Craddock
2019-08-16Outliner: walk navigation operator and openclose fixesNathan Craddock
Adds a keyboard walk navigation and selection operator to the outliner. Up and down arrow keys walk up and down the list of elements, and left and right will open and close elements if the elements are closed or opened respectively. Holding shift while walking up and down the tree expands the selection. Holding shift while clicking or pressing left and right arrows will expand or collapse all children elements recursively. Pressing enter to openclose the hovered element is removed. Also allows click+drag for openclose of element subtrees. This moves openclose toggling to the openclose operator to remove duplicate code. The outliner tree building is tweaked slightly to set the proper parents in scene display mode for walk select to walk to parents without errors.
2019-08-16Outliner: invisible object filterNathan Craddock
Adds an invisible object filter in the outliner to show hidden objects. This is useful to quickly locate hidden items in a large outliner tree and easily toggle visibilty back on. Invisible refers to an object being hidden, or viewport visibility restricted.
2019-07-07Cleanup: spellingCampbell Barton
2019-07-05Fix T66327 1/2: Outliner dupli empty is shown as collection when a different ↵Dalai Felinto
duplitype
2019-06-28Fix T65263: Outliner doesn't display selected object if parent not selectedDalai Felinto
This works for most situations, however if you have: ``` A |-> B |--> C ``` And only A and C are selected, C will be shown nested under A, instead being by its side. I still have to think on how to address these cases since they are slightly misleading. Related: T65263. Reviewers: brecht Differential Revision: https://developer.blender.org/D5134
2019-06-12Cleanup: spelling in commentsCampbell Barton
2019-06-05Outliner: Fix drawing of collection with disabled parentDalai Felinto
If the layer collection had a parent that was disabled we wouldn't draw it altogether. Note: In this case I'm moving any enabled collection with a disabled parent up in the hierarchy. All in all I'm happy with this but I would like us to tackle the 1-20 shortcut, Ctrl+H menu and Collections viewport panel to do something similar.
2019-06-03Fix T65328: Offset when outliner gains focusJacques Lucke
I'm not actually not sure under which circumstances this code is actually doing something useful.
2019-05-31Cleanup: style, use braces in source/ (include disabled blocks)Campbell Barton
2019-05-24Fix T65060: Outliner - Sort Alphabetically checkbox is not workingDalai Felinto
Bug introduced on 78f8679cfc6d. Basically a copy/paste error in my original collection children implementation.
2019-05-13Fix T64292: world missing from outliner Scenes viewBrecht Van Lommel
2019-05-11Outliner Visibility UpdateDalai Felinto
See T61578 for discussions and mockups. Visibility Options ================== We are adding more granular control over restriction columns in the outliner, exposing "indirect only" and "holdout" as options, and change the way users enable/disable collections in a viewlayer. We also rename the object viewport restriction to hide instance. So the options we have are: Collection ---------- * Render Visibility * Instance Visibility * Selectable (View) Layer Collection ----------------------- * Enable * Holdout * Indirect Only * Viewport Shortcuts ========= Isolate Collection ------------------ * Ctr + click isolates the collection. It turns all its parents and children "visible", and all the other collections "invisible". If ALL the collections were already properly set, we re-set the collections to their default value. Set Collection Inside Collections and Objects --------------------------------------------- * Shift + click: Set/unset inside collections and objects. We only set objects values as well when we are in View Layer mode and (obviously) when the objects have a matching property. Icons ===== Little reminder that we will need better icons for holdout, indirect only, and probably instanced (nothing wrong with the current, but it differs from the proposal when it is turned off). Also, we need to decide where do we want the modifier/bones/... icons to be (in which column) and ideally make sure their icons match the ones we use for collections/objects. At the moment those are using the screen icon, which is not being used by collections. Reviewers: brecht, billrey Subscribers: pablovazquez Differential Revision: https://developer.blender.org/D4823
2019-05-01ClangFormat: run with ReflowComments on source/Campbell Barton
Prepare for enabling ReflowComments.
2019-04-29Cleanup: comments (long lines) in editorsCampbell Barton
2019-04-25Outliner parenting hierarchy: Sort for children when not a-z sortingDalai Felinto
We always keep the children that are not in a collection listed in the end of the children list due to design. This way we can visually draw them with dashed vertical lines. This was already working for alphabetical sorting, however whenever sorting was disabled, we would end up with a list of children ordered regardless of their state (whether the child itself is in the collection).
2019-04-25Fix T63869: Crash in new outliner show parenting hierarchyDalai Felinto
As known as outliner parenting hierarchy take two. Implemented suggestion by Brecht Van Lommel: ``` The problem is that it's iterating over te_parent->subtree, while at the same time removing elements from it as tree_to_remove_objects_from. Further there is a linear lookup to find tree elements corresponding to a child object, which causes O(n^2) time complexity overall and so poor scaling for many objects in a collection. The more efficient solution that also fixes the crash could be: * Build a map from Object* to a list of TreeElement* matching the object. * For all objects in the tree lookup the parent in this map, and move or add tree elements as needed. ``` I removed the grouping of the children not in collection in the end of the children list when sorting was not enabled. If we think we really need it back it can be tackled separately. That said, despite due to performance reasons, I can't see why would someone not have the a-z sorting enabled. And if they do, it is not the end of the world to have interleaved children that are in the collection or not in the parent subtree.
2019-04-25Fix T63869: disable outliner show parent hierarchy temporarilyBrecht Van Lommel
This is likely to cause crashes in many file, so disable this feature until it is fixed.
2019-04-24Outliner: Show parenting hierarchy in view layer viewDalai Felinto
If the "Object Children" filter is enabled, we nest the object children inside the object. If the child itself is not in the collection, it is grayed out, connected by a dash line, and its restriction flags and contents are not shown. If "Object Children" filter is disabled, it works as before. Note: This is not super fast, but at least we traverse the tree only once to get the children of an object. That said, there is a lot of loops going on here. Task T63526. Development notes: I could use the GPU_SHADER_2D_LINE_DASHED_UNIFORM_COLOR shader, but that would mean I would need to iterate over the tree twice (once for each shader) - or do some bigger refactor. Also I could not get that shader to work. This shader expects float vertices while the current one is using integers, so converting the code would make the dash line drawing to diverge from the regular lines even further. Differential Revision: https://developer.blender.org/D4696
2019-04-22Cleanup: style, use braces for editorsCampbell Barton
2019-04-21Cleanup: comments (long lines) in editorsCampbell Barton
2019-04-20Outliner: Simplify logic for parent nestingDalai Felinto
2019-04-17ClangFormat: format '#if 0' code in source/Campbell Barton
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-08GPencil: Mark Object gpd field as DeprecatedAntonioya
This field is only used to read old files, but it's not used anymore, so it's better mark as deprecated to avoid wrong uses.
2019-03-26Cleanup: style, use braces for editor/spacesCampbell Barton
2019-03-21Fix T62802: Layer order inverted in OutlinerAntonioya
2019-03-08Cleanup: spellingCampbell Barton
2019-03-08Cleanup: use plural names for Main listsCampbell Barton
Convention was not to but after discussion on 918941483f7e we agree its best to change the convention. Names now mostly follow RNA. Some exceptions: - Use 'nodetrees' instead of 'nodegroups' since the struct is called NodeTree. - Use 'gpencils' instead of 'grease_pencil' since 'gpencil' is a common abbreviation in the C code. Other exceptions: - Leave 'wm' as it's a list of one. - Leave 'ipo' as is for versioning.
2019-02-27Cleanup: file rename lamp -> lightCampbell Barton
2019-02-27DNA: rename Lamp -> LightCampbell Barton
- BKE_lamp -> BKE_light - Main.lamp -> light
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-17DNA: rename dup_* struct members to instance_*Campbell Barton
2019-02-16DNA: rename SpaceOops -> SpaceOutlinerCampbell Barton