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-08-02Edit Mesh Select: Remove redundant and deprecated `FAKE_SELECT_MODE_...`mano-wii
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-31Spelling fixes in comments and descriptions, patch by luzpazBrecht Van Lommel
Differential Revision: https://developer.blender.org/D3744
2019-07-30Fix T67370 Normal Tools(Alt +N), copy and paste not workSebastian Parborg
The copy operator requried at least a vert AND a face to be selected. It should only require that a vert OR a face is selected.
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-28Cleanup: remove unused ID-map undo APICampbell Barton
Removing this since it was added for TexFace support which has since been removed.
2019-07-24Fix T66768: Grid fill span not workingCampbell Barton
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-07-14Cleanup: Do not use camel case for "Freestyle"Aaron Carlisle
2019-07-11Undo System: add is_final argument (no functional changes)Campbell Barton
This is needed step out of undo steps which accumulate changes, larger changes could be made to handle this but better not make them at this point.
2019-07-03Fix T66332: Move gizmo stays in place when vertex is deletedPhilipp Oeser
Reviewers: brecht Maniphest Tasks: T66332 Differential Revision: https://developer.blender.org/D5177
2019-06-30Fix T66204, bevel numeric input respect scene units.Howard Trickey
2019-06-29Fix T65929: multi-object editing for new normals tools.Howard Trickey
Leaving the modal point-at as a TODO for now. All the rest of the new split normal tools converted to operate on all selected objects.
2019-06-24Fix T66030: [CRASH] Modifying Normals with Skin Modifier.Bastien Montagne
clnor editing code was simply not checking at all whether it has something to work on... Guess nobody had idea to edit custom normals on a mesh that has no normals before! :P This should probably be handled in a poll function too, to completely disable those tools when there are no faces/loops, but let's keep it to minimal changes at that point.
2019-06-24Fix T65824: Span property ignored in mesh.fill_gridCampbell Barton
The fix for T60777 caused this operator not to work from Python. Add a repeat_last flag for operator execution.
2019-06-24UI: Rename "Dupli" to "Duplicate" in Spin ToolAaron Carlisle
2019-06-17Cleanup: comment spellingCampbell Barton
2019-06-16Fix T65809: Blender crash while using the Normal's "merge" option in edit mode.Bastien Montagne
Merge code will generate temp normal editing data for affected loops, but since it will later (by setting some edges/faces to smooth) alter and extend affected clnor spaces, it will also need temp normal editing data for some other loops around those vertices... Using those clnor editing data in that code is a bit of an abuse, but on the other hand that struct stores exactly what we need. So simply added an option to generate that editing data for all clnors of affected vertices.
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-06-11Fix/Cleanup: I18N: Bad usage of IFACE_ instead of TIP_.Bastien Montagne
Cheap tip: anything that is not "Camel Case" and/or that is more than a few words long should use `TIP_` translation, not `IFACE_` one. Also added several missing strings (including the one reported in D5056 by Jean First (@robbott), thanks).
2019-06-01Fix T65330: Blender crash when double click on faceDalai Felinto
The fix itself is by Germano Cavalcante (mano-wii). But since I was investigating this with him, I'm including here an assert in EDBM_select_id_bm_elem_get to help catching this sooner in the future
2019-05-31Cleanup: style, use braces in source/ (include disabled blocks)Campbell Barton
2019-05-28WM: support X/Y axis cursor wrappingCampbell Barton
Operator flags to wrap on a single axis. D4865 by @Gvgeo with updates. Resolves T64585
2019-05-28Fix show face-dot checkCampbell Barton
Match edit-mesh drawing.
2019-05-27Cleanup: Fix warning in bf_editor_meshRay Molenkamp
Declaration and implementation of EDBM_select_id_context_create got out of sync leading to warning with msvc.
2019-05-27Gizmo: add event argument to invoke_prepare callbackCampbell Barton
2019-05-23Fix T65002: after hiding edit mode object, clicking in wireframe mode crashesGeorge Vogiatzis
Differential Revision: https://developer.blender.org/D4926
2019-05-22GPU: Refactor GPU_batch_draw_range_exClément Foucault
Rename it to GPU_batch_draw_advanced and use base instance when possible. Also add GPU_batch_bind to bind the vao independantly of drawing commands.
2019-05-21Fix T64738: pick short path seam not doing live unwrapBrecht Van Lommel
2019-05-21UI: move edge-tag option from the scene into the operatorCampbell Barton
This was a very specific option to display in global tool settings. Now this is exposed in the operator when edge-select mode is enabled.
2019-05-21Fix memory leak in Normals from Faces operatorCampbell Barton
2019-05-20Normal UI: for all ops needing autosmooth on, enable it if needed.Howard Trickey
Now Normal menu operations and rotate normals (r n) do not need manual enabling of autosmooth first. See T64324 for discussion of Normal UI changes.
2019-05-20WM: add wmGenericUserData utility structCampbell Barton
Useful to have a generic user data with an optional custom free function, use for wmGesture.
2019-05-20Cleanup: move selection utilities into ED_select_buffer_utilsCampbell Barton
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-19Edit Mesh Select: Fix/update to new logic.mano-wii
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-17Fix T64759: Pick select selects an incorrect face in edit mode.mano-wii
Bug introduced in T64759.
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 edit-mesh face-dot drawing checkCampbell Barton
Since 8a6414ed46f66 the old logic no longer applies.
2019-05-16Fix T64687: Loop select work only with edgesCampbell Barton
Regression in recent commit 8a6414ed46f66
2019-05-16RNA: add 3D cursor matrix attributeCampbell Barton
Avoids having to check rotation modes to get the orientation.
2019-05-16Fix unreported: Presselection cycle not working in multiple meshes editing.mano-wii
2019-05-16ClangFormat: remove FAKE_SELECT_MODE_BEGIN from ForEachMacrosCampbell Barton
This isn't used for looping.
2019-05-16Fix T54686: objects don't occlude each other for edit-mesh selectmano-wii
2019-05-13Fix T64041: Vertex Sharp not working.Bastien Montagne
Broken in rB0ac3d5f7db67 last year...
2019-05-08Fix T64283: Gizmo doesn't update after click-extrudeCampbell Barton
2019-05-08Cleanup: unused var, doxy syntax for math_matrix.cCampbell Barton