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
2022-09-14Implemented XPBD with distance and volume constraints. Self collisions ↵soc-2022-soft-bodiesAarnav Dhanuka
implemented is not working. Point cache and UI have been attatched.
2022-06-10Cleanup: Clang tidyHans Goudey
2022-06-09UI: Sculpt Curves Slide iconDalai Felinto
2022-06-09Fix: Crash in selection paint brush with empty curvesHans Goudey
2022-06-09Cleanup: use const variables & argumentsCampbell Barton
2022-06-09Fix T98686: Cant rename local NLA tracks within a local library override ↵Bastien Montagne
data-block. We need a specific exception to general rule 'no rename of anim channels in liboverride data' for the locally-inserted NLA tracks.
2022-06-09Cleanup: return true/false instead of 0/1 when returnin boolean.Bastien Montagne
2022-06-09UI: Tooltip Edit - Copy to selected buttonAaron Carlisle
This commit changes the tool tip for the "Copy To Selected Button" operator. The exiting tool tip for this operator suggests that it will "copy property to selected objects or bones". However, it will only copies the property value to the selected objects or bones if the property already exists on the selected items. It does not copy the property. Differential Revision: https://developer.blender.org/D14528
2022-06-09Fix T98688: Snapping not working in curve objects with evaluated geometryGermano Cavalcante
It's an old behavior. Not really considered a bug. But snapping to faces is already supported in this case. And allowing snapping to other elements is not disruptive.
2022-06-09Cleanup: spelling in comments & variablesCampbell Barton
2022-06-09Cleanup: warningsCampbell Barton
2022-06-09Cleanup: formatCampbell Barton
2022-06-09Fix assert triggered when snapping to evaluated geometry of a CurveGermano Cavalcante
Curves can have a Mesh evaluated, but only objects of type Mesh have EditMesh. This bug is harmless because `sctx->editmesh_caches.remove(value)` only works with pointers and `BKE_editmesh_from_object(ob_eval)`, even though it doesn't actually return a `BMEditMesh`, it still returns a pointer that doesn't exist as a key.
2022-06-09Fix armatures not visible in VRPeter Kim
Now that VR offscreen drawing accounts for object type visibility, armatures should be displayed when specified.
2022-06-08Paint: Fix Image Editor Cursor Disappearing (T90120)Joseph Eagar
This patch fixes T90120. The fundamental problem is that 2d and the old 3d paint modes share a single Paint struct, ToolSettings->imapaint. This patch is a temporary fix until the new 3d paint mode (which has its own Paint struct) is released. The patch works by listening for `NC_SCENE|ND_MODE` inside `image_listener` in `space_image.c`. It does not use `ED_space_image_paint_update` since that requires a `bMain.` Instead it calls `paint_cursor_start` (which is promoted to `ED_paint_cursor_start`). `image_paint_poll` is also promoted to an `ED_` function. Reviewed By: Campbell Barton Differential Revision: https://developer.blender.org/D14946 Ref D14946
2022-06-08D14823: Adds operator to duplicate the active color attribute layerDennis Ranish
Fixes T97706 Adds operator to duplicate the active color attribute layer. Adds `"Color Attribute Specials"` menu to color attribute ui to access the `"geometry.color_attribute_duplicate"` operator. Internally adds a function that duplicates a referenced CustomDataLayer - `BKE_id_attribute_duplicate` mostly copies the existing `BKE_id_attribute_new` - but gets the type and domain from the referenced layer - and copies the data from the old layer into the new layer Reviewed By: Joseph Eagar & Hans Goudey & Julien Kaspar Differential Revision: https://developer.blender.org/D14823 Ref D14823
2022-06-08D15085: Fix numbers jumping in edit voxel size widgetRamil Roosileht
Introduces an option for BKE_unit_value_as_string to skip stripping of zeroes, thus reducing flickering when using edit voxel size widget. {F13125416} Reviewed By: Julien Kaspar & Joseph Eagar Differential Revision: https://developer.blender.org/D15085 Ref D15085
2022-06-08Fix T98624: Curve Pen NURBS extrusion creates duplicatesDilith Jayakody
The initial point count check was only being done for Bezier curves. This revision fixes T98624 by adding the check for NURBS curves as well. Reviewed By: HooglyBoogly Maniphest Tasks: T98624 Differential Revision: https://developer.blender.org/D15140
2022-06-08Cleanup: Move sculpt_automasking.c to c++Joseph Eagar
2022-06-08Fix T98565: remove unused BRUSH_PAINT icon definitionPhilipp Oeser
This could spam the console with errors (potentionally slowing down in cases). Was added in rBeae36be372a6, but not used. Maniphest Tasks: T98565 Differential Revision: https://developer.blender.org/D15113
2022-06-08Cleanup: Use const variables/pointersHans Goudey
2022-06-08Attributes: Use names instead of layers for some functionsHans Goudey
This mirrors the C++ attribute API better, separates the implementation of attributes from CustomData slightly, and makes functions simpler, clearer, and safer. Also fix an issue with removing an attribute caused by 97712b018df71c meant the first attribute with the given type was removed instead of the attribute with the given name.
2022-06-08Fix: Improve poll for convert attribute operatorHans Goudey
Converting an attribute does not work from edit mode because there is no attribute API implemented for BMesh, so disable the operation in that mode and add a poll message.
2022-06-08CMake: optionally disable OBJ, STL & GPencil SVG supportCampbell Barton
The following CMake options have been added (enabled by default), except for the lite build configuration. - WITH_IO_STL - WITH_IO_WAVEFRONT_OBJ - WITH_IO_GPENCIL (for grease pencil SVG importing). Note that it was already possible to disable grease pencil export by disabling WITH_PUGIXML & WITH_HARU. This is intended to keep the lite builds fast and small for building, linking & execution. Reviewed By: iyadahmed2001, aras_p, antoniov, mont29 Ref D15141
2022-06-07UI: Curves Sculpt density + smooth brushesDalai Felinto
More information in the svn log. But basically the smooth brush is re-using the previous one we had for hair, and the density is representing the hair root points that are removed to reach the desired density. Those brushes are used by D15134.
2022-06-07IME Cleanup: Removal of BLT_lang_is_ime_supportedHarley Acheson
Removal of BLT_lang_is_ime_supported which is always returns true and is no longer needed. See D11800 for more details. Differential Revision: https://developer.blender.org/D11800 Reviewed by Campbell Barton
2022-06-07Cleanup: Use const pointers in attribute APIHans Goudey
2022-06-07Marker drawing: don't restore GPU line widthSybren A. Stüvel
Adhere to the documented use of `GPU_line_width()` and don't restore the previously set line width.
2022-06-07Curves: fix transforms in Add brushJacques Lucke
Symmetry should be applied in the space of the curves object, not in the space of the surface object.
2022-06-07Cleanup: remove dead codeJacques Lucke
2022-06-07Fix drawing increments after running Spin gizmoGermano Cavalcante
Caused by {ea182deeb9cdd2a9137e98eb0072f57c0fb1e09f}.
2022-06-07Cleanup: potential dereferencing of a NULL pointerGermano Cavalcante
If `cancel` is `false`, `NULL` `inter` pointer dereferencing could occur. Currently I haven't found a case where this can happen. But it's best to avoid.
2022-06-07Cleanup: spelling in comments, minor formatting tweaksCampbell Barton
2022-06-07Cleanup: note that checking only the left modifiers isn't a mistakeCampbell Barton
2022-06-07Keymap: use both left/right modifier keysCampbell Barton
Use both left/right modifier keys for: - Fly Mode. - Walk Mode. - Area Split. - Sculpt Detail Map. - Sculpt Expand. - Standard Modal Map Resolves T98638.
2022-06-07VSE preview transform autokeying improvementsPhilipp Oeser
NOTE: this patch originated in T98015 which was split into multiple reports. While it could be split into multiple patches these are very much related so keeping as one for now This patch fixes the following issues: [1] autokeying transforms in preview only creates keyframes if there is an FCurve already [2] autokeying transforms in preview only creates keyframes for rotation/scale if rotating/scaling around cursor (should keyframe position as well) [3] autokeying transforms in preview does not work during animation playback For [1], a param was added to `ED_autokeyframe_property` which can tweak its default behavior of only creating keyframes on already keyed properties (which was fine because this is mostly called from buttons where this behavior is desired). Callers such as gizmos (or the VSE in our case) can use this additional param so that keyframes are also created on "not-yet-keyframed" properties. For [2], the pivot is checked and position properties also keyed if necessary (which is also consistent with the way objects are keyed in the 3DView) For [3], `animrecord_check_state` was changed to be able to work on scenes as well and the transform system in the VSE preview was made aware of the screen's `animtimer`. NOTE: there are still things to be improved for keyframing in the VSE, the most obvious is probably a `keyframe_insert` operator (with keyingsets) Fixes T98429, T98430, T98431 Maniphest Tasks: T98015, T98431, T98430, T98429 Differential Revision: https://developer.blender.org/D15047
2022-06-07Cleanup: spelling in comments, additional white spaceCampbell Barton
2022-06-07Cleanup: use doxy sections for mask add operators & functionsCampbell Barton
2022-06-07Cleanup: formatCampbell Barton
2022-06-07Remove workaround for drawing the rotation gizmoGermano Cavalcante
Since [0], transform gizmos are no longer hidden during transform. The same can be observed for rotation gizmos. However, as a workaround for these rotation gizmos, there was already a drawing utility running. With the gizmo and the utility this drawing is now being done twice. So remove the utility/workaround and update the gizmo accordingly. [0] {648350e456490f8d6258e7de9bf94d3a6a34dbb2} Differential Revision: https://developer.blender.org/D9542
2022-06-06STL: Add new C++ based STL importerIyad Ahmed
A new experimentatl STL importer, written in C++. Roughly 7-9x faster than the Python based one. Reviewed By: Aras Pranckevicius, Hans Goudey. Differential Revision: https://developer.blender.org/D14941
2022-06-06Refactor: Snap-related. Clarified attribute names and refactored #defines ↵jon denning
into enums The transformation snapping code contains a bunch of `#define`s, some ambiguously or incorrectly named attributes. This patch contains refactored code to improve this. This patch does (should) not change functionality of snapping. Clarified ambiguously / incorrectly named attributes. - "Target" is used to refer to the part of the source that is to be snapped (Active, Median, Center, Closest), but several other areas of Blender use the term "target" to refer to the thing being snapped to and "source" to refer to the thing getting snapped. Moreover, the implications of the previous terms do not match the descriptions. For example: `SCE_SNAP_TARGET_CENTER` does not snap the grabbed geometry to the center of the target, but instead "Snap transforamtion center onto target". - "Select" refers to the condition for an object to be a possible target for snapping. - `SCE_SNAP_MODE_FACE` is renamed to `SCE_SNAP_MODE_FACE_RAYCAST` to better describe its affect and to make way for other face snapping methods (ex: nearest). Refactored related `#define` into `enum`s. In particular, constants relating to... - `ToolSettings.snap_flag` are now in `enum eSnapFlag` - `ToolSettings.snap_mode` are now in `enum eSnapMode` - `ToolSettings.snap_source` (was `snap_target`) are now in `enum eSnapSourceSelect` - `ToolSettings.snap_flag` (`SCE_SNAP_NO_SELF`) and `TransSnap.target_select` are now in `enum eSnapTargetSelect` As the terms became more consistent and the constants were packed together into meaningful enumerations, some of the attribute names seemed ambiguous. For example, it is unclear whether `SnapObjectParams.snap_select` referred to the target or the source. This patch also adds a small amount of clarity. This patch also swaps out generic types (ex: `char`, `short`, `ushort`) and unclear hard coded numbers (ex: `0`) used with snap-related enumerations with the actual `enum`s and values. Note: I did leave myself some comments to follow-up with further refactoring. Specifically, using "target" and "source" consistently will mean the Python API will need to change (ex: `ToolSettings.snap_target` is not `ToolSettings.snap_source`). If the API is going to change, it would be good to make sure that the used terms are descriptive enough. For example, `bpy.ops.transform.translate` uses a `snap` argument to determine if snapping should be enabled while transforming. Perhaps `use_snap` might be an improvement that's more consistent with other conventions. This patch is (mostly) a subset of D14591, as suggested by @mano-wii. Task T69342 proposes to separate the `Absolute Grid Snap` option out from `Increment` snapping method into its own method. Also, there might be reason to create additional snapping methods or options. (Indeed, D14591 heads in this direction). This patch can work along with these suggestions, as this patch is trying to clarify the snapping code and to prompt more work in this area. Reviewed By: mano-wii Differential Revision: https://developer.blender.org/D15037
2022-06-06UI: offset scale gizmos instead of scaling their shapeCampbell Barton
Scaling handles while dragging could be distracting, especially at extreme values where handles could become large on-screen. Now all gizmos are shown while scaling. GIZMO_GT_arrow_3d now now support changing their length while being dragged as well as negative lengths.
2022-06-05Cleanup: Remove unused BKE_spline.hh includesHans Goudey
2022-06-05Fix: incorrect operator warningJacques Lucke
2022-06-05UI: align gizmo scale handles to both Y and Z axesCampbell Barton
This resolves a minor inconsistency displaying the scale gizmo handles since they're cubes it's noticeable when they're not axes aligned.
2022-06-05UI: show gizmo while transformingCampbell Barton
When interacting with translate/rotate/scale gizmo, show the gizmo while it's in use. There are some exceptions to this, as showing all scale gizmos while scaling causes the gizmos to become large & distracting so in this case only the gizmo being dragged is shown. Resolves T63743.
2022-06-05Cleanup: assign operator type flags in their initializationCampbell Barton
Some operators OR'ed the existing flags in a way that made it seem the value might already have some values set. Replace this with assignment as no flags are set and the convention with almost all operators is to write the value directly.
2022-06-05Curves: use uv coordinates to attach curves to meshJacques Lucke
This implements the new way to attach curves to a mesh surface using a uv map (based on the recent discussion in T95776). The curves data block now not only stores a reference to the surface object but also a name of a uv map on that object. Having a uv map is optional for most operations, but it will be required later for animation (when the curves are supposed to be deformed based on deformation of the surface). The "Empty Hair" operator in the Add menu sets the uv map name automatically if possible. It's possible to start working without a uv map and to attach the curves to a uv map later on. It's also possible to reattach the curves to a new uv map using the "Curves > Snap to Nearest Surface" operator in curves sculpt mode. Note, the implementation to do the reverse lookup from uv to a position on the surface is trivial and inefficient now. A more efficient data structure will be implemented separately soon. Differential Revision: https://developer.blender.org/D15125
2022-06-05Fix compiling debug buildJacques Lucke