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
2019-03-27Fix T55956: Transfer Weights: Source Layers can't be set to Active Layer.Bastien Montagne
Behavior of source/destination options was rather flaky in reversed mode... Note that even though this mode is a bit annoying and cumbersome, the only alternative (defining a specific transfer weight operator) would be much more verbose, so think that for now we'd rather keep what we have here.
2019-03-27Cleanup: minor comments fixes.Bastien Montagne
2019-03-07Refactor CDData masks, to have one mask per mesh elem type.Bastien Montagne
We already have different storages for cddata of verts, edges etc., 'simply' do the same for the mask flags we use all around Blender code to request some data, or limit some operation to some layers, etc. Reason we need this is that some cddata types (like Normals) are actually shared between verts/polys/loops, and we don’t want to generate clnors everytime we request vnors! As a side note, this also does final fix to T59338, which was the trigger for this patch (need to request computed loop normals for another mesh than evaluated one). Reviewers: brecht, campbellbarton, sergey Differential Revision: https://developer.blender.org/D4407
2019-02-25Fix (unreported) broken code in RNA's datatransfer source layer enum function.Bastien Montagne
Same issue as in own previous commit actually.
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-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-03Cleanup: trailing commasCampbell Barton
Needed for clan-format not to wrap onto one line.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-15Cleanup: comment line length (editors)Campbell Barton
Prevents clang-format wrapping text before comments.
2018-12-07Depsgraph: Remove duplicated sets of recalc/update flagsSergey Sharybin
There were at least three copies of those: - OB_RECALC* family of flags, which are rudiment of an old dependency graph system. - PSYS_RECALC* which were used by old dependency graph system as a separate set since the graph itself did not handle particle systems. - DEG_TAG_* which was used to tag IDs. Now there is a single set, which defines what can be tagged and queried for an update. It also has some aggregate flags to make queries simpler. Lets once and for all solve the madness of those flags, stick to a single set, which will not overlap with anything or require any extra conversion. Technically, shouldn't be measurable user difference, but some of the agregate flags for few dependency graph components did change. Fixes T58632: Particle don't update rotation settings
2018-12-01Fix more cases of evaluated mesh being built for non-COW objects.Alexander Gavrilov
2018-09-18Fix T56831: Crash - Transfer Weight & changing it's properties.Bastien Montagne
Usual Undo/Redo case with operators needing evaluated data...
2018-07-26Merge branch 'master' into blender2.8Campbell Barton
2018-07-26WM: replace UI draw callbacks w/ property pollCampbell Barton
Custom drawing functions were used just to control property display. Move to poll function.
2018-07-26Merge branch 'master' into blender2.8Campbell Barton
2018-07-26WM: Add operator property poll callbackCampbell Barton
This allows operators to filter out properties from the auto-generated draw functions. Some custom draw functions can move to using this.
2018-07-02Merge branch 'master' into blender2.8Campbell Barton
2018-07-02Cleanup: use bool for poll functionsCampbell Barton
2018-06-20Cleanup: remove last DM usages from datatransfer code.Bastien Montagne
2018-06-05Moved function declarations from BKE_DerivedMesh.h to BKE_mesh_runtime.hSybren A. Stüvel
The function definitions still reside in DerivedMesh.c. Once we're done porting all the DerivedMesh use to Mesh, we'll move the still-relevant functions to mesh_runtime.c. This move is now cumbersome due to shared statically-declared utility functions in DerivedMesh.c
2018-04-20UI: New Global Top-Bar (WIP)Julian Eisel
== Main Features/Changes for Users * Add horizontal bar at top of all non-temp windows, consisting out of two horizontal sub-bars. * Upper sub-bar contains global menus (File, Render, etc.), tabs for workspaces and scene selector. * Lower sub-bar contains object mode selector, screen-layout and render-layer selector. Later operator and/or tool settings will be placed here. * Individual sections of the topbar are individually scrollable. * Workspace tabs can be double- or ctrl-clicked for renaming and contain 'x' icon for deleting. * Top-bar should scale nicely with DPI. * The lower half of the top-bar can be hided by dragging the lower top-bar edge up. Better hiding options are planned (e.g. hide in fullscreen modes). * Info editors at the top of the window and using the full window width with be replaced by the top-bar. * In fullscreen modes, no more info editor is added on top, the top-bar replaces it. == Technical Features/Changes * Adds initial support for global areas A global area is part of the window, not part of the regular screen-layout. I've added a macro iterator to iterate over both, global and screen-layout level areas. When iterating over areas, from now on developers should always consider if they have to include global areas. * Adds a TOPBAR editor type The editor type is hidden in the UI editor type menu. * Adds a variation of the ID template to display IDs as tab buttons (template_ID_tabs in BPY) * Does various changes to RNA button creation code to improve their appearance in the horizontal top-bar. * Adds support for dynamically sized regions. That is, regions that scale automatically to the layout bounds. The code for this is currently a big hack (it's based on drawing the UI multiple times). This should definitely be improved. * Adds a template for displaying operator properties optimized for the top-bar. This will probably change a lot still and is in fact disabled in code. Since the final top-bar design depends a lot on other 2.8 designs (mainly tool-system and workspaces), we decided to not show the operator or tool settings in the top-bar for now. That means most of the lower sub-bar is empty for the time being. NOTE: Top-bar or global area data is not written to files or SDNA. They are simply added to the window when opening Blender or reading a file. This allows us doing changes to the top-bar without having to care for compatibility. == ToDo's It's a bit hard to predict all the ToDo's here are the known main ones: * Add options for the new active-tool system and for operator redo to the topbar. * Automatically hide the top-bar in fullscreen modes. * General visual polish. * Top-bar drag & drop support (WIP in temp-tab_drag_drop). * Improve dynamic regions (should also fix some layout glitches). * Make internal terminology consistent. * Enable topbar file writing once design is more advanced. * Address TODO's and XXX's in code :) Thanks @brecht for the review! And @sergey for the complaining ;) Differential Revision: D2758
2018-04-16Depsgraph: remove EvaluationContext, pass Depsgraph instead.Brecht Van Lommel
The depsgraph was always created within a fixed evaluation context. Passing both risks the depsgraph and evaluation context not matching, and it complicates the Python API where we'd have to expose both which is not so easy to understand. This also removes the global evaluation context in main, which assumed there to be a single active scene and view layer. Differential Revision: https://developer.blender.org/D3152
2017-11-06Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: intern/cycles/device/device.cpp source/blender/blenkernel/intern/library.c source/blender/blenkernel/intern/material.c source/blender/editors/object/object_add.c source/blender/editors/object/object_relations.c source/blender/editors/space_outliner/outliner_draw.c source/blender/editors/space_outliner/outliner_edit.c source/blender/editors/space_view3d/drawobject.c source/blender/editors/util/ed_util.c source/blender/windowmanager/intern/wm_files_link.c
2017-11-06Rename ID_IS_LINKED_DATABLOCK to ID_IS_LINKED.Bastien Montagne
This makes code closer to id_override/assent-engine ones, which introduce a new type of linked data, and hence reserve ID_IS_LINKED_DATABLOCK to real linked datablocks.
2017-10-18Fix crash accessing enums without a contextCampbell Barton
2017-10-18Merge branch 'master' into blender2.8Campbell Barton
2017-10-18Cleanup: Use const for RNA EnumPropertyItem argsCampbell Barton
Practically all access to enum data is read-only.
2017-07-21Pass EvaluationContext argument everywhereLuca Rood
Note that some little parts of code have been dissabled because eval_ctx was not available there. This should be resolved once DerivedMesh is replaced.
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-05-25TexFace removal part 3Campbell Barton
- MTexPoly structure & layer type. - The 'Mesh.uv_textures' layers. - DerivedMesh TexFace drawing. - Scripts & UI.
2016-07-06Replace of (id->lib != NULL) check by meaningful macro.Bastien Montagne
Idea is to replace hard-to-track (id->lib != NULL) 'is linked datablock' check everywhere in Blender by a macro doing the same thing. This will allow to easily spot those checks in future, and more importantly, to easily change it (see work done in asset-engine branch). Note: did not touch to readfile.c, since there most of the time 'id->lib' check actually concerns the pointer, and not a check whether ID is linked or not. Will have a closer look at it later. Reviewers: campbellbarton, brecht, sergey Differential Revision: https://developer.blender.org/D2082
2015-12-27Split id->flag in two, persistent flags and runtime tags.Bastien Montagne
This is purely internal sanitizing/cleanup, no change in behavior is expected at all. This change was also needed because we were getting short on ID flags, and future enhancement of 'user_one' ID behavior requires two new ones. id->flag remains for persistent data (fakeuser only, so far!), this also allows us 100% backward & forward compatibility. New id->tag is used for most flags. Though written in .blend files, its content is cleared at read time. Note that .blend file version was bumped, so that we can clear runtimeflags from old .blends, important in case we add new persistent flags in future. Also, behavior of tags (either status ones, or whether they need to be cleared before/after use) has been added as comments to their declaration. Reviewers: sergey, campbellbarton Differential Revision: https://developer.blender.org/D1683
2015-11-23Cleanup: use `rna_enum_` prefix for RNA enumsCampbell Barton
Definitions could shadow local vars.
2015-09-02Fix T45991: Transfer Weight tool UI is inconsistent and crashes blender.Bastien Montagne
Since data transfer when called from this tool has reversed behavior (it transfers **towards** active object, as previous tool), we have to also reverse source/destination layers selection options. Also fix 'reverse' option being saved, otherwise calling regular operator after 'transfer weights' would stay in reverse mode, ugly!
2015-08-07Data Transfer operator: Add a 'freeze' setting to prevent operator from ↵Bastien Montagne
re-running when changing settings. This is likely weak design, but allows people to change several settings without having to wait several tenth of seconds each time, when e.g. transferring UVs between heavy geometries.
2015-07-13Data Transfer: Add an option to 'auto-transform' destination mesh so that it ↵Bastien Montagne
matches best the source one. This allows to match and transfer data between two meshes with similar shape but complete arbitrary different transform. Note that the result will be best if the meshes (more precisely, their vertices) are exact copies of each other. Otherwise, method used can only perform an approximated best match, which means you'll likely get better results if you 'visually' make them match in 3D space (and use 'Object Transform') instead.
2015-06-16Fix T45088: Wrong tooltip for 'Object Transform' option of transfer data.Bastien Montagne
2015-05-04Cleanup: style & const'sCampbell Barton
2015-05-04Fix possible crash with datatransfer operator when source object was hidden.Bastien Montagne
Mismatch in poll and exec funcs when getting active (source) object...
2015-03-10Fix crash in mesh data transferCampbell Barton
2015-02-05Add Custom Loop Normals to Data Transfer.Bastien Montagne
Titles says everything, just two notes: * We have to actually transfer plain *normals*, not 'compressed' clnors, so had to add pre/post process to transfer to make the conversions. * Also added interpolation and advanced copy/mixing to CD_NORMAL, for same reasons.
2015-01-17Fix T43283: Crash on undo/redo/ and save/reload after (new) weight transfer.Bastien Montagne
Mesh stores its dvert in a specific pointer too, in addition of regular CD layer... That whole vgroup handling is really breaking apart the 'universality' of CD system. :( Also added some DAG and WM updates in operators...
2015-01-14Transfer Data: resurrect fake AND/OR when transferring 'boolean' values like ↵Bastien Montagne
UVSeam, Freestyle marks, etc.
2015-01-13Fix UI messages (own stupidness even :/ ).Bastien Montagne
2015-01-12Cleanup: rename BKE's 'object_data_transfer' to 'data_transfer' to avoid ↵Bastien Montagne
same file names with ED_object's one.
2015-01-11Data transfer: make operator able to work 'reversed' (i.e. transfer from ↵Bastien Montagne
selected objects to active). Needed to replace weight transfer modifier in WeightPaint mode... Note this is not exposed to users in UI, shall remain technical intern parameter imho. Esp. since behavior when several sources is a bit 'random' (merely uses each source in selection order...). Also, this correct a bug, where 'lib' linked objects/meshes could not be used as source...
2015-01-10cleanup: style & warningsCampbell Barton
2015-01-10Transfer data: add modifier.Bastien Montagne
Not much to add, modifier uses same code as operator basically, only key difference is that modifier will never create data layers itself, you have to use dedicated operator for that.
2015-01-09Transfer Data: add main core code and operators.Bastien Montagne
This add code needed to map a CD data layout from source mesh towards destination one, and code needed to actually transfer data, using BKE's mesh remap generated data. This allows to transfer most CD layers (vgroups, vcols, uvs...) as well as fake, boolean ones (like smooth/sharp edges/faces, etc.). Some types are not yet transferable, mainly shape keys, this is known TODO. Data transfer can also use some advanced mixing in some cases (mostly, vgroups and vcols). Notes: * New transfer operators transfer data from active object towards selected ones. * Modifier will be committed separately. * Old weight transfer code (for vgroups) is kept for now, mostly because it is the only usable one in weightpaint mode (it transfers from selected object to active one, this is not sensible in Object mode, but needed in WeightPaint one). This will be addressed soon. Again, heavily reviewed and enhanced by Campbell, thanks!