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-09-04Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fixSebastian Parborg
No functional changes
2020-09-01Fix T80224: Crash after duplicating and hiding vertices while using X Axis ↵Germano Cavalcante
Mirror The mirror map can reference a hidden vertex that is currently ignored in the transformation. Thus the mirror element array is not filled.
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-07-21UV: remove selection threshold for nearby coordinatesCampbell Barton
Internally UV selection considered close UV's to be connected. While this could be convenient in some cases, it complicates logic for more advanced selection operations that need to check when UV's should be considered part of the same vertex since simple threshold checks would give different results depending on the order of UV's tested. Users must now run "Merge by Distance" instead of relying on this selection threshold.
2020-07-02Cleanup: Remove useless duplicated linesValentin
I spotted a duplicate struct declaration, so I had to check for other duplicated as well There might be some other but i am not confident enough for deleting them this regex search for duplicate ^(.*;)$\n(\1)$ Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D8146
2020-06-23Sculpt Vertex Colors: Initial implementationPablo Dobarro
Sculpt Vertex Colors is a painting system that runs inside sculpt mode, reusing all its tools and optimizations. This provides much better performance, easier to maintain code and more advanced features (new brush engine, filters, symmetry options, masks and face sets compatibility...). This is also the initial step for future features like vertex painting in Multires and brushes that can sculpt and paint at the same time. This commit includes: - SCULPT_UNDO_COLOR for undo support in sculpt mode - SCULPT_UPDATE_COLOR and PBVH flags and rendering - Sculpt Color API functions - Sculpt capability for sculpt tools (only enabled in the Paint Brush for now) - Rendering support in workbench (default to Sculpt Vertex Colors except in Vertex Paint) - Conversion operator between MPropCol (Sculpt Vertex Colors) and MLoopCol (Vertex Paint) - Remesher reprojection in the Voxel Remehser - Paint Brush and Smear Brush with color smoothing in alt-smooth mode - Parameters for the new brush engine (density, opacity, flow, wet paint mixing, tip scale) implemented in Sculpt Vertex Colors - Color Filter - Color picker (uses S shortcut, replaces smooth) - Color selector in the top bar Reviewed By: brecht Maniphest Tasks: T72866 Differential Revision: https://developer.blender.org/D5975
2020-06-17Cleanup: name mesh join functions using ED_{type} prefixCampbell Barton
2020-04-07Cleanup: doxy sections, move utility function to editmesh_utils.cCampbell Barton
2020-04-03Cleanup: split ED_mesh_mirror_*_table into multiple functionsCampbell Barton
Spatial & topology mirror table each used a single function taking a char as an identifier. Split these into begin/end/lookup functions.
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-01-07Edit Mesh: pass in Mesh instead of BMEditMesh to EDBM_update_genericCampbell Barton
This avoids a list lookup in Main (recently added), passing in a mesh instead of an edit-mesh, since the mesh links to the edit-mesh.
2020-01-07BMesh: remove BMEditMesh.ob use for ED_mesh_mirror_* APICampbell Barton
2020-01-07BMesh: remove BMEditMesh.ob use for select mirrorCampbell Barton
2020-01-07BMesh: remove BMEditMesh.ob use for vert coord access, projectionCampbell Barton
2020-01-02Cleanup: quiet const warningsCampbell Barton
2020-01-02EditMesh: Improve AutoMerge with Split Edges & Facesmano-wii
Previously, compared to `Auto Merge` without `Split Edges & Faces`, `Auto Merge` with this option ignored duplicates between selected vertices. It only considered duplicates between selected vertices and unselected vertices. This is a regress and not a progress. This commit implements this behavior, so this option matches the other `Auto Merge`.
2019-12-31Transform: Individual Origins: Create islands between only selected uvs.mano-wii
Currently the islands are created depending only on the visible UVs. This can be confusing because compared to Edit Meshes, islands are created based on the selected elements. T68284 shows a case where this confusion is observed. Differential Revision: https://developer.blender.org/D6502
2019-11-27Fix T71865: Separating mesh parts breaks shape keysCampbell Barton
This was an old bug which could be caused by saving after separating. Changes from 79b703bb635e made this fail reliably. Update shape key indices when they may be used again later.
2019-11-27Add 'EDBM_selectmode_disable_multi' and use in knifeprojectPhilipp Oeser
As a followup to rB6f4e595e9ba9 and as per @campbellbarton suggestion, this adds EDBM_selectmode_disable_multi, similar to EDBM_mesh_deselect_all_multi & EDBM_mesh_deselect_all, so other similar uses don't need to be done in a loop. Also, selected_objects isn't a reliable way to handle this case - since objects can be in edit-mode & not selected, use BKE_view_layer_array_from_bases_in_edit_mode_unique_data instead Differential Revision: https://developer.blender.org/D6317
2019-10-20Mesh: add API functions for poly & loop removalCampbell Barton
These existed for verts & edges, add for API completeness. Also add ED_mesh_geometry_clear, needed to reduce memory for edit-mesh separate.
2019-09-05Object: Mode switching operatorCampbell Barton
Remove unused OBJECT_OT_mode_set_or_submode, add OBJECT_OT_mode_set_with_submode which can switch to edit mode as well as a sub-mode - currently only mesh select mode is supported (others may be added later).
2019-09-02Fix T69404: Merge by distance crash with UnselectedCampbell Barton
Error introduced when removing the automerge bmesh operator.
2019-08-28Cleanup: split automerge logic into own fileCampbell Barton
This isn't closely related to selection & this file was over 5k lines.
2019-08-27Edit Mesh: Poly build tool improvementsPablo Dobarro
This commit changes the functionality of the Poly build tool to make it more suitable for retopology tasks: - Click and drag from a boundary edge extrudes a new quad - Click and drag on vertices tweaks the position - Ctrl + click adds geometry. There is a geometry preview in the gizmo. It also can automatically convert triangles to quads. - Shift + click deletes mesh elements (faces or vertices) - Updated preselection code. Different mesh elements take priority depending on the selected action. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D5573
2019-08-27Edit Mesh AutoMerge: Improve `Split Edges & Faces` optionmano-wii
Now all wire edges linked to the merged vertex are used for split faces. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D5603
2019-08-26Edit Mesh: New option "Split Edges & Faces" to "AutoMerge"mano-wii
Ref T66423 Differential revision: https://developer.blender.org/D5562
2019-08-25Cleanup: redundant struct declarationsCampbell Barton
2019-08-25Cleanup: rename mesh looptri/tessface functionsCampbell Barton
Use consistent terminology.
2019-08-25Cleanup: remove unused ED_mesh_*_tessface functionsCampbell Barton
2019-08-25RNA: remove Mesh.update() calc_loop_triangles argumentCampbell Barton
This calculated tessfaces, not loop-triangles. Remove this since they aren't accessible from RNA anymore.
2019-07-31Refactor access to dependency graphSergey Sharybin
This change ensures that operators which needs access to evaluated data first makes sure there is a dependency graph. Other accesses to the dependency graph made it more explicit about whether they just need a valid dependency graph pointer or whether they expect the graph to be already evaluated. This replaces OPTYPE_USE_EVAL_DATA which is now removed. Some general rules about usage of accessors: - Drawing is expected to happen from a fully evaluated dependency graph. There is now a function to access it, which will in the future control that dependency graph is actually evaluated. This check is not yet done because there are some things to be taken care about first: for example, post-update hooks might leave scene in a state where something is still tagged for update. - All operators which needs to access evaluated state must use CTX_data_ensure_evaluated_depsgraph(). This function replaces OPTYPE_USE_EVAL_DATA. The call is generally to be done in the very beginning of the operator, prior other logic (unless this is some comprehensive operator which might or might not need access to an evaluated state). This call is never to be used from a loop. If some utility function requires evaluated state of dependency graph the graph is to be passed as an explicit argument. This way it is clear that no evaluation happens in a loop or something like this. - All cases which needs to know dependency graph pointer, but which doesn't want to actually evaluate it can use old-style function CTX_data_depsgraph_pointer(), assuming that underlying code will ensure dependency graph is evaluated prior to accessing it. - The new functions are replacing OPTYPE_USE_EVAL_DATA, so now it is explicit and local about where dependency graph is being ensured. This commit also contains some fixes of wrong usage of evaluation functions on original objects. Ideally should be split out, but in reality with all the APIs being renamed is quite tricky. Fixes T67454: Blender crash on rapid undo and select Speculation here is that sometimes undo and selection operators are sometimes handled in the same event loop iteration, which leaves non-evaluated dependency graph. Fixes T67973: Crash on Fix Deforms operator Fixes T67902: Crash when undo a loop cut Reviewers: brecht Reviewed By: brecht Subscribers: lichtwerk Maniphest Tasks: T67454 Differential Revision: https://developer.blender.org/D5343
2019-07-16Fixed crash when adding/removing custom normals from pinned meshSybren A. Stüvel
When a mesh is pinned in the properties panel, Blender crashes when you click the "Add Custom Split Normals Data". The code calls `ob = ED_object_context(C)` which returns NULL when the mesh is pinned in the properties panel, causing a segfault when trying to get the mesh via `ob->data`. A new function `ED_mesh_context(C)` avoids this by first checking whether a mesh was pinned in the context. If not, it checks the pinned object's data. If that's not there, or it's not a mesh, it returns the active object's mesh. Finally it returns NULL if there is no active object, or if the active object is not a mesh object. Reviewed By: brecht, mont29 Differential Revision: https://developer.blender.org/D5223
2019-06-14Mesh Selection: Move Selection ID Context Utilities to ED_view3d.mano-wii
This patch does not bring functional changes, but it is a good change if we want to use these utilities in areas other than those using BMesh (eg painting editors). This is also a step to replace `ED_view3d_select_id_validate`. That function erroneously checks `V3D_INVALID_BACKBUF` which causes it to update unnecessarily. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D5072
2019-05-20Cleanup: remove EDBM_backbuf APICampbell Barton
2019-05-203D View: use new buffer selection API's for paint vert/face selectCampbell Barton
Removes EDBM_backbuf use.
2019-05-18Fix T54686: objects don't occlude each other for edit-mesh select (part 2)Campbell Barton
The previous fix 8a6414ed46f66, resolved selection picking but didn't work for box/circle/lasso select. - Add ED_select_buffer_utils.h for general select-buffer operations unrelated to edit-mesh. - Circle select still needs to cache select-id's for each update.
2019-05-17Mesh Select: use select context instead of static structsmano-wii
This patch does not bring any functional change, but it does expose some utilities that can be very useful to correct occlusion and performance problems of Circle Select and similar. Creating a selection context still makes it easier to track issues.
2019-05-16Fix unreported: Presselection cycle not working in multiple meshes editing.mano-wii
2019-05-16Fix T54686: objects don't occlude each other for edit-mesh selectmano-wii
2019-04-21Cleanup: comments (long lines) in editorsCampbell 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-03-263D View: move deselect all logic into an optionCampbell Barton
This removes `VIEW3D_OT_select_or_deselect_all`, adding a deselect_all option to the `VIEW3D_OT_select` operator. - Add utility functions to simplify de-selecting all. - Return true from selection functions when they change the selection to avoid redundant updates. - Use arrays of bases when passing objects between selection utility functions since some users require bases. - Fix logical error in box selection that updated all objects after the first hit.
2019-03-16Cleanup: use return args lastCampbell Barton
2019-03-16Fix __func__ being passed as an output string, also warningsCampbell Barton
2019-03-15GPU: Simplify select shaders.mano-wii
The shaders are: `GPU_SHADER_3D_FLAT_SELECT_ID` and `GPU_SHADER_3D_UNIFORM_SELECT_ID`. This commit allows the drawing of the mesh select ids to be done on a 32UI format texture. This simplifies the shader that previously acted on the backbuffer and had to do an uint to rgba conversion. Differential Revision: https://developer.blender.org/D4350
2019-03-05UV/VCol layers creation: add option to not init those new data.Bastien Montagne
`ED_mesh_uv_texture_add()`/`ED_mesh_color_add()` would always either copy data from current active one, or (for UVs), generate default 'valid' UVs for every face. This commit adds an option to not do that, just keeping default values from raw CDLayer creation. It is only used/exposed from RNA API currently. This is especially useful for importer add-ons, since some formats support multiple layers of those kind, as well as 'partial' dataset not explicitely defining values for all mesh items. Preliminary step to fix T62224.
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-14Fix T61472: Hide Unselected fails w/ no selectionCampbell Barton
Also skip mesh recalculation when no hide/reveal is performed.
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-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.