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
2021-10-19Cleanup: use 'e' prefix for enum typesCampbell Barton
2021-10-13Cleanup: Snap Context RefactorGermano Cavalcante
Move runtime parameters out of context creation. Not being able to choose another region and v3d limits the use of the snap API.
2021-08-06Cleanup: use MEM_SAFE_FREE macroCampbell Barton
2021-07-13Cleanup: remove commented codeCampbell Barton
Replace with brief note in warning.
2021-07-13Cleanup: minor changes to edit-mesh API callsCampbell Barton
Rename: - EDBM_mesh_free -> EDBM_mesh_free_data BKE_editmesh_free -> BKE_editmesh_free_data Since this doesn't free the edit-mesh pointer. - BKE_editmesh_free_derivedmesh -> BKE_editmesh_free_derived_caches Since this no longer uses derived-mesh, match naming for the related object function BKE_object_free_derived_caches. Also remove `do_tessellate` argument from BKE_editmesh_create, since the caller can explicitly do this if it's needed, with the advantage that it can be combined with normal calculation which is faster on high-poly meshes.
2021-07-05EditMesh: extract restore logic out of EDBM_redo_state_freeCampbell Barton
Split mesh restore logic into a new function: `EDBM_redo_state_restore_and_free`.
2021-07-05BMesh: remove redundant mesh-backups from EDBM_op_* APICampbell Barton
Using BMesh operators through the edit-mesh API created a full copy of the mesh so it was possible to restore the mesh in case one of the operators raised an error. Remove support for automatic backup/restore from the EDBM_op_* API's as it adds significant overhead and was rarely used. Operators that need this can use the BMBackup API to backup & restore the mesh in case of failure. Add warning levels to BMO_error_raise so operators can report problems without it being interpreted as a request to cancel the operation. For high-poly meshes creating and freeing a full copy is an expensive operation, removing this gives a speedup of ~1.77x for most operators except for "connect_verts" / "connect_vert_pair" which still uses this functionality.
2021-07-05BMesh: remove redundant copy-on-write taggingCampbell Barton
The evaluated meshes no longer store a copy of the edit-mesh so tagging when a BMesh operator fails can be removed.
2021-07-03Cleanup: consistent use of tags: NOTE/TODO/FIXME/XXXCampbell Barton
Also use doxy style function reference `#` prefix chars when referencing identifiers.
2021-07-02Cleanup: refactor edit-mesh copy functions into functionsCampbell Barton
2021-06-26Cleanup: full sentences in comments, improve comment formattingCampbell Barton
2021-06-24Cleanup: comment blocks, trailing space in commentsCampbell Barton
2021-06-23Fix T89342: Select mirror with a zero length central edge assertsCampbell Barton
2021-06-23Fix T89367: Crash running edit-mesh select_linked_pick from PythonCampbell Barton
2021-06-18Performance: Limit recounting during selection mode flushing.Jeroen Bakker
This patch ensures that selection mode flushing updates total selection counts internally. This reduces recounting when we are sure that the input total selection counts were up to date. For example for circle selection the total selection counts were correct. But during flushing the selection could have been changed and therefore the selection was always recounted. This increased the performance on selected system from 6.90 FPS to 8.25 FPS during circle selection operations. Before: {F10179981} After: {F10179982} Reviewed By: mano-wii Differential Revision: https://developer.blender.org/D11647
2021-06-14BMesh: support face-normal calculation in normal & looptri functionsCampbell Barton
Support calculating face normals when tessellating. When this is done before updating vertex normals it gives ~20% performance improvement. Now vertex normal calculation only needs to perform a single pass on the mesh vertices when called after tessellation. Extended versions of normal & looptri update functions have been added: - BM_mesh_calc_tessellation_ex - BM_mesh_normals_update_ex Most callers don't need to be aware of this detail by using: - BKE_editmesh_looptri_and_normals_calc - BKE_editmesh_looptri_and_normals_calc_with_partial - EDBM_update also takes advantage of this, where calling EDBM_update with calc_looptri & calc_normals enabled uses the faster normal updating logic.
2021-06-14Edit Mesh: use params arg for update function, add calc_normals argCampbell Barton
Rename function EDBM_update_generic to EDBM_update, use a parameters argument for better readability. Also add calc_normals argument, which will have benefits when calculating normals and tessellation together is optimized.
2021-04-17Transform Snap Refactor: Use enum for cage snap optionsGermano Cavalcante
This allows the addition of the `SNAP_GEOM_CAGE` option. Currently unused.
2021-03-27Fix T86924: UV Sync selection breaks individual origin calculationSiddhartha Jejurkar
Use uvedit_uv_select_test which accounts for UV Sync selection. Ref D10830
2020-12-15Fix T83788: Topology mirror crashes for vertices aren't mirroredCampbell Barton
Caused by da8dc204bd062b2712869cf2709d2530915249b5
2020-12-02Fix T83119: Crash with topology mirror affecting a hidden vertexPhilipp Oeser
Caused by rBba97da21acf2. For non-topology mirror hidden verts were never respected/included in EDBM_verts_mirror_cache_begin (they were excluded from the kdtree). Prior to said commit, hidden mirrored verts that were still in the map would have been excluded in a separate loop over vertices in 'editmesh_mirror_data_calc()' by checking BM_ELEM_HIDDEN. Due to the new nature of this function this check was now moved to EDBM_verts_mirror_cache_begin. Maniphest Tasks: T83119 Differential Revision: https://developer.blender.org/D9673
2020-10-13Fix T81288:Select Linked fails with multi-object edit modeCampbell Barton
Changing options after using select-linked didn't work when the object being selected wasn't the active object.
2020-09-30Cleanup: convert gforge task ID's to phabricator formatValentin
Cleanup old tracker task format to the new. e.g: [#34039] to T34039 Ref D8718
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-26Cleanup: remove unused UvVertMap.flagCampbell Barton
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-16Cleanup: spellingCampbell Barton
2020-07-14Fix T78880: UV Editor - Match prop edit connected behavior with mesh editing ↵Sebastian Parborg
and fix Rip Region double proportional checkbox This fixes the double prop edit checkbox in the redo menu. This also makes it so that proportional edit in connected mode now matches how it behaves in mesh edit mode. Without this change, ripping in UV edit mode with proportional edit on would be useless as the UV verts you ripped will still be stuck together even if they were not connected anymore. Reviewed By: Campbell Differential Revision: http://developer.blender.org/D8289
2020-07-13Clang Tidy: enable readability-non-const-parameter warningJacques Lucke
Clang Tidy reported a couple of false positives. I disabled those `NOLINTNEXTLINE`. Differential Revision: https://developer.blender.org/D8199
2020-07-03Cleanup: Editors/Mesh, Clang-Tidy else-after-return fixesSybren A. Stüvel
This addresses warnings from Clang-Tidy's `readability-else-after-return` rule in the `source/blender/editors/mesh` module. No functional changes.
2020-06-10Cleanup: improve custom data type namesJacques Lucke
This is related to T76659. This just renames data type names to `CD_PROP_STRING`, `CD_PROP_FLOAT` and `CD_PROP_INT32`. It makes them a bit more specific and removes unnecessary abbreviations. Reviewers: brecht Differential Revision: https://developer.blender.org/D7980
2020-05-27Cleanup: remove unused Main struct from snap contextCampbell Barton
2020-04-07Cleanup: doxy sections, move utility function to editmesh_utils.cCampbell Barton
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-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-04-03Cleanup: use abbreviated names for unsigned types in editorsCampbell Barton
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-09Cleanup: Replace ABS/SQUARE/CUBE with function callsSergey Sharybin
While it might be handy to have type-less functionality which is similar to how C++ math is implemented it can not be easily achieved with just preprocessor in a way which does not have side-effects on wrong usage. There macros where often used on a non-trivial expression, and there was at least one usage where it was causing an actual side effect/bug on Windows (see change around square_f(sh[index++]) in studiolight.c). For such cases it is handy to have a function which is guaranteed to have zero side-effects. The motivation behind actually removing the macros is that there is already a way to do similar calculation. Also, not having such macros is a way to guarantee that its usage is not changed in a way which have side-effects and that it's not used as an inspiration for cases where it should not be used. Differential Revision: https://developer.blender.org/D7051
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: add comments to EDBM_op_finishCampbell Barton
Was marked 'FIXME' however this only ever happens in exceptional cases. Also comment why tagging is needed in this case.
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 pointerCampbell Barton
Remove this pointer since it's linking Mesh data back to the object, where a single edit-mesh may have multiple object users, causing incorrect assumptions in the code. Resolves dangling pointer part of the T72667 crash, although there are other issues which still need to be fixed. In EDBM_op_finish and EDBM_update_generic, full Main lookups have been added which should be replaced with mesh argument or the update tagging moved elsewhere.
2020-01-07BMesh: remove BMEditMesh.ob use for ED_mesh_mirror_* APICampbell Barton
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-08-25Cleanup: rename mesh looptri/tessface functionsCampbell Barton
Use consistent terminology.
2019-08-25Cleanup: remove tessface check when entering edit-modeCampbell Barton
2019-08-25Cleanup: remove USE_TESSFACE_DEFAULT defineCampbell Barton
2019-04-22Cleanup: style, use braces for editorsCampbell Barton
2019-04-21Cleanup: comments (long lines) in editorsCampbell Barton