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-04-03Cleanup: bone cursor picking APICampbell Barton
There was one function to access both pose/edit bones, which returned a void pointer type. Split these into 3 functions which return EditBone, bPoseChannel or Bone types. Internally the logic is still shared, this just makes it clearer to callers which type is expected. Also use more conventional prefix for picking API: - ED_armature_pick_(ebone/pchan/bone) - ED_armature_pick_(ebone/pchan/bone)_from_selectbuffer
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-12Cleanup: spelling, clang-formatCampbell Barton
2020-03-09GPencil: Refactor of Draw Engine, Vertex Paint and all internal functionsAntonio Vazquez
This commit is a full refactor of the grease pencil modules including Draw Engine, Modifiers, VFX, depsgraph update, improvements in operators and conversion of Sculpt and Weight paint tools to real brushes. Also, a huge code cleanup has been done at all levels. Thanks to @fclem for his work and yo @pepeland and @mendio for the testing and help in the development. Differential Revision: https://developer.blender.org/D6293
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-15Fix T71091: Object restrict selection conflicts with pose selectionCampbell Barton
Support pose bone selection when the object has hide_select enabled. This is consistent with how all other modes work.
2019-12-30Tracking: Selection CrashJeroen Bakker
Blender crashes when selecting a marker in the 3d viewport that is from the non active scene camera. This patch will solve this crash, but introduced a new scenario that isn't thought out. In the new scenario it is still hard to select a marker via the 3d viewport. I would expect that when selecting a marker in this case would select the camera where the marker belongs to and select the marker that is under the mouse button. Reviewed By: Sergey Sharybin Differential Revision: https://developer.blender.org/D6360
2019-11-24Cleanup: doxygen commentsCampbell Barton
Also correct some outdated symbol references, add missing 'name' commands.
2019-10-08Fix T70601: Lasso select not functioning correctly in Armature Edit Modemano-wii
This solution mimics the one used for pose by ignoring the bone line if either end is clipped.
2019-09-18Fix excessive dependency graph evaluation while painting strokesBrecht Van Lommel
Particularly noticeable when vertex painting with a subsurf modifier. In some cases every sculpt or paint stroke step would evaluate the dependency graph. This should only happen for redraws. Now more selectively choose if the dependency graph should be evaluated to initialize the view context. Doing it in the view context evaluation is somewhat hidden, now it's more explicit. Differential Revision: https://developer.blender.org/D5844
2019-09-13Cleanup: unused headers (GPU)Campbell Barton
2019-08-26Cleanup: use BLI_assertCampbell Barton
2019-08-16Outliner: Synced selection and active element highlightingNathan Craddock
Adds a toggle to the filter menu for outliner synced selection. Enabled by default, this ensures selection is synced between objects, bones, and sequences. An active outliner element theme color is added to indicate which element is active. Synced selection is controlled on the operator level. Each operator that modifies selection for objects, bones, sequences, or outliner elements needs to call the respective ED_outliner_select_sync_from.. function to tag outliners to be synced. Syncing is done lazily on outliner draw.
2019-08-15Cleanup: clang-format, unused argCampbell Barton
2019-08-15Edit Mesh Selection: Refactor: Redraw idmap buffer at runtime with only ↵mano-wii
objects inside the rect But in the future the selection code may also be used in object mode (eg for snapping). So to avoid using too much VRAM resources, it is good to avoid drawing all objects in the viewport. The solution was to create an array with only objects that are detected within the selection area. If the selection operator is modal, objects already detected are not removed from the array until view3d is moved or orbited. To detect the object, its BoundBox is tested. Since the Select Engine does not have a dedicated depth texture, whenever a new object is "found" the depth of the objects in the array already drawn is redrawn. Reviewers: campbellbarton, fclem Reviewed By: fclem Differential Revision: https://developer.blender.org/D5435
2019-08-14Cleanup: move trailing comments to avoid wrapping codeCampbell Barton
Some statements were split across multiple lines because of their trailing comments. In most cases it's clearer to put the comments above.
2019-08-12View3D: Circle Select optimizationmano-wii
Don't recreate `select_bitmap` for each edited object.
2019-08-07Edit Mesh Selection: Move ED_view3d_select_ functions to bf_drawmano-wii
It is easier to deal with private values of the DRW_select engine and gives room for improvement. Reviewers: campbellbarton, fclem Differential Revision: https://developer.blender.org/D5415
2019-08-07Select utils refactor: remove lagacy `ED_view3d_select_id_read_rect`mano-wii
`ED_view3d_select_id_read_rect` serves only as a bridge to `DRW_framebuffer_select_id_read`. Keeping these codes similar only increases the complexity of some functions. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D5415
2019-08-02Cleanup: clang formatmano-wii
Strange, this was not applied automatically.
2019-08-02View3D Mesh Selection: Specify select_mode directly for Circle, Lasso and ↵mano-wii
Box selection No functional changes.
2019-08-02Fix edge selection ignoring clipping in wire-frame displayCampbell Barton
2019-08-02DRW: Select Engine: Add a utility to detect `select_node`mano-wii
2019-08-01Cleanup: misc spelling fixesCampbell Barton
T68035 by @luzpaz
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-303D View: Move selection API to a Selection engine.mano-wii
This commit moves the API of selecting faces, vertices and edges to a DRW manager engine. Reviewers: campbellbarton, fclem Subscribers: jbakker, brecht Differential Revision: https://developer.blender.org/D5090
2019-07-18Fix T66949: Can't select bones from multiple objects in wpaint modeCampbell Barton
This fix relies on 2.7x logic, only de-selecting other armature objects, making multiple armatures in weight paint mode usable.
2019-07-18Revert "Fix T66949: Can't select bones from multiple objects in wpaint mode"Campbell Barton
This reverts commit 9e9fbb39d7f9e0a63c71fbc96237ace62fae0db6. Adding back object+pose bone selection support removes the need for this fix.
2019-07-17Fix T66949: Can't select bones from multiple objects in wpaint modeCampbell Barton
2019-07-17Fix object selection when in pose modeCampbell Barton
The new selected object was activated but not selected.
2019-07-15Fix T66668: frame selected bone not working in weight paint modePhilipp Oeser
'viewselected_exec()' [which uses evaluated view layer] would query BASE_SELECTED flag, but it was not set on base_eval, but on its base_orig. reason for this is 'ed_object_select_pick()' would modify base flags [through 'ED_object_base_select()'], but not tag scene ID_RECALC_BASE_FLAGS. thx @sergey for hinting. Reviewers: sergey, brecht Maniphest Tasks: T66668 Differential Revision: https://developer.blender.org/D5235
2019-07-09Fix T66456: UV Editor missing update after selection change in 3D viewportPhilipp Oeser
Reviewers: brecht Maniphest Tasks: T66456 Differential Revision: https://developer.blender.org/D5207
2019-07-05Fix strict compiler warningsSergey Sharybin
2019-07-05Fix T66006: View 3D select enumerate + other options failCampbell Barton
Support other options when using the enumerate option.
2019-06-22Cleanup: warnings, formattingCampbell Barton
2019-06-21Fix T65834: Circle Select does not update select_id buffer after orbiting ↵mano-wii
view3d. This solution checks if `persp_mat` has changed. If positive, the selection buffer is redrawn. Differential Revision: https://developer.blender.org/D5081
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-30Selectoin: Remove armature bone filtersClément Foucault
They seems to do nothing as the filtering seems to already be done at a higher level. This fixes T65022 Tracking Markers are not selectable
2019-05-203D View: re-use select id buffer for circle select on cursor-motionCampbell Barton
The new selection code was redrawing everything for each update. Use the gestures wmGenericUserData to store the cache between executions and ensure it's freed.
2019-05-20Cleanup: rename buffer select var: bbsel to use_zbufCampbell Barton
2019-05-203D View: use new buffer selection API's for paint vert/face selectCampbell Barton
Removes EDBM_backbuf use.
2019-05-20Fix error mixing old/new buffer selection API'sCampbell Barton
Missed from 4f6e25280558c, the second pass often wont run, so the error didn't show up on basic tests.
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-18Cleanup: remove unused argumentCampbell Barton
2019-05-16Fix T54686: objects don't occlude each other for edit-mesh selectmano-wii
2019-05-09DepsGraph: Multi ViewLayer SelectionJeroen Bakker
When using multiple viewlayers and switching between them the selection gets buggy. The reason for this is that the select_id is updated based on the index in the viewlayer. This makes the select_id not unique as objects might be shared or not shared at all. This fix will update the select_id on all objects in main. This will be triggered in all the selection operators. Reviewed By: sergey, brecht Maniphest Tasks: T55617 Differential Revision: https://developer.blender.org/D4824
2019-05-02Cleanup: typos in commentsCampbell Barton
2019-04-30Refactor: Use object select API - ED_object_base_selectDalai Felinto
We had a mix of BKE_view_layer_base_select (harmless), and places where we simply set the BASE_SELECTED flag with no regard to its selectable state.
2019-04-30Select: support 'diselect on nothing' for masks.Bastien Montagne
Also moved that operator option from 3d-view op to generic WM_operator_properties_mouse_select() helper, and renamed its label (since 'Deselect' is already in use). Part of T57918.
2019-04-18Cleanup: comment blocksCampbell Barton