Current poll functions allows to use these operator only in edit mode.
Correct function would be `active_grease_pencil_poll` (check for active grease
pencil object instead of the context mode)
Pull Request: https://projects.blender.org/blender/blender/pulls/109238
The reference count computation for shader operation outputs is wrong,
because it considers internal links as references to the result, which
is not the case.
This patch fixes that by only consider external links.
Adds a new UI template to view the current layer tree of the active Grease Pencil object.
This UI tree view implements the following features (for now):
- Displaying all the layers with their names and highlighting the active layer.
- Changing the active layer by clicking on an item.
- Adding new layers (using a new operator).
- Removing the active layer (using a new operator).
- Renaming a layer.
Pull Request: https://projects.blender.org/blender/blender/pulls/109197
This commit converts existing callbacks into virtual methods and moves
their associated members from the base class to custom implementations
in subclasses.
These callbacks, (previously used within the main struct), have been
replaced by pure virtual methods in the `Nearest2dUserData` class.
As a result, specific subclasses can now provide their own customized
implementations for these methods.
- Ensure a trailing slash in BKE_blendfile_userdef_from_defaults
instead of in-line platform specific checks.
- Take a buffer size argument for the directory.
- Use the documented size for SHGetSpecialFolderPathW wchar_t argument.
- Remove use of unsafe `wcscat` on WIN32
- By default on Linux the directory would be "/usr/share/" with
"fonts" as the filename, now fonts is always treated as a directory.
- Correct the path for linked library fonts using a relative path.
This is a history workaround not needed for modern shells
(fixed with bourne shell SRV3, 1986).
This isn't used in other wrappers (snap package) for e.g.
In order to better identify which is the normal of the point
(see #108711), it is interesting to identify which is the closest bone.
So, instead of testing the snap at each point and then each bone line,
test the bone lines first and after identifying the closest one, test
its points.
With the nearest bone identified, we can use its normal instead.
Added selection support to the Follow Active Quads operator.
Simplified code and added comments.
Also added new error codes:
* STATUS_ERR_MISSING_UV_LAYER
* STATUS_ERR_NO_FACES_SELECTED
Pull Request: https://projects.blender.org/blender/blender/pulls/109095
`sctx` can be accessed internally.
And `clip_planes_enable` makes it clearer what this method does.
Also note that this function had been accidentally removed for Cameras.
This wasn't covered by my other tests because in usually the geometry output
that anonymous attributes are propagated to is the first output, thus the index
was 0. In this case it didn't make it difference whether the `.index_range()` call
was there are not.
Python versions before 3.10 did not have the
`platform.freedesktop_os_release` utils, use the trick based on looking
for distro-specific version files instead as fall-back (same as what was
done in the previous `install_deps.sh` bash script).
This reverts commit ef9d9c6856. Actually probably better to leave
this in, since it may be used by normal computation even if seemed to
work ok in tests.
The root of the bug was wrong edges, but it wasn't necessary to compute
corner edges at all and this was unnecessarily added in 16fbadde36.
Ref #109161
The old subsurf DerivedMesh code creates an edge layer
without initializing it, which makes the proper lazy initialization
of the edge layer later think that it's already finished. To avoid that,
remove the edges when creating the DerivedMesh at first.
Similar to 85bd64ece4
This was due to a wrong mapping of tools in the toolbar.
The fix makes sure that the correct selection tools are used for the
old grease pencil objects.
In order to accomplish this properly, the new grease pencil objects
use their own edit mode context.
This way the two objects are cleanly seperated.
The node title was translated in two steps: first using the
BLT_I18NCONTEXT_ID_NODETREE context, and if that failed, using the
default context.
As far as I could find, the only node using this intentionally is the
Frame node, but its title is only displayed in the Add Menu.
However, at least one node has a bad translation because its name was
extracted independently with the NodeTree context: the compositing
Scale node uses a translation which is only appropriate in a vector
math context.
This commit removes the double translation step. If needed by
translators, a translation context in the node RNA could be introduced
at a later time.
Pull Request: https://projects.blender.org/blender/blender/pulls/108241