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
2021-04-14Geometry Nodes: Add domain and data type to attribute searchHans Goudey
This patch adds domain and data type information to each row of the attribute search menu. The data type is displayed on the right, just like how the list is exposed for the existing point cloud and hair attribute panels. The domain is exposed on the left like the menu hierarchy from menu search. For the implementation, the attribute hint information is stored as a set instead of a multi-value map so that every item (which we need to point to descretely in the search process) contains the necessary data type and domain information by itself. We also need to allocate a new struct for every button, which requires a change to allow passing a newly allocated argument to search buttons. Note that the search does't yet handle the case where there are two attributes with the same name but different domains or data types in the input geometry set. That will be handled as a separate improvement. Differential Revision: https://developer.blender.org/D10623
2021-03-17Geometry Nodes: store domain and data type in attribute hintsJacques Lucke
The information is not exposed in the attribute search yet.
2021-03-05Fix crash with pinned geometry node tree with no active objectHans Goudey
The check for a null active object was after trying to retrieve the active modifier from the object.
2021-03-02Fix Node UI Storage Threading IssuesHans Goudey
Since the same node tree can be used in modifiers on different objects, there can be multiple threads writing to the maps in the node tree UI storage at the same time. The additions for attribute name hints and error messages made it so this would often cause a crash or at least an ASAN report. This patch adds locks to prevent multiple threads from using the maps concurrently. In a brief test I actually didn't observe a crash without the global `bNodeTree` UI storage mutex, but I think it's necessary for the change to be correct, and I did notice some unfreed memory without it anyway. Ideally it would be in a node tree runtime struct though. Differential Revision: https://developer.blender.org/D10577
2021-03-02Fix build error after last commitHans Goudey
2021-03-02Cleanup: Rename node UI storage functionHans Goudey
"ensure" makes more sense in this case because the function actually adds an item to the map if one doesn't exist yet.
2021-02-24Geometry Nodes: store available attribute names in node ui storageJacques Lucke
This information will be used by the attribute search in string sockets. Ref T85657. Differential Revision: https://developer.blender.org/D10462
2021-02-24Geometry Nodes: Move node UI storage function to BKEHans Goudey
This function will be used in another file with attribute search, so it makes sense to share from the UI storage header.
2021-02-19Cleanup: extract function to get node ui storageJacques Lucke
This function will be used by multiple functions.
2021-02-19Nodes: ensure ui storage implicitelyJacques Lucke
This makes it easier to use the api.
2021-02-17Geometry Nodes: Node error messagesHans Goudey
This patch adds icons to the right side of nodes when they encounter a a problem. When hovered, a tooltip displays describing the encountered while evaluating the node. Some examples are: attribute doesn't exist, mesh has no faces, incorrect attribute type, etc. Exposing more messages to the system will be an ongoing process. Multiple warnings per node are supported. The system is implemented somewhat generically so that the basic structure can also be used to store more information from evaluation for the interface, like a list of available attributes. Currently the messages are just button tooltips. They could be styled differently in the future. Another limitation is that every instance of a node group in a parent node tree will have the same error messages, the "evaluation context" used to decide when to display the tooltips must be extended to support node tree paths. Differential Revision: https://developer.blender.org/D10290