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-05-24Fix T55177: pose-mode manipulator placement w/ COWCampbell Barton
2018-05-13Merge branch 'master' into blender2.8Campbell Barton
2018-05-13Cleanup: trailing spaceCampbell Barton
2018-05-103D View: utility to get matrix from cursorCampbell Barton
2018-05-08Orientation for 3D cursorCampbell Barton
Currently set when setting the cursor location, optionally used as an orientation type. Intended for use by tools too. See: D3208
2018-04-18Move transform orientation to sceneCampbell Barton
This was stored in the workspace, selected from the view. Move both to scene since custom orientations are closely related to your scene data.
2018-04-05Remove workspace object mode, reverts changes w/ 2.8Campbell Barton
This caused too many problems syncing object modes with multiple objects/windows/workspaces, see: D3130 for details.
2018-03-23Merge branch 'master' into blender2.8Campbell Barton
2018-03-23Cleanup: stray tabsCampbell Barton
Tabs in middle of code (mostly for no reason / by accident).
2018-02-09Cleanup: use workspace for object_mode when possibleCampbell Barton
2018-02-06Object Mode: use eval_ctx mode in transform codeCampbell Barton
This adds EvaluationContext into TransInfo
2018-01-11Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/blenkernel/intern/blender.c source/blender/makesdna/DNA_ID.h
2018-01-11Fix T53311: transform edge/normal orientationCampbell Barton
When the edge is aligned with it's own normals, transform orientation wasn't aligned with the edge.
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-09Rename Scene macros back to their original _NEW less namesDalai Felinto
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-07-10Merge branch 'master' into blender2.8Campbell Barton
2017-07-10Fix T51665: No orientation for nurbs, polygonsCampbell Barton
2017-06-13Woarkspace: Remove residue of hidden typeSergey Sharybin
There is no reason to be special for workspace and go against other design decision in Blender. If something like this is going to become a common practice in Blender it should be well thought and well tested, including tests of all supported compilers and configurations. This feature was relying on type re-definition, which is not only confusing but also available in C11 only.
2017-06-01Move custom transform orientations to workspaceJulian Eisel
This commit moves the list of transform orientations from scenes to workspaces. Main reasons for this are: * Transform orientations are UI data and should not be stored in the scene. * Introducion of workspaces caused some (expected) glitches with transform orientations. Mainly when removing one. * Improves code. More technically speaking, this commit does: * Move list of custom transform orientations from Scene to WorkSpace struct. * Store active transform orientation index separate from View3D.twmode (twmode can only be set to preprocessor defined values now). * Display custom transform orientation name in header when transforming in it (used to show "global" which isn't really correct).
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-20Merge branch 'master' into blender2.8Campbell Barton
2017-05-20CMake: Use GCC7's -Wimplicit-fallthrough=5Campbell Barton
Use to avoid accidental missing break statements, use ATTR_FALLTHROUGH to suppress.
2017-04-06Cleanup: function naming for manipulatorCampbell Barton
Rename 'stats_*' to 'protectflag_to_drawflags_*' (was too vague). Also remove NULL check from gimbal_axis
2017-04-06Remove NULL check from gimbal_axisCampbell Barton
2017-02-09More housecleaning (BASACT > BASACT_NEW)Dalai Felinto
2017-02-09Fix widget not showing upDalai Felinto
(and more Scene.base > SceneLayer.object_bases changes in transforma code)
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 ```
2017-01-16Cleanup/refactor: Add new BLI_string_util.Bastien Montagne
Things like `BLI_uniquename` had nothing, but really nothing to do in BLI_path_util files! Also, got rid of length limitation in `BLI_uniquename_cb`, we can use alloca here to avoid overhead of malloc while keeping free size (within reasonable limits of course).
2016-06-12bmesh py api: expose BM_face_calc_tangent_*Campbell Barton
D1988 by @wisaac, with own edits and improvements. This improves on existing tangent calculation functions too. - BM_face_calc_tangent_auto: Chooses method based on number of sides, used by manipulator (not exposed to Python). - BM_face_calc_tangent_edge: from longest edge. - BM_face_calc_tangent_edge_pair: from longest edge-pair (most useful with quads). - BM_face_calc_tangent_edge_diagonal: edge farthest from any vertex. - BM_face_calc_tangent_vert_diagonal: vert farthest from any vertex. Also optimize BM_vert_tri_calc_tangent_edge* functions to avoid sqrt.
2015-12-23Fix issue w/ transform orientation & vert selectionCampbell Barton
Accessing selected verts as an array failed when only some of the selected verts were in the selection-history.
2015-12-23Add BM_vert_edge_pair utility functionCampbell Barton
2015-12-01Cleanup: use more logical names for View3D.aroundCampbell Barton
D1651 (own patch)
2015-09-08Error in last commitCampbell Barton
Had warnings disabled.
2015-09-08Fix T46003: Scale w/ script ignores axis-alignCampbell Barton
2015-08-18Refactor translation code out of blenfontCampbell Barton
- Add blentranslation `BLT_*` module. - moved & split `BLF_translation.h` into (`BLT_translation.h`, `BLT_lang.h`). - moved `BLF_*_unifont` functions from `blf_translation.c` to new source file `blf_font_i18n.c`.
2015-08-13Fix T45775: Bad 'Normal' transform space for edge of non-uniformed scaled ↵Bastien Montagne
object. Non-uniform scaled obmat will lead to transformation not preserving angles, so we must ensure our normal is orthogonal to the edge **after** applying obmat.
2015-02-17Fix T43708: Wrong manipulator in individual originCampbell Barton
Manipulator and actual behavior were out-of-sync with a single edge selected.
2014-12-12cleanup: disallow NULL arg to uvedit_aspectCampbell Barton
also some typo's
2014-11-28Cleanup: unused headersCampbell Barton
2014-11-16Cleanup: use BLI_listbase_*** prefix for count,sort,sort_rCampbell Barton
2014-09-12Cleanup & remove redundant checkCampbell Barton
2014-09-11Fix non-deterministic editmesh normal orientationsCampbell Barton
- selecting a boundary edge would randomly point in/outside the face (now point away). - selecting 3 verts would use the first selected edge as the tangent (now use longest). - selecting 1 vert betweem edges, uses the edges to define the tangent.
2014-07-19Defines: replace ELEM3-16 with ELEM(...), that can take varargsCampbell Barton
2014-05-09Metaball transform, support active-only optionCampbell Barton
2014-04-30Code cleanup: remove unused includesCampbell Barton
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-04-11Code cleanup: use boolCampbell Barton
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-03-29Code cleanup: replace dot with len_squared and is_zero checksCampbell Barton