Commit Graph

38694 Commits

Author SHA1 Message Date
Clément Foucault
d8a860b605 Cleanup: Editors: Remove unused ED_screen_preview_render
This was introduced before workspaces were a thing.
It isn't used anymore and is easy to bring back if needed.
2023-08-03 12:52:43 +02:00
Campbell Barton
0af370a62d Cleanup: use C++ style sizeof(struct::member) instead of casting nullptr 2023-08-03 20:23:01 +10:00
Falk David
13e9f553b9 Cleanup: GPv3: Use references in editor functions
Instead of using pointers for these functions, they should be using
references (in most cases) and let the caller make sure that the
layer actually exists.
2023-08-03 11:51:59 +02:00
Amelie Fondevilla
655b2b6c2c GPv3: Delete grease pencil frames
Implementation of the delete frame operator for grease pencil channels.
Changes in the GreasePencil::remove_frame_at function so that it returns a boolean.

Pull Request: https://projects.blender.org/blender/blender/pulls/110746
2023-08-03 11:49:14 +02:00
Campbell Barton
de391cf811 Cleanup: use nullptr instead of zero 2023-08-03 19:17:43 +10:00
Campbell Barton
c6f3f19648 Cleanup: reduce variable scope when removing in a while loop 2023-08-03 19:17:43 +10:00
Hans Goudey
a049f3b5df Cleanup: Use references for mesh extraction render data and cache 2023-08-02 23:59:31 -04:00
Campbell Barton
8c8ff6b85b Cleanup: spelling in comments, use C-style comments 2023-08-03 09:44:28 +10:00
Hans Goudey
8bb8cfb54e Cleanup: Remove unnecessary struct keyword from C++ headers
Pull Request: https://projects.blender.org/blender/blender/pulls/110734
2023-08-03 01:11:28 +02:00
Hans Goudey
731d296f35 Cleanup: Move mesh related blenkernel headers to C++
See #103343

Pull Request: https://projects.blender.org/blender/blender/pulls/110730
2023-08-02 22:14:18 +02:00
Germano Cavalcante
72d7e3e684 Fix Compiler Error in Clang
```
error: type 'float' cannot be narrowed to 'int' in initializer list [-Wc++11-narrowing]
```
2023-08-02 16:26:34 -03:00
Julian Eisel
8662575f40 UI: Avoid slight text color flashing while clicking preview tiles
Text of preview-tile widgets would change color while pressing the mouse
button on them, this wasn't useful and just made the UI feel glitchy.
The widget background already indicates the state well.

Preview-tile widgets are currently only used in the asset view template.
More usages will be introduced in the asset-shelf patch (#104831).
2023-08-02 21:09:06 +02:00
Germano Cavalcante
c59ba19c0b Fix #110722: Wrong value when starting a transformation
Caused by 5ed14e9269.

That commit accidentally removed the `copy_v2_v2_int(t->mval, mval);`
line which was responsible for initializing the value of `mval`.
2023-08-02 15:51:55 -03:00
Germano Cavalcante
f1d44dd64a Transform: Refactor: Use float vector type for 'TransInfo::mval'
In most cases float access is required for this member.
2023-08-02 15:35:09 -03:00
Germano Cavalcante
e423fd469d Cleanup: Move int to float conversions outside the function
The function doesn't actually use the `int` value, so the parameter
already comes as `float`, this avoids unnecessary conversions.
2023-08-02 15:25:22 -03:00
Germano Cavalcante
897f6523ab Cleanup: Remove unnecessary parameter in 'transform_fn' callback
That `const int[2]` parameter is `t->mval` accessed in a different way
and many times it is not even used.

tmp
2023-08-02 15:04:12 -03:00
Bastien Montagne
4f673f18af Move BKE_lib_override.h header to be fully C++.
This implies using the `.hh` extension, and removing the `extern "C"`
blocks from it.

Pull Request: https://projects.blender.org/blender/blender/pulls/110718
2023-08-02 17:44:37 +02:00
Pratik Borhade
56832ed59a GPv3: Basic layer channel selection
PR adds support for the selection of grease pencil layers in
animation editor.
- selection status is stored in `GreasePencilLayerTreeNode`
- Existing `GP_LAYER_TREE_NODE_SELECT` flag is used for selection
- selection of channel updates the active layer in object properties

Part of #110056

Pull Request: https://projects.blender.org/blender/blender/pulls/110133
2023-08-02 15:17:08 +02:00
Amelie Fondevilla
fd75695bed GPv3: Insert grease pencil keyframe from the dopesheet
Adaptation of the operator `ACTION_OT_keyframe_insert` to take into account grease pencil channels.
Grease pencil keyframes can now be inserted in blank mode, or in additive mode (duplicate the current frame in the new keyframe).

Two API functions were added :
 * `add_duplicate_drawings` which copies the data of a drawing to creates a duplicate, and
 * `insert_duplicate_frame` which creates a duplicate frame of an existing one either by copy or instance.

The additive mode option is also added to the UI.

The Layer method `frame_key_at` previously private was set to public.

Pull Request: https://projects.blender.org/blender/blender/pulls/110649
2023-08-02 14:56:18 +02:00
Campbell Barton
7cc3ef3260 Cleanup: use C++ includes, various non-functional changes for C++ 2023-08-02 20:30:02 +10:00
Guillermo
5d0c355b5f Cleanup: Unsafe mix of type warning
Unsafe mix warning of type `bool != int`.

Pull Request: https://projects.blender.org/blender/blender/pulls/110695
2023-08-02 10:03:47 +02:00
Hans Goudey
c3685fe068 Cleanup: Sculpt: Use consistent operator function names
Make function names consistent with operator idname
2023-08-01 21:38:21 -04:00
Hans Goudey
e4e23bdd73 Cleanup: Sculpt: Remove unnecessary visibility flushing
Face set code modifies visibility of faces, then flushes those changes
to vertex and edge visibility. However, then it did an extra flush back
from vertices to faces and edges, which shouldn't be necessary.
2023-08-01 21:25:38 -04:00
Hans Goudey
12258d4931 Cleanup: Sculpt: Remove unused function to set vert visibility
Unused after ef5f307031. More recently, visibility
is just set at the face level and synced to vertices with generic
Mesh API functions.
2023-08-01 21:20:25 -04:00
Hans Goudey
7114d2efa6 Cleanup: Sculpt: Use utility functions for setting face visibility 2023-08-01 21:15:29 -04:00
Julian Eisel
9048bf6ffd Cleanup: Use enumerator instead of magic number in outliner function
This enum type was introduced a while ago. Better to use it as it
instead of a fixed value with unclear meaning.
2023-08-01 19:04:15 +02:00
Julian Eisel
49adf49bae Fix outliner library override data storage (undefined behavior)
The Library Overrides view of the Outliner was casting a
`TreeElementOverridesData` pointer to an `ID` pointer, which would be
undefined behavior. Make sure it uses the actual ID referenced by the
`TreeElementOverridesData`.
2023-08-01 19:03:36 +02:00
Ray Molenkamp
b4e4030bd6 Cleanup: Format 2023-08-01 08:46:26 -06:00
Julian Eisel
ebfa6b9f04 Cleanup: Add asserts for Outliner tree element creation
Such asserts are used for other tree element types already, and should
be used in these cases as well. Helps avoiding potential errors.
2023-08-01 16:20:07 +02:00
Campbell Barton
d260e7f1ce Build: attempt to resolve a linking error on WIN32 2023-08-01 22:56:03 +10:00
Hans Goudey
65591b2c8c Refactor: Retrieve node operator asset with property
In order to more reliably pass the asset to the operator, use a string
property with the full asset path instead of using a context pointer.
This is required to support the quick favorites menu, shortcuts, and
to draw operator inputs in the redo panel. In all of those situations
the original context isn't available. This also feels safer, since we
rely less on storing pointers to data with a less-defined lifetime.

Pull Request: https://projects.blender.org/blender/blender/pulls/110018
2023-08-01 14:54:58 +02:00
Sergey Sharybin
63e2832057 Color management: Remove old name-based exceptions
Historically, the OCIO based color management implementation in Blender
had exceptions to treat specific configurations differently. It was a
compatibility with the legacy "No color management" option.

With time and more development in the area there are better ways of
achieving this goal, if needed.

This commit removes the named-based exception, which also solves confusion
about why certain similar configurations (from OCIO stand point) give
different results. As well as allows to create a cleaner plate for an
upcoming additions in the OCIO configuration such as AgX.

Quite simple and technical change which constant-folds the check for
whether the scene color management enabled or not with "true" value.

Ref #110685

Pull Request: https://projects.blender.org/blender/blender/pulls/110580
2023-08-01 14:39:29 +02:00
Jacques Lucke
cd74ba6413 Fix #109460: vertex weight slider not working correctly
#109460 was caused by the introduction of implicit sharing for custom
data layers (7eee378eccc8f87e17). Due to implicit sharing, the vertex
weight layer is now shared between the original and evaluated object in
object/weight paint mode, but not in edit mode because of bmesh. For
that reason, the original data has to be copied to be able to edit it, which
causes its pointer to change. `uiDefButF` can't deal with the situation when
the pointer changes on every redraw.

The solution is to just use an intermediate variable that is passed to the
`uiBut` and to update the vertex weight only when the intermediate value has
changed.

Pull Request: https://projects.blender.org/blender/blender/pulls/109665
2023-08-01 13:24:24 +02:00
Campbell Barton
b9d785d0a8 Cleanup: replace NULL with nullptr in freestyle, makesrna & other files 2023-08-01 21:15:52 +10:00
Jacques Lucke
c774cc0cc0 Fix #110041: gizmo stuck in place when playing back animation
The new notifier triggers `WM_gizmomap_tag_refresh` in
`view3d_main_region_listener` which makes sure that gizmos
are updated when playback ends.
2023-08-01 12:53:12 +02:00
Julian Eisel
f671cf0786 Cleanup: Remove unnecessary struct keywords in internal Outliner header
This header is compiled in C++ now which allows us to remove the
`struct` keyword in many places, reducing visual noise.
2023-08-01 12:34:08 +02:00
Julian Eisel
3d6aed39b9 Cleanup: C++ cleanup for File Browser headers recently converted to C++
C++ Conversion Background: #103343

Generally these changes reduce visual noise in header files.
2023-08-01 12:29:39 +02:00
Julian Eisel
7bbf2f6754 Cleanup: Compile internal File/Asset Browser headers in C++
C++ Conversion Background: #103343
2023-08-01 12:21:56 +02:00
Julian Eisel
26b9ad8f0d Cleanup: Use const in previously added Outliner code 2023-08-01 12:12:33 +02:00
Julian Eisel
96c167e545 Outliner: Add context member for active data-block
The active data-block can now be queried via an `"id"` context member,
just like UI buttons representing a data-block and the Asset Browser do
it already. This is useful for scripts that need this information to
implement own operators. Requested by the Blender Studio for their
pipeline tooling.
2023-08-01 12:10:40 +02:00
Julian Eisel
159c82903c Cleanup: Correct copyright year in asset catalog UI file
Contents of this file were developed in 2021, not 2007.
2023-08-01 11:58:01 +02:00
Julian Eisel
9d1b89c513 Cleanup: Move file context callback to own file
We often separate this callback out to a separate file, it's a coherent
unit that can live on its own. Good to keep files focused and rather
small.
2023-08-01 11:56:22 +02:00
Campbell Barton
c319d0977f RNA: use const array arguments, order array length afterwards
Use const arguments for array input arguments as there
is no reason for them to be modified.

Using non-const arguments meant some functions
(uiTemplateNodeSocket for e.g.) couldn't use 'const' qualifier so the
generated type signature would match.

Also use suffix "_num" instead of "_len" for array lengths, ordering
these arguments after the array (in keeping with Blender's conventions).
2023-08-01 18:46:31 +10:00
Campbell Barton
c0f87d04c7 Cleanup: use const array arguments 2023-08-01 15:46:26 +10:00
Richard Antalik
76817e5951 Fix #110205: Separate images not working correctly.
Strip was removed from `seqbase` prior to calling
`SEQ_edit_remove_flagged_sequences()` which resulted in strip not being
actually removed, and it could be seen in timeline while being active.
2023-07-31 21:16:29 +02:00
Damien Picard
00aca1cfb3 I18n: translate curve template color tabs
The curve UI template can display several curves, typically Combined,
Red, Green, and Blue. Each is displayed by clicking a shortened button
C, R, G, B. The equivalent exists for Hue, Saturation, Value.

These single-lettered buttons can be translated using the already
extracted color letters.

R, G, B, H, S, and V all use the default translation context to refer
to the color already, so they do not need an extra context. C however
is already used for the letter in the context of vector
comparisons (as in A, B, C), so we add a Color context to disambiguate
it.

Pull Request: https://projects.blender.org/blender/blender/pulls/110491
2023-07-31 16:44:11 +02:00
Germano Cavalcante
7897979477 Fix compilation error introduced in last commit
Commit aa1f1167ec was incomplete and introduced unrelated changes.
2023-07-31 11:38:51 -03:00
Germano Cavalcante
c6fb80cb9b Transform: use transform Pivot for AutoDepth during navigation
To avoid the small jumps during the Pan operation, a feature was
implemented in the `ED_view3d_navigation_do` utility that replaces the
point used for AutoDepth.

As a result, the depth of the pivot point is now used during the
transform.

Also, to ensure minimal disruption to non-AutoDepth users, this feature
is enabled only when "Auto Depth" is enabled.

Pull Request: https://projects.blender.org/blender/blender/pulls/109451
2023-07-31 16:06:37 +02:00
Germano Cavalcante
5ed14e9269 Transform: use screen mouse offset position for navigation
In the 3D View, after navigating, the initial cursor position was
updated based on the relative position of the cursor in 3D space.

Now the initial relative position is maintained but moved closer to or
further from the 2d center based on zoom.
2023-07-31 11:03:45 -03:00
Caleb-Cleavinger
20091a2b9e Fix #110096: Crash Crash on calling curve pen operator
Changed poll function to `ED_operator_editcurve` to prevent
crashing when accessed from the developer menu in modes other
than edit mode.

Pull Request: https://projects.blender.org/blender/blender/pulls/110619
2023-07-31 14:06:18 +02:00