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-01-19Outliner: Remove User PreferencesDalai Felinto
This was introduced to the outliner when we had no User Preference window back in 2.5x. Right now it makes no sense to keep this around. But how about addon user preferences: * They belong in the user preference window under the addon. How about the user preferences themselves: * You find them in the user preference window. And templates? * Why are they here in the first place? After talking to Pablo Vazquez (who in turn poked Sergey Sharybin) we found it reasonable to get rid of this. If it turns out that we were wrong we revert this. As for leaving this exposed as a debug option (as suggested on IRC) I would say no, please. This end up polluting the code and never cleaned up in the end. (this was specific talking about templates). Technical note: I left the functions in outliner still hanging around. While I used UNUSED_FUNCTION for one of them, for the other one I had to use: `#if 0` because the function was calling itself, which would fail to build if I used UNUSED_FUNCTION.
2018-01-19Merge branch 'master' into blender2.8Campbell Barton
2018-01-19Cleanup: typosCampbell Barton
2017-12-13Outliner: Fix selection drawingDalai Felinto
Outliner was using the old selection flag to show selected objects. So if you selected an object in the outliner it would keep "selected" (drawn in yellow) even after you selected another object.
2017-12-13Fix T51461: Outliner: Problems removing multiple collections in sequenceDanrae Pray
We now select the LayerCollection at index 0 for the active ViewLayer after a collection deletion operation. Added some functions to query outliner tree data & get LayerCollection by index using a similar approach as we do for SceneCollection indexing. With warning and style cleanups by Dalai Felinto. Reviewers: dfelinto Tags: #bf_blender_2.8 Differential Revision: https://developer.blender.org/D2942
2017-12-01Groups and collection: editing group collectionsDalai Felinto
Allow users to edit either the object group active collection or view layer one We can't support users selecting the group collections from the outliner group because that would be imply having an active group for the scene or workspace. But the way it is now allows to see and edit the collection values after the group is instanced.
2017-12-01Groups and collection: initial integrationDalai Felinto
Since we are ditching layers from Blender (2.8) we need a replacement to control groups visibility. This commit introduces collections as the building blocks for groups, allowing users to control visibility as well as overrides for groups. Features ======== * Groups now have collections This way you can change the visibility of a collection inside a group, and add overrides which are part of the group and are prioritized over other overrides. * Outliner Groups can inspect their collections, change visibility, and add/remove members. To change an override of a group collection, you need to select an instance of the group, and then you can choose "group" in the collection properties editor to edit this group active collection instead of the view layer one. * Dupli groups overrides We can now have multiple instances of the same group with an original "override" and different overrides depending on the collection the instanced object is part of. Technical ========= * Layers We use the same api for groups and scene as much as possible. Reviewers: sergey (depsgraph), mont29 (read/write and user count) Differential Revision: https://developer.blender.org/D2892
2017-11-23Cleanup: Rename ViewLayer *sl > ViewLayer *view_layerDalai Felinto
2017-11-23Rename any instance of scene layer or render layer in code with view layerDalai Felinto
The RenderResult struct still has a listbase of RenderLayer, but that's ok since this is strictly for rendering. * Subversion bump (to 2.80.2) * DNA low level doversion (renames) - only for .blend created since 2.80 started Note: We can't use DNA_struct_elem_find or get file version in init_structDNA, so we are manually iterating over the array of the SDNA elements instead. Note 2: This doversion change with renames can be reverted in a few months. But so far it's required for 2.8 files created between October 2016 and now. Reviewers: campbellbarton, sergey Differential Revision: https://developer.blender.org/D2927
2017-11-22SceneRenderLayer Removal/RefactorDalai Felinto
This patch moves all the functionality previously in SceneRenderLayer to SceneLayer. If we want to rename some of these structs now would be a good time to do it, before they are in SceneLayer. Everything should be working, though I will test things further tomorrow. Once this is committed depsgraph can get rid of the workaround added in rna_Main_meshes_new_from_object and finish whatever this patch was preventing from being finished. This patch also adds a few placeholders for the overrides (samples, ...). These are obviously not working, so some unittests that rely on 'lay', and 'zmask' will fail. This patch does not addressed the change of moving samples to ViewRender (I have this as a separate patch and needs some separate discussion). Following next is the individual note of the individual parts that were committed. Note 1: It is up to Cycles to still get rid of exclude_layer internally. Note 2: Cycles still need to handle its own doversion for the use_layer_samples cases and (1) Remove the override as it is (2) Add a new override (scene.cycles.samples) if scene.cycles.use_layer_samples != IGNORE Respecting the expected behaviour when scene.cycles.use_layer_samples == BOUNDED. Note 3: Cycles still need to implement the per-object holdout (similar to how we do shadow catcher). Note 4: There are parts of the old (Blender Internal) rendering pipeline that is still using lay, e.g., in shi->lay. Honestly it will be easier to purge the entire Blender Internal code away instead of taking things from it bit by bit. Reviewers: sergey, campbellbarton, brecht Differential Revision: https://developer.blender.org/D2919
2017-11-20Merge branch 'master' into blender2.8Campbell Barton
2017-11-20Fix T53342: Outliner 'select hierarchy' brokenCampbell Barton
Was using cursor position from within menu, clicking on the same position for every selected item (toggling). Now operate on each selected outliner element, without toggling.
2017-11-09Rename Scene macros back to their original _NEW less namesDalai Felinto
2017-10-16Merge branch 'master' into blender2.8Campbell Barton
2017-10-16WM: refactor gestures for use as toolsCampbell Barton
Border and circle select wait for input by default. This commit uses bool properties on the operators instead of magic number (called "gesture_mode"). Keymaps that define 'deselect' for border/circle select begin immediately, exiting when on button release.
2017-10-16Cleanup: modal operator border callback namesCampbell Barton
Use same convention as all others. Remove 'select' since these are used for zoom as well.
2017-08-15Cleanup/refactor: no new general arg-less macros enforcing var names please!Bastien Montagne
We do have an history of those pieces of evil in our code, would be nice to get fully rid of it, but at the very least let's not add more of them in new code. :)
2017-06-29Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/editors/space_outliner/outliner_select.c
2017-06-29Fix T51926: Selecting pose icon under expanded group in outliner causes crash.Bastien Montagne
Cannot switch uninstantiated armature to Pose mode...
2017-06-29Fix crash & performance regression w/ base lookupCampbell Barton
Was doing O(n^2) list lookups with blender-render drawing & transform. Also missing NULL checks would crash. Use Object.base_flag (already used by new draw manager in places) to avoid list lookup. Note, transform still performs inefficient lookups, but only for selected parents (like 2.7x), not all parents.
2017-06-08Replace all old DAG calls with direct calls to new DEG and remove ↵Luca Rood
BKE_depsgraph.h This removes BKE_depsgraph.h and depsgraph.c
2017-06-01Main Workspace IntegrationJulian Eisel
This commit does the main integration of workspaces, which is a design we agreed on during the 2.8 UI workshop (see https://wiki.blender.org/index.php/Dev:2.8/UI/Workshop_Writeup) Workspaces should generally be stable, I'm not aware of any remaining bugs (or I've forgotten them :) ). If you find any, let me know! (Exception: mode switching button might get out of sync with actual mode in some cases, would consider that a limitation/ToDo. Needs to be resolved at some point.) == Main Changes/Features * Introduces the new Workspaces as data-blocks. * Allow storing a number of custom workspaces as part of the user configuration. Needs further work to allow adding and deleting individual workspaces. * Bundle a default workspace configuration with Blender (current screen-layouts converted to workspaces). * Pressing button to add a workspace spawns a menu to select between "Duplicate Current" and the workspaces from the user configuration. If no workspaces are stored in the user configuration, the default workspaces are listed instead. * Store screen-layouts (`bScreen`) per workspace. * Store an active screen-layout per workspace. Changing the workspace will enable this layout. * Store active mode in workspace. Changing the workspace will also enter the mode of the new workspace. (Note that we still store the active mode in the object, moving this completely to workspaces is a separate project.) * Store an active render layer per workspace. * Moved mode switch from 3D View header to Info Editor header. * Store active scene in window (not directly workspace related, but overlaps quite a bit). * Removed 'Use Global Scene' User Preference option. * Compatibility with old files - a new workspace is created for every screen-layout of old files. Old Blender versions should be able to read files saved with workspace support as well. * Default .blend only contains one workspace ("General"). * Support appending workspaces. Opening files without UI and commandline rendering should work fine. Note that the UI is temporary! We plan to introduce a new global topbar that contains the workspace options and tabs for switching workspaces. == Technical Notes * Workspaces are data-blocks. * Adding and removing `bScreen`s should be done through `ED_workspace_layout` API now. * A workspace can be active in multiple windows at the same time. * The mode menu (which is now in the Info Editor header) doesn't display "Grease Pencil Edit" mode anymore since its availability depends on the active editor. Will be fixed by making Grease Pencil an own object type (as planned). * The button to change the active workspace object mode may get out of sync with the mode of the active object. Will either be resolved by moving mode out of object data, or we'll disable workspace modes again (there's a `#define USE_WORKSPACE_MODE` for that). * Screen-layouts (`bScreen`) are IDs and thus stored in a main list-base. Had to add a wrapper `WorkSpaceLayout` so we can store them in a list-base within workspaces, too. On the long run we could completely replace `bScreen` by workspace structs. * `WorkSpace` types use some special compiler trickery to allow marking structs and struct members as private. BKE_workspace API should be used for accessing those. * Added scene operators `SCENE_OT_`. Was previously done through screen operators. == BPY API Changes * Removed `Screen.scene`, added `Window.scene` * Removed `UserPreferencesView.use_global_scene` * Added `Context.workspace`, `Window.workspace` and `BlendData.workspaces` * Added `bpy.types.WorkSpace` containing `screens`, `object_mode` and `render_layer` * Added Screen.layout_name for the layout name that'll be displayed in the UI (may differ from internal name) == What's left? * There are a few open design questions (T50521). We should find the needed answers and implement them. * Allow adding and removing individual workspaces from workspace configuration (needs UI design). * Get the override system ready and support overrides per workspace. * Support custom UI setups as part of workspaces (hidden panels, hidden buttons, customizable toolbars, etc). * Allow enabling add-ons per workspace. * Support custom workspace keymaps. * Remove special exception for workspaces in linking code (so they're always appended, never linked). Depends on a few things, so best to solve later. * Get the topbar done. * Workspaces need a proper icon, current one is just a placeholder :) Reviewed By: campbellbarton, mont29 Tags: #user_interface, #bf_blender_2.8 Maniphest Tasks: T50521 Differential Revision: https://developer.blender.org/D2451
2017-05-31Fix outliner crash clicking on pose bonesCampbell Barton
From 15317775c, we can't assume directdata is a Base. This matches logic from master.
2017-05-19Cleanup: add braces for multi-line blocksCampbell Barton
2017-05-16Outliner: Bring back "activate" object when selecting from outlinerDalai Felinto
2017-04-19Convert direct usages of base definesLuca Rood
This replaces all direct usage of: - FIRSTBASE - LASTBASE - BASACT - OBACT Some usages still remain in legacy utility functions which are called all over the place.
2017-03-08Outliner fix: prevent segfault when there is no active layer collectionDalai Felinto
2017-02-28Outliner: Highlight active layer collection in "All Collections" modeJulian Eisel
2017-02-28Highlight active collection in outlinerJulian Eisel
2017-02-28Outliner: "All Collections" mode showing the master collection hierarchyJulian Eisel
Reordering is disabled for now. Link, unlink and override operators are only available while in "Active Layer" mode, not in "All Collections".
2017-02-22Cleanup: StyleJulian Eisel
2017-02-13Outliner: allow for renaming of collection and small touch ups in theDalai Felinto
code Note: Master Collection should not be renamable, but also, it should be marked as MasterCollection (with an icon probably)
2017-02-09Support activating collections from outlinerJulian Eisel
2017-02-09Main fix for outliner, but still need changesDalai Felinto
Fix outliner related crashes. Basically in some functions bContext was not passed around, so CTX_data_scene_layer(C) was crashing. Right now we still rely on ob->flag SELECT in some places. In order to use the base flag we will need to bring back the Bases to the outliner.
2017-02-07Render Layers and Collections (merge from render-layers)Dalai Felinto
Design Documents ---------------- * https://wiki.blender.org/index.php/Dev:2.8/Source/Layers * https://wiki.blender.org/index.php/Dev:2.8/Source/DataDesignRevised User Commit Log --------------- * New Layer and Collection system to replace render layers and viewport layers. * A layer is a set of collections of objects (and their drawing options) required for specific tasks. * A collection is a set of objects, equivalent of the old layers in Blender. A collection can be shared across multiple layers. * All Scenes have a master collection that all other collections are children of. * New collection "context" tab (in Properties Editor) * New temporary viewport "collections" panel to control per-collection visibility Missing User Features --------------------- * Collection "Filter" Option to add objects based on their names * Collection Manager operators The existing buttons are placeholders * Collection Manager drawing The editor main region is empty * Collection Override * Per-Collection engine settings This will come as a separate commit, as part of the clay-engine branch Dev Commit Log -------------- * New DNA file (DNA_layer_types.h) with the new structs We are replacing Base by a new extended Base while keeping it backward compatible with some legacy settings (i.e., lay, flag_legacy). Renamed all Base to BaseLegacy to make it clear the areas of code that still need to be converted Note: manual changes were required on - deg_builder_nodes.h, rna_object.c, KX_Light.cpp * Unittesting for main syncronization requirements - read, write, add/copy/remove objects, copy scene, collection link/unlinking, context) * New Editor: Collection Manager Based on patch by Julian Eisel This is extracted from the layer-manager branch. With the following changes: - Renamed references of layer manager to collections manager - I doesn't include the editors/space_collections/ draw and util files - The drawing code itself will be implemented separately by Julian * Base / Object: A little note about them. Original Blender code would try to keep them in sync through the code, juggling flags back and forth. This will now be handled by Depsgraph, keeping Object and Bases more separated throughout the non-rendering code. Scene.base is being cleared in doversion, and the old viewport drawing code was poorly converted to use the new bases while the new viewport code doesn't get merged and replace the old one. Python API Changes ------------------ ``` - scene.layers + # no longer exists - scene.objects + scene.scene_layers.active.objects - scene.objects.active + scene.render_layers.active.objects.active - bpy.context.scene.objects.link() + bpy.context.scene_collection.objects.link() - bpy_extras.object_utils.object_data_add(context, obdata, operator=None, use_active_layer=True, name=None) + bpy_extras.object_utils.object_data_add(context, obdata, operator=None, name=None) - bpy.context.object.select + bpy.context.object.select = True + bpy.context.object.select = False + bpy.context.object.select_get() + bpy.context.object.select_set(action='SELECT') + bpy.context.object.select_set(action='DESELECT') -AddObjectHelper.layers + # no longer exists ```
2016-12-28Revert particle system and point cache removal in blender2.8 branch.Lukas Tönne
This reverts commit 5aa19be91263a249ffae75573e3b32f24269d890 and b4a721af694817fa921b119df83d33ede7d7fed0. Due to postponement of particle system rewrite it was decided to put particle code back into the 2.8 branch for the time being.
2016-10-16Fix outliner items sometimes not openingJulian Eisel
Own mistake in 9a9a663f40d55. Guessed there is a case where we have to rebuild the tree but everything seemed fine... It didn't work in display modes like "Data-Blocks".
2016-10-16Merge branch 'master' into blender2.8Julian Eisel
Conflicts: source/blender/editors/space_outliner/outliner_draw.c source/blender/editors/space_outliner/outliner_edit.c source/blender/editors/space_outliner/outliner_intern.h source/blender/editors/space_outliner/outliner_select.c
2016-10-16Cleanup: Unused parameters in OutlinerJulian Eisel
These were only passed to own recursion calls.
2016-10-16Outliner: Rework element selection behaviorJulian Eisel
* LMB now replaces selection instead of adding to it. Shift+LMB adds to selection (or removes if already selected). This is usual selection behavior Blender. * Outliner selection isn't completely separate from object/sequencer-strip/render-layer/... selection anymore, when selecting an outliner item we now always try to select (and activate) the object it belongs to. Previously you had to click the name or icon of an item to select the object (or whatever) and on empty space within the row to set outliner selection. * Collapsed items may show click-able icons for their children (nothing new). Clicking on such an icon will also select the hidden item it represents now, you'll notice after opening the parent. This valid from a technical POV, I'm not sure if this is wanted from user POV though. Changing would be easy, feedback welcome! * Code cleanup. Part of T37430.
2016-05-24Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: intern/cycles/blender/blender_curves.cpp source/blender/blenkernel/intern/dynamicpaint.c source/blender/blenkernel/intern/particle.c source/blender/blenloader/intern/versioning_270.c source/blender/editors/physics/particle_edit.c source/blender/editors/transform/transform_snap_object.c source/blender/editors/util/undo.c source/blender/makesrna/intern/rna_object_force.c
2016-05-03Fix T48328: Outliner: Armature EditMode: crash when selecting bone of a ↵Bastien Montagne
shared amrature in another object's bone list. Basically, issue is that outliner stores editbones for an edited armature, which are only valid during EditMode. When more than one object use the same armature, selecting ebones from same armature but under non-edited object would first select that object (and hence switch out of editmode), and then try to select editbone while editdata no more exist. Solution for now is to not change active object in this case - it's not totally ideal (not consistent), but other solutions (like switching edited object without leaving editmode, or rebuilding (part of) outliner tree in-between) are horribly hackish and most likely prone to epic failure anyway.
2016-04-16Removed the ND_PARTICLE notifier and outliner particle elements.Lukas Tönne
2015-11-28Cleanup: 'area' vs 'region'Julian Eisel
Apparently this is the result of some sloppiness during 2.5 project and since then it confused people who were trying to understand the area-region relation (myself included). Sorry if this causes merge conflicts for anyone, but at some point we really had to do it :/
2015-11-23Cleanup: shadowing (editors)Campbell Barton
2015-04-14Fix T44348: Blender crashes when selecting bone from inactive scene in outlinerSergey Sharybin
Pose is not guaranteed to be existing in object, so can't be used for selection flag clear. Use bones themselves for that.
2015-03-20Remove unused armature codeCampbell Barton
ED_armature_deselect_all now simply de-selects
2015-02-07GPencil: Initial support for GP Layers in OutlinerJoshua Leung
This is still very rudimentary, and lacks many things. * This needs a better icon. Perhaps we can look into using colour swatches here too like in all the other places? * The "active" check needs to be implemented still * Various restriction toggles to come still
2015-02-06cleanup: styleCampbell Barton
2015-01-26Cleanup: strcmp/strncmp -> STREQ/STREQLEN (in boolean usage).Bastien Montagne
Makes usage of those funcs much more clear, we even had mixed '!strcmp(foo, bar)' and 'strcmp(foo, bar) == 0' in several places...